-
- {!isSuperAdmin && logoUrl ? (
-

{
- e.currentTarget.style.display = 'none';
- const fallback = e.currentTarget.nextElementSibling as HTMLElement;
- if (fallback) fallback.style.display = 'flex';
+
- {/* Platform Menu */}
- {platformMenu.length > 0 && (
-
- )}
+ {/* Platform Menu */}
+ {platformMenu.length > 0 && (
+
+ )}
- {/* System Menu */}
- {systemMenu.length > 0 && (
-
- )}
+ {/* System Menu */}
+ {systemMenu.length > 0 && (
+
+ )}
- {/* Support Center */}
-
-
-
-
+ {/* Support Center */}
+
+
+
+
>
);
};
diff --git a/src/components/superadmin/NewModuleModal.tsx b/src/components/superadmin/NewModuleModal.tsx
index adecdec..d62c3e2 100644
--- a/src/components/superadmin/NewModuleModal.tsx
+++ b/src/components/superadmin/NewModuleModal.tsx
@@ -30,6 +30,7 @@ const newModuleSchema = z.object({
.min(1, 'runtime_language is required')
.max(50, 'runtime_language must be at most 50 characters'),
framework: z.string().max(50, 'framework must be at most 50 characters').optional().nullable(),
+ webhookurl: z.string().max(500, "webhookurl must be at most 500 characters").url("Invalid URL format").nullable(),
base_url: z
.string()
.min(1, 'base_url is required')
@@ -85,6 +86,7 @@ export const NewModuleModal = ({
defaultValues: {
description: null,
framework: null,
+ webhookurl: null,
endpoints: null,
kafka_topics: null,
cpu_request: null,
@@ -112,6 +114,7 @@ export const NewModuleModal = ({
version: '',
runtime_language: '',
framework: null,
+ webhookurl: null,
base_url: '',
health_endpoint: '',
endpoints: null,
@@ -155,7 +158,7 @@ export const NewModuleModal = ({
if (error?.response?.data?.details && Array.isArray(error.response.data.details)) {
const validationErrors = error.response.data.details;
validationErrors.forEach((detail: { path: string; message: string }) => {
- if (detail.path === 'name' || detail.path === 'module_id' || detail.path === 'description' || detail.path === 'version' || detail.path === 'runtime_language' || detail.path === 'framework' || detail.path === 'base_url' || detail.path === 'health_endpoint' || detail.path === 'endpoints' || detail.path === 'kafka_topics' || detail.path === 'cpu_request' || detail.path === 'cpu_limit' || detail.path === 'memory_request' || detail.path === 'memory_limit' || detail.path === 'min_replicas' || detail.path === 'max_replicas' || detail.path === 'last_health_check' || detail.path === 'health_status' || detail.path === 'consecutive_failures' || detail.path === 'registered_by' || detail.path === 'tenant_id' || detail.path === 'metadata') {
+ if (detail.path === 'name' || detail.path === 'module_id' || detail.path === 'description' || detail.path === 'version' || detail.path === 'runtime_language' || detail.path === 'framework' || detail.path === 'webhookurl' || detail.path === 'base_url' || detail.path === 'health_endpoint' || detail.path === 'endpoints' || detail.path === 'kafka_topics' || detail.path === 'cpu_request' || detail.path === 'cpu_limit' || detail.path === 'memory_request' || detail.path === 'memory_limit' || detail.path === 'min_replicas' || detail.path === 'max_replicas' || detail.path === 'last_health_check' || detail.path === 'health_status' || detail.path === 'consecutive_failures' || detail.path === 'registered_by' || detail.path === 'tenant_id' || detail.path === 'metadata') {
setError(detail.path as keyof NewModuleFormData, {
type: 'server',
message: detail.message,
@@ -352,6 +355,18 @@ export const NewModuleModal = ({
/>