You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2023/08/28 22:48:00 UTC

[camel-karavan] 07/07: Code cleanup #836

This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch feature-836
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 3f41985838738656236b7a9eafb4ff4a8564f984
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Mon Aug 28 18:47:33 2023 -0400

    Code cleanup #836
---
 karavan-designer/package-lock.json                  | 21 ++-------------------
 karavan-designer/package.json                       |  3 ---
 .../src/designer/route/useRouteDesignerHook.tsx     |  7 +------
 karavan-space/package.json                          |  3 ---
 .../src/designer/route/useRouteDesignerHook.tsx     |  7 +------
 .../karavan-app/src/main/webui/package-lock.json    | 14 --------------
 karavan-web/karavan-app/src/main/webui/package.json |  1 -
 .../src/main/webui/src/config/ConfigurationPage.tsx |  2 +-
 .../main/webui/src/containers/ContainerTableRow.tsx |  2 +-
 .../main/webui/src/containers/ContainersPage.tsx    |  2 +-
 .../src/main/webui/src/dashboard/DashboardPage.tsx  |  2 +-
 .../src/designer/route/useRouteDesignerHook.tsx     |  7 +------
 .../karavan-app/src/main/webui/src/main/Main.tsx    |  2 +-
 .../src/main/webui/src/main/MainDataPoller.tsx      |  2 +-
 .../src/main/webui/src/main/MainLogin.tsx           |  2 +-
 .../src/main/webui/src/main/Notification.tsx        |  2 +-
 .../src/main/webui/src/main/PageNavigation.tsx      |  2 +-
 .../src/main/webui/src/main/useMainHook.tsx         |  2 +-
 .../src/main/webui/src/project/DevModeToolbar.tsx   |  2 +-
 .../main/webui/src/project/ProjectDataPoller.tsx    |  2 +-
 .../src/main/webui/src/project/ProjectPage.tsx      |  2 +-
 .../src/main/webui/src/project/ProjectPanel.tsx     |  2 +-
 .../src/main/webui/src/project/ProjectTitle.tsx     |  2 +-
 .../src/main/webui/src/project/ProjectToolbar.tsx   |  2 +-
 .../webui/src/project/dashboard/DashboardTab.tsx    |  2 +-
 .../webui/src/project/dashboard/InfoContainer.tsx   |  2 +-
 .../webui/src/project/dashboard/InfoContext.tsx     |  2 +-
 .../main/webui/src/project/dashboard/InfoMemory.tsx |  2 +-
 .../src/main/webui/src/project/file/FileEditor.tsx  |  2 +-
 .../main/webui/src/project/file/PropertiesTable.tsx |  2 +-
 .../main/webui/src/project/file/PropertyField.tsx   |  8 ++++----
 .../webui/src/project/files/CreateFileModal.tsx     |  2 +-
 .../webui/src/project/files/DeleteFileModal.tsx     |  2 +-
 .../src/main/webui/src/project/files/FilesTab.tsx   |  2 +-
 .../main/webui/src/project/files/FilesToolbar.tsx   |  2 +-
 .../webui/src/project/files/UploadFileModal.tsx     |  4 ++--
 .../src/main/webui/src/project/log/ProjectLog.tsx   |  2 +-
 .../main/webui/src/project/log/ProjectLogPanel.tsx  |  4 ++--
 .../src/project/trace/RunnerInfoTraceModal.tsx      |  4 ++--
 .../webui/src/project/trace/RunnerInfoTraceNode.tsx |  2 +-
 .../src/main/webui/src/project/trace/TraceTab.tsx   |  2 +-
 .../main/webui/src/projects/CreateProjectModal.tsx  |  2 +-
 .../main/webui/src/projects/DeleteProjectModal.tsx  |  2 +-
 .../src/main/webui/src/projects/ProjectsPage.tsx    |  2 +-
 .../main/webui/src/projects/ProjectsTableRow.tsx    |  2 +-
 .../main/webui/src/services/CreateServiceModal.tsx  |  2 +-
 .../main/webui/src/services/DeleteServiceModal.tsx  |  2 +-
 .../src/main/webui/src/services/ServicesPage.tsx    |  2 +-
 .../main/webui/src/services/ServicesTableRow.tsx    |  2 +-
 .../main/webui/src/templates/CreateProjectModal.tsx |  2 +-
 .../main/webui/src/templates/DeleteProjectModal.tsx |  2 +-
 .../src/main/webui/src/templates/TemplatesPage.tsx  |  2 +-
 .../main/webui/src/templates/TemplatesTableRow.tsx  |  2 +-
 53 files changed, 56 insertions(+), 109 deletions(-)

diff --git a/karavan-designer/package-lock.json b/karavan-designer/package-lock.json
index d6fbc8b5..bdfcfe96 100644
--- a/karavan-designer/package-lock.json
+++ b/karavan-designer/package-lock.json
@@ -20,7 +20,6 @@
         "dagre": "0.8.5",
         "html-to-image": "1.11.11",
         "karavan-core": "file:../karavan-core",
-        "lodash.debounce": "^4.0.8",
         "react": "18.2.0",
         "react-dom": "18.2.0",
         "rxjs": "7.8.1",
@@ -30,8 +29,6 @@
       "devDependencies": {
         "@svgr/webpack": "^7.0.0",
         "@types/dagre": "^0.7.48",
-        "@types/lodash": "^4.14.195",
-        "@types/lodash.debounce": "^4.0.7",
         "@types/react": "^18.2.0",
         "@types/react-dom": "^18.2.1",
         "@typescript-eslint/eslint-plugin": "^5.59.2",
@@ -3955,21 +3952,6 @@
       "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
       "dev": true
     },
-    "node_modules/@types/lodash": {
-      "version": "4.14.195",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz",
-      "integrity": "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==",
-      "dev": true
-    },
-    "node_modules/@types/lodash.debounce": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.7.tgz",
-      "integrity": "sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==",
-      "dev": true,
-      "dependencies": {
-        "@types/lodash": "*"
-      }
-    },
     "node_modules/@types/mime": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -12480,7 +12462,8 @@
     "node_modules/lodash.debounce": {
       "version": "4.0.8",
       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
+      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+      "dev": true
     },
     "node_modules/lodash.memoize": {
       "version": "4.1.2",
diff --git a/karavan-designer/package.json b/karavan-designer/package.json
index a89a6b7e..be92b214 100644
--- a/karavan-designer/package.json
+++ b/karavan-designer/package.json
@@ -37,7 +37,6 @@
     "dagre": "0.8.5",
     "html-to-image": "1.11.11",
     "karavan-core": "file:../karavan-core",
-    "lodash.debounce": "^4.0.8",
     "react": "18.2.0",
     "react-dom": "18.2.0",
     "rxjs": "7.8.1",
@@ -47,8 +46,6 @@
   "devDependencies": {
     "@svgr/webpack": "^7.0.0",
     "@types/dagre": "^0.7.48",
-    "@types/lodash": "^4.14.195",
-    "@types/lodash.debounce": "^4.0.7",
     "@types/react": "^18.2.0",
     "@types/react-dom": "^18.2.1",
     "@typescript-eslint/eslint-plugin": "^5.59.2",
diff --git a/karavan-designer/src/designer/route/useRouteDesignerHook.tsx b/karavan-designer/src/designer/route/useRouteDesignerHook.tsx
index 28dceaca..cf4c8282 100644
--- a/karavan-designer/src/designer/route/useRouteDesignerHook.tsx
+++ b/karavan-designer/src/designer/route/useRouteDesignerHook.tsx
@@ -19,17 +19,12 @@ import '../karavan.css';
 import {DslMetaModel} from "../utils/DslMetaModel";
 import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
 import {ChoiceDefinition, FromDefinition, LogDefinition, RouteConfigurationDefinition, RouteDefinition} from "karavan-core/lib/model/CamelDefinition";
-import {CamelElement, Integration} from "karavan-core/lib/model/IntegrationDefinition";
+import {CamelElement} from "karavan-core/lib/model/IntegrationDefinition";
 import {CamelDefinitionApiExt} from "karavan-core/lib/api/CamelDefinitionApiExt";
 import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi";
 import {Command, EventBus} from "../utils/EventBus";
-import {RouteToCreate} from "../utils/CamelUi";
 import {CamelDisplayUtil} from "karavan-core/lib/api/CamelDisplayUtil";
 import {toPng} from 'html-to-image';
-import {RouteDesigner} from "./RouteDesigner";
-import {findDOMNode} from "react-dom";
-import {Subscription} from "rxjs";
-import debounce from 'lodash.debounce';
 import {useDesignerStore, useIntegrationStore, useSelectorStore} from "../KaravanStore";
 import {shallow} from "zustand/shallow";
 
diff --git a/karavan-space/package.json b/karavan-space/package.json
index d2f69f78..073b7f67 100644
--- a/karavan-space/package.json
+++ b/karavan-space/package.json
@@ -42,7 +42,6 @@
     "dagre": "0.8.5",
     "html-to-image": "1.11.11",
     "karavan-core": "file:../karavan-core",
-    "lodash.debounce": "^4.0.8",
     "netlify-auth-providers": "^1.0.0-alpha5",
     "octokit": "^2.0.10",
     "react": "18.2.0",
@@ -55,8 +54,6 @@
   "devDependencies": {
     "@svgr/webpack": "^7.0.0",
     "@types/dagre": "^0.7.48",
-    "@types/lodash": "^4.14.195",
-    "@types/lodash.debounce": "^4.0.7",
     "@types/netlify-auth-providers": "^1.0.0",
     "@types/react": "^18.2.0",
     "@types/react-dom": "^18.2.1",
diff --git a/karavan-space/src/designer/route/useRouteDesignerHook.tsx b/karavan-space/src/designer/route/useRouteDesignerHook.tsx
index 28dceaca..cf4c8282 100644
--- a/karavan-space/src/designer/route/useRouteDesignerHook.tsx
+++ b/karavan-space/src/designer/route/useRouteDesignerHook.tsx
@@ -19,17 +19,12 @@ import '../karavan.css';
 import {DslMetaModel} from "../utils/DslMetaModel";
 import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
 import {ChoiceDefinition, FromDefinition, LogDefinition, RouteConfigurationDefinition, RouteDefinition} from "karavan-core/lib/model/CamelDefinition";
-import {CamelElement, Integration} from "karavan-core/lib/model/IntegrationDefinition";
+import {CamelElement} from "karavan-core/lib/model/IntegrationDefinition";
 import {CamelDefinitionApiExt} from "karavan-core/lib/api/CamelDefinitionApiExt";
 import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi";
 import {Command, EventBus} from "../utils/EventBus";
-import {RouteToCreate} from "../utils/CamelUi";
 import {CamelDisplayUtil} from "karavan-core/lib/api/CamelDisplayUtil";
 import {toPng} from 'html-to-image';
-import {RouteDesigner} from "./RouteDesigner";
-import {findDOMNode} from "react-dom";
-import {Subscription} from "rxjs";
-import debounce from 'lodash.debounce';
 import {useDesignerStore, useIntegrationStore, useSelectorStore} from "../KaravanStore";
 import {shallow} from "zustand/shallow";
 
diff --git a/karavan-web/karavan-app/src/main/webui/package-lock.json b/karavan-web/karavan-app/src/main/webui/package-lock.json
index 82de59b3..c4a03ce5 100644
--- a/karavan-web/karavan-app/src/main/webui/package-lock.json
+++ b/karavan-web/karavan-app/src/main/webui/package-lock.json
@@ -16,7 +16,6 @@
         "@patternfly/react-log-viewer": "^5.0.0",
         "@patternfly/react-table": "^5.0.0",
         "@types/js-yaml": "4.0.5",
-        "@types/lodash.debounce": "^4.0.7",
         "@types/node": "18.16.3",
         "@types/uuid": "9.0.1",
         "axios": "1.4.0",
@@ -4103,19 +4102,6 @@
       "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
       "dev": true
     },
-    "node_modules/@types/lodash": {
-      "version": "4.14.196",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz",
-      "integrity": "sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ=="
-    },
-    "node_modules/@types/lodash.debounce": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.7.tgz",
-      "integrity": "sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==",
-      "dependencies": {
-        "@types/lodash": "*"
-      }
-    },
     "node_modules/@types/mime": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
diff --git a/karavan-web/karavan-app/src/main/webui/package.json b/karavan-web/karavan-app/src/main/webui/package.json
index 9402b57a..fd82687d 100644
--- a/karavan-web/karavan-app/src/main/webui/package.json
+++ b/karavan-web/karavan-app/src/main/webui/package.json
@@ -34,7 +34,6 @@
     "@patternfly/react-log-viewer": "^5.0.0",
     "@patternfly/react-table": "^5.0.0",
     "@types/js-yaml": "4.0.5",
-    "@types/lodash.debounce": "^4.0.7",
     "@types/node": "18.16.3",
     "@types/uuid": "9.0.1",
     "axios": "1.4.0",
diff --git a/karavan-web/karavan-app/src/main/webui/src/config/ConfigurationPage.tsx b/karavan-web/karavan-app/src/main/webui/src/config/ConfigurationPage.tsx
index 91504ade..0dd22cec 100644
--- a/karavan-web/karavan-app/src/main/webui/src/config/ConfigurationPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/config/ConfigurationPage.tsx
@@ -22,7 +22,7 @@ export class ConfigurationPage extends React.Component<Props, State> {
         this.onGetTemplates();
     }
 
-    onGetTemplates = () => {
+    onGetTemplates () {
         // KaravanApi.getTemplates((templates: []) => {
         //     console.log(templates)
         //     this.setState({templates: templates})
diff --git a/karavan-web/karavan-app/src/main/webui/src/containers/ContainerTableRow.tsx b/karavan-web/karavan-app/src/main/webui/src/containers/ContainerTableRow.tsx
index bc023917..97fe15cc 100644
--- a/karavan-web/karavan-app/src/main/webui/src/containers/ContainerTableRow.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/containers/ContainerTableRow.tsx
@@ -18,7 +18,7 @@ interface Props {
     container: ContainerStatus
 }
 
-export const ContainerTableRow = (props: Props) => {
+export function ContainerTableRow (props: Props) {
 
     const [isExpanded, setIsExpanded] = useState<boolean>(false);
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/containers/ContainersPage.tsx b/karavan-web/karavan-app/src/main/webui/src/containers/ContainersPage.tsx
index 9ef596b7..35abe958 100644
--- a/karavan-web/karavan-app/src/main/webui/src/containers/ContainersPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/containers/ContainersPage.tsx
@@ -29,7 +29,7 @@ import {useAppConfigStore, useStatusesStore} from "../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 import {ContainerTableRow} from "./ContainerTableRow";
 
-export const ContainersPage = () => {
+export function ContainersPage () {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const [containers] = useStatusesStore((state) => [state.containers, state.setContainers], shallow);
diff --git a/karavan-web/karavan-app/src/main/webui/src/dashboard/DashboardPage.tsx b/karavan-web/karavan-app/src/main/webui/src/dashboard/DashboardPage.tsx
index c032a31b..397758d2 100644
--- a/karavan-web/karavan-app/src/main/webui/src/dashboard/DashboardPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/dashboard/DashboardPage.tsx
@@ -34,7 +34,7 @@ import {MainToolbar} from "../designer/MainToolbar";
 import {useAppConfigStore, useProjectsStore, useStatusesStore} from "../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 
-export const DashboardPage = () => {
+export function DashboardPage () {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const [projects, setProjects] = useProjectsStore((state) => [state.projects, state.setProjects], shallow)
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/route/useRouteDesignerHook.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/route/useRouteDesignerHook.tsx
index 28dceaca..cf4c8282 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/route/useRouteDesignerHook.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/route/useRouteDesignerHook.tsx
@@ -19,17 +19,12 @@ import '../karavan.css';
 import {DslMetaModel} from "../utils/DslMetaModel";
 import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
 import {ChoiceDefinition, FromDefinition, LogDefinition, RouteConfigurationDefinition, RouteDefinition} from "karavan-core/lib/model/CamelDefinition";
-import {CamelElement, Integration} from "karavan-core/lib/model/IntegrationDefinition";
+import {CamelElement} from "karavan-core/lib/model/IntegrationDefinition";
 import {CamelDefinitionApiExt} from "karavan-core/lib/api/CamelDefinitionApiExt";
 import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi";
 import {Command, EventBus} from "../utils/EventBus";
-import {RouteToCreate} from "../utils/CamelUi";
 import {CamelDisplayUtil} from "karavan-core/lib/api/CamelDisplayUtil";
 import {toPng} from 'html-to-image';
-import {RouteDesigner} from "./RouteDesigner";
-import {findDOMNode} from "react-dom";
-import {Subscription} from "rxjs";
-import debounce from 'lodash.debounce';
 import {useDesignerStore, useIntegrationStore, useSelectorStore} from "../KaravanStore";
 import {shallow} from "zustand/shallow";
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/main/Main.tsx b/karavan-web/karavan-app/src/main/webui/src/main/Main.tsx
index c03b0026..2ccd2264 100644
--- a/karavan-web/karavan-app/src/main/webui/src/main/Main.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/main/Main.tsx
@@ -21,7 +21,7 @@ import {useMainHook} from "./useMainHook";
 import {MainDataPoller} from "./MainDataPoller";
 import {TemplatesPage} from "../templates/TemplatesPage";
 
-export const Main = () => {
+export function Main () {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const { getData, getStatuses } = useMainHook();
diff --git a/karavan-web/karavan-app/src/main/webui/src/main/MainDataPoller.tsx b/karavan-web/karavan-app/src/main/webui/src/main/MainDataPoller.tsx
index 7175da2a..f192af14 100644
--- a/karavan-web/karavan-app/src/main/webui/src/main/MainDataPoller.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/main/MainDataPoller.tsx
@@ -14,7 +14,7 @@ import {
 import {useAppConfigStore, useProjectsStore, useProjectStore, useStatusesStore} from "../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 
-export const MainDataPoller = () => {
+export function MainDataPoller () {
 
     const [config, setLoading] = useAppConfigStore((s) =>
         [s.config, s.setLoading], shallow)
diff --git a/karavan-web/karavan-app/src/main/webui/src/main/MainLogin.tsx b/karavan-web/karavan-app/src/main/webui/src/main/MainLogin.tsx
index a493a963..33e04e88 100644
--- a/karavan-web/karavan-app/src/main/webui/src/main/MainLogin.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/main/MainLogin.tsx
@@ -8,7 +8,7 @@ import {shallow} from "zustand/shallow";
 import {ProjectEventBus} from "../api/ProjectEventBus";
 import {ToastMessage} from "../api/ProjectModels";
 
-export const MainLogin = () => {
+export function MainLogin () {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const [username, setUsername] = useState<string>();
diff --git a/karavan-web/karavan-app/src/main/webui/src/main/Notification.tsx b/karavan-web/karavan-app/src/main/webui/src/main/Notification.tsx
index 2b12b01a..b28933b3 100644
--- a/karavan-web/karavan-app/src/main/webui/src/main/Notification.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/main/Notification.tsx
@@ -7,7 +7,7 @@ import '../designer/karavan.css';
 import {ToastMessage} from "../api/ProjectModels";
 import {ProjectEventBus} from "../api/ProjectEventBus";
 
-export const Notification = () => {
+export function Notification () {
 
     const [alerts, setAlerts] = useState<ToastMessage[]>([]);
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/main/PageNavigation.tsx b/karavan-web/karavan-app/src/main/webui/src/main/PageNavigation.tsx
index 0d47461b..1eb173fa 100644
--- a/karavan-web/karavan-app/src/main/webui/src/main/PageNavigation.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/main/PageNavigation.tsx
@@ -32,7 +32,7 @@ class MenuItem {
     }
 }
 
-export const PageNavigation = () => {
+export function PageNavigation () {
 
     const [config, loading] = useAppConfigStore((state) => [state.config, state.loading], shallow)
     const [setFile] = useFileStore((state) => [state.setFile], shallow)
diff --git a/karavan-web/karavan-app/src/main/webui/src/main/useMainHook.tsx b/karavan-web/karavan-app/src/main/webui/src/main/useMainHook.tsx
index 6df01d20..2bbc6635 100644
--- a/karavan-web/karavan-app/src/main/webui/src/main/useMainHook.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/main/useMainHook.tsx
@@ -7,7 +7,7 @@ import {useAppConfigStore, useStatusesStore} from "../api/ProjectStore";
 import {InfrastructureAPI} from "../designer/utils/InfrastructureAPI";
 import {shallow} from "zustand/shallow";
 
-export const useMainHook = () => {
+export function useMainHook () {
 
     const [setConfig] = useAppConfigStore((state) => [state.setConfig], shallow)
     const [setContainers] = useStatusesStore((state) => [state.setContainers], shallow);
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx b/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx
index 7f6d0ec8..78877fba 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx
@@ -15,7 +15,7 @@ interface Props {
     reloadOnly?: boolean
 }
 
-export const DevModeToolbar = (props: Props) => {
+export function DevModeToolbar (props: Props) {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const [status] = useDevModeStore((state) => [state.status], shallow)
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/ProjectDataPoller.tsx b/karavan-web/karavan-app/src/main/webui/src/project/ProjectDataPoller.tsx
index bc228c6b..062b53e6 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/ProjectDataPoller.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/ProjectDataPoller.tsx
@@ -5,7 +5,7 @@ import '../designer/karavan.css';
 import {useAppConfigStore, useProjectStore} from "../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 
-export const ProjectDataPoller = () => {
+export function ProjectDataPoller () {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const [project, setMemory, setJvm, setContext, refreshTrace, setTrace] = useProjectStore((s) =>
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/ProjectPage.tsx b/karavan-web/karavan-app/src/main/webui/src/project/ProjectPage.tsx
index f6587cc4..2101f0e4 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/ProjectPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/ProjectPage.tsx
@@ -16,7 +16,7 @@ import {useParams} from "react-router-dom";
 import {KaravanApi} from "../api/KaravanApi";
 import {ProjectDataPoller} from "./ProjectDataPoller";
 
-export const ProjectPage = () => {
+export function ProjectPage () {
 
     const {file, operation} = useFileStore();
     const [mode, setMode] = useState<"design" | "code">("design");
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/ProjectPanel.tsx b/karavan-web/karavan-app/src/main/webui/src/project/ProjectPanel.tsx
index f1d62e94..2240c8a8 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/ProjectPanel.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/ProjectPanel.tsx
@@ -12,7 +12,7 @@ import {ProjectBuildTab} from "./build/ProjectBuildTab";
 import {ProjectService} from "../api/ProjectService";
 import {shallow} from "zustand/shallow";
 
-export const ProjectPanel = () => {
+export function ProjectPanel () {
 
     const [tab, setTab] = useState<string | number>('files');
     const [project] = useProjectStore((state) => [state.project], shallow )
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/ProjectTitle.tsx b/karavan-web/karavan-app/src/main/webui/src/project/ProjectTitle.tsx
index f3c0c816..aeb76743 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/ProjectTitle.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/ProjectTitle.tsx
@@ -12,7 +12,7 @@ import '../designer/karavan.css';
 import {getProjectFileType} from "../api/ProjectModels";
 import {useAppConfigStore, useFileStore, useProjectStore} from "../api/ProjectStore";
 
-export const ProjectTitle = () => {
+export function ProjectTitle () {
 
     const {project} = useProjectStore();
     const {file, operation, setFile} = useFileStore();
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx b/karavan-web/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
index 48b9d511..1cd17496 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
@@ -23,7 +23,7 @@ import {ProjectModelApi} from "karavan-core/lib/api/ProjectModelApi";
 import {ProjectModel, ProjectProperty} from "karavan-core/lib/model/ProjectModel";
 
 
-export const ProjectToolbar = () => {
+export function ProjectToolbar () {
 
     const [project, isPushing] = useProjectStore((state) => [state.project, state.isPushing], shallow )
     const [file, editAdvancedProperties, setEditAdvancedProperties, setAddProperty, mode, setMode]
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/DashboardTab.tsx b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/DashboardTab.tsx
index 4a21f9ad..f0eb688b 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/DashboardTab.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/DashboardTab.tsx
@@ -27,7 +27,7 @@ import {useProjectStore, useStatusesStore} from "../../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 import {ContainerStatus} from "../../api/ProjectModels";
 
-export const DashboardTab = () => {
+export function DashboardTab () {
 
     const [project, memory, jvm, context] = useProjectStore((state) =>
         [state.project, state.memory, state.jvm, state.context], shallow);
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContainer.tsx b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContainer.tsx
index 29c7247d..1b37998f 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContainer.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContainer.tsx
@@ -16,7 +16,7 @@ interface Props {
     containerStatus: ContainerStatus,
 }
 
-export const InfoContainer = (props: Props) => {
+export function InfoContainer (props: Props) {
 
     function getPodInfoLabel(info: string) {
         return (
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContext.tsx b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContext.tsx
index 69134d23..addceb43 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContext.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoContext.tsx
@@ -17,7 +17,7 @@ interface Props {
     showConsole: boolean
 }
 
-export const InfoContext = (props: Props) => {
+export function InfoContext (props: Props) {
 
     function getContextInfo() {
         return (
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoMemory.tsx b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoMemory.tsx
index 28aee4ac..74cc42c9 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoMemory.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/dashboard/InfoMemory.tsx
@@ -18,7 +18,7 @@ interface Props {
     showConsole: boolean
 }
 
-export const InfoMemory = (props: Props) => {
+export function InfoMemory (props: Props) {
 
     function getJvmInfo() {
         return (
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/file/FileEditor.tsx b/karavan-web/karavan-app/src/main/webui/src/project/file/FileEditor.tsx
index 4a6abcce..f5db8eca 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/file/FileEditor.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/file/FileEditor.tsx
@@ -29,7 +29,7 @@ interface Props {
     projectId: string
 }
 
-export const FileEditor = (props: Props) => {
+export function FileEditor (props: Props) {
 
     const [file, operation, mode] = useFileStore((state) =>
         [state.file, state.operation, state.mode, state.setMode], shallow )
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/file/PropertiesTable.tsx b/karavan-web/karavan-app/src/main/webui/src/project/file/PropertiesTable.tsx
index 6322677d..24e6d428 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/file/PropertiesTable.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/file/PropertiesTable.tsx
@@ -38,7 +38,7 @@ import {shallow} from "zustand/shallow"
 import {PropertyField} from "./PropertyField";
 import {ProjectService} from "../../api/ProjectService";
 
-export const PropertiesTable = () => {
+export function PropertiesTable () {
 
     const [showDeleteConfirmation, setShowDeleteConfirmation] = useState<boolean>(false);
     const [deleteId, setDeleteId] = useState<string | undefined>(undefined);
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/file/PropertyField.tsx b/karavan-web/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
index b9e0160f..2393164d 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
@@ -31,7 +31,7 @@ interface Props {
     onDelete: (id: string) => void
 }
 
-export const PropertyField = (props: Props) => {
+export function PropertyField (props: Props) {
 
     const [key, setKey] = useState<string | undefined>(props.property.key);
     const [value, setValue] = useState<string | undefined>(props.property.value);
@@ -48,7 +48,7 @@ export const PropertyField = (props: Props) => {
                            onChange={(e, val) => {
                                e.preventDefault();
                                setKey(val)
-                               props.changeProperty?.call(this, new ProjectProperty({id: props.property.id, key: val, value: value}));
+                               props.changeProperty(new ProjectProperty({id: props.property.id, key: val, value: value}));
                            }}/>
             </Td>
             <Td noPadding width={20} dataLabel="value">
@@ -58,13 +58,13 @@ export const PropertyField = (props: Props) => {
                            onChange={(e, val) => {
                                e.preventDefault();
                                setValue(val);
-                               props.changeProperty?.call(this, new ProjectProperty({id: props.property.id, key: key, value: val}));
+                               props.changeProperty(new ProjectProperty({id: props.property.id, key: key, value: val}));
                            }}/>
             </Td>
             <Td noPadding isActionCell dataLabel="delete" className="delete-cell">
                 {!props.readOnly && <Button variant={"plain"} icon={<DeleteIcon/>} className={"delete-button"}
                                       onClick={event => {
-                                          props.onDelete?.call(this, props.property.id)
+                                          props.onDelete(props.property.id)
                                       }}/>}
             </Td>
         </Tr>
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/files/CreateFileModal.tsx b/karavan-web/karavan-app/src/main/webui/src/project/files/CreateFileModal.tsx
index 587d5244..328657b6 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/files/CreateFileModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/files/CreateFileModal.tsx
@@ -19,7 +19,7 @@ interface Props {
     types: string[]
 }
 
-export const CreateFileModal = (props: Props) => {
+export function CreateFileModal (props: Props) {
 
     const {operation} = useFileStore();
     const {project, setProject} = useProjectStore();
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/files/DeleteFileModal.tsx b/karavan-web/karavan-app/src/main/webui/src/project/files/DeleteFileModal.tsx
index 5995c6c9..e621632d 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/files/DeleteFileModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/files/DeleteFileModal.tsx
@@ -8,7 +8,7 @@ import '../../designer/karavan.css';
 import {useFileStore} from "../../api/ProjectStore";
 import {ProjectService} from "../../api/ProjectService";
 
-export const DeleteFileModal = () => {
+export function DeleteFileModal () {
 
     const {file, operation} = useFileStore();
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/files/FilesTab.tsx b/karavan-web/karavan-app/src/main/webui/src/project/files/FilesTab.tsx
index 19e90617..6c444bf5 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/files/FilesTab.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/files/FilesTab.tsx
@@ -30,7 +30,7 @@ import {CreateFileModal} from "./CreateFileModal";
 import {DeleteFileModal} from "./DeleteFileModal";
 import {UploadFileModal} from "./UploadFileModal";
 
-export const FilesTab = () => {
+export function FilesTab () {
 
     const {files} = useFilesStore();
     const {project} = useProjectStore();
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/files/FilesToolbar.tsx b/karavan-web/karavan-app/src/main/webui/src/project/files/FilesToolbar.tsx
index 6dc19421..61d2f350 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/files/FilesToolbar.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/files/FilesToolbar.tsx
@@ -28,7 +28,7 @@ import {shallow} from "zustand/shallow";
 import {ProjectService} from "../../api/ProjectService";
 import PushIcon from "@patternfly/react-icons/dist/esm/icons/code-branch-icon";
 
-export const FileToolbar = () => {
+export function FileToolbar () {
 
     const [commitMessageIsOpen, setCommitMessageIsOpen] = useState(false);
     const [commitMessage, setCommitMessage] = useState('');
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx b/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx
index 8777441c..8ab84346 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx
@@ -55,11 +55,11 @@ export class UploadFileModal extends React.Component<Props, State> {
         generateRoutes: true
     };
 
-    closeModal = () => {
+    closeModal () {
         useFileStore.setState({operation:"none"});
     }
 
-    saveAndCloseModal = () => {
+    saveAndCloseModal () {
         const state = this.state;
         const file = new ProjectFile(state.filename, this.props.projectId, state.data, Date.now());
         if (this.state.type === "integration"){
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx b/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
index f8185e15..cd3a0547 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
@@ -10,7 +10,7 @@ interface Props {
     header?: React.ReactNode
 }
 
-export const ProjectLog = (props: Props) => {
+export function ProjectLog (props: Props) {
 
     const [data, currentLine] = useLogStore((state) => [state.data, state.currentLine], shallow );
     const [logViewerRef] = useState(React.createRef());
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLogPanel.tsx b/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLogPanel.tsx
index c7eec061..bd397f3f 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLogPanel.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/log/ProjectLogPanel.tsx
@@ -5,7 +5,7 @@ import CloseIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
 import ExpandIcon from '@patternfly/react-icons/dist/esm/icons/expand-icon';
 import CollapseIcon from '@patternfly/react-icons/dist/esm/icons/compress-icon';
 import CleanIcon from '@patternfly/react-icons/dist/esm/icons/trash-alt-icon';
-import {useLogStore, useProjectStore, useStatusesStore} from "../../api/ProjectStore";
+import {useLogStore, useStatusesStore} from "../../api/ProjectStore";
 import {KaravanApi} from "../../api/KaravanApi";
 import {shallow} from "zustand/shallow";
 import {ProjectEventBus} from "../../api/ProjectEventBus";
@@ -13,7 +13,7 @@ import {ProjectLog} from "./ProjectLog";
 
 const INITIAL_LOG_HEIGHT = "50%";
 
-export const ProjectLogPanel = () => {
+export function ProjectLogPanel () {
     const [showLog, type, setShowLog, podName] = useLogStore(
         (state) => [state.showLog, state.type, state.setShowLog, state.podName], shallow)
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceModal.tsx b/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceModal.tsx
index e987aca4..6a2b9986 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceModal.tsx
@@ -30,7 +30,7 @@ interface Props {
     onClose: () => void
 }
 
-export const RunnerInfoTraceModal = (props: Props) => {
+export function RunnerInfoTraceModal (props: Props) {
 
     const [activeNode, setActiveNode] = useState(props.nodes.at(0));
 
@@ -48,7 +48,7 @@ export const RunnerInfoTraceModal = (props: Props) => {
             title={"Exchange: " + props.exchangeId}
             variant={ModalVariant.large}
             isOpen={props.isOpen}
-            onClose={() => props.onClose?.call(this)}
+            onClose={() => props.onClose()}
             actions={[
             ]}
         >
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceNode.tsx b/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceNode.tsx
index 5a470290..73181663 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceNode.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/trace/RunnerInfoTraceNode.tsx
@@ -28,7 +28,7 @@ interface Props {
     trace: any
 }
 
-export const RunnerInfoTraceNode = (props: Props) => {
+export function RunnerInfoTraceNode (props: Props) {
 
     const type = props.trace?.message?.body?.type;
     const body = props.trace?.message?.body?.value;
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx b/karavan-web/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
index 4a23d346..1ee0a5ff 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
@@ -43,7 +43,7 @@ import {useProjectStore} from "../../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 
 
-export const TraceTab = () => {
+export function TraceTab () {
 
     const [refreshTrace, setRefreshTrace, trace] = useProjectStore((state) =>
         [state.refreshTrace, state.setRefreshTrace, state.trace], shallow);
diff --git a/karavan-web/karavan-app/src/main/webui/src/projects/CreateProjectModal.tsx b/karavan-web/karavan-app/src/main/webui/src/projects/CreateProjectModal.tsx
index 0d7c1be1..75965bfd 100644
--- a/karavan-web/karavan-app/src/main/webui/src/projects/CreateProjectModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/projects/CreateProjectModal.tsx
@@ -13,7 +13,7 @@ import {QuarkusIcon, SpringIcon, CamelIcon} from "../designer/utils/KaravanIcons
 import {CamelUi} from "../designer/utils/CamelUi";
 
 
-export const CreateProjectModal = () => {
+export function CreateProjectModal () {
 
     const {project, operation} = useProjectStore();
     const [name, setName] = useState('');
diff --git a/karavan-web/karavan-app/src/main/webui/src/projects/DeleteProjectModal.tsx b/karavan-web/karavan-app/src/main/webui/src/projects/DeleteProjectModal.tsx
index 5ae29dd4..b27a6829 100644
--- a/karavan-web/karavan-app/src/main/webui/src/projects/DeleteProjectModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/projects/DeleteProjectModal.tsx
@@ -8,7 +8,7 @@ import '../designer/karavan.css';
 import {useProjectStore} from "../api/ProjectStore";
 import {ProjectService} from "../api/ProjectService";
 
-export const DeleteProjectModal = () => {
+export function DeleteProjectModal () {
 
     const {project, operation} = useProjectStore();
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx b/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
index 5ffbe9e6..02ed39d7 100644
--- a/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
@@ -36,7 +36,7 @@ import {shallow} from "zustand/shallow";
 import {useParams} from "react-router-dom";
 import {KaravanApi} from "../api/KaravanApi";
 
-export const ProjectsPage = () => {
+export function ProjectsPage () {
 
     const [projects] = useProjectsStore((state) => [state.projects], shallow)
     const [operation] = useProjectStore((state) => [state.operation], shallow)
diff --git a/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsTableRow.tsx b/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsTableRow.tsx
index f23c0206..caaa0b20 100644
--- a/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsTableRow.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/projects/ProjectsTableRow.tsx
@@ -23,7 +23,7 @@ interface Props {
     project: Project
 }
 
-export const ProjectsTableRow = (props: Props) => {
+export function ProjectsTableRow (props: Props) {
 
     const [deployments, containers] = useStatusesStore((state) => [state.deployments, state.containers], shallow)
     const {config} = useAppConfigStore();
diff --git a/karavan-web/karavan-app/src/main/webui/src/services/CreateServiceModal.tsx b/karavan-web/karavan-app/src/main/webui/src/services/CreateServiceModal.tsx
index 3dbef3bc..85384aaa 100644
--- a/karavan-web/karavan-app/src/main/webui/src/services/CreateServiceModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/services/CreateServiceModal.tsx
@@ -13,7 +13,7 @@ import {QuarkusIcon, SpringIcon} from "../designer/utils/KaravanIcons";
 import {CamelUi} from "../designer/utils/CamelUi";
 
 
-export const CreateServiceModal = () => {
+export function CreateServiceModal () {
 
     const {project, operation} = useProjectStore();
     const [name, setName] = useState('');
diff --git a/karavan-web/karavan-app/src/main/webui/src/services/DeleteServiceModal.tsx b/karavan-web/karavan-app/src/main/webui/src/services/DeleteServiceModal.tsx
index 9e8c876c..1d01f8a9 100644
--- a/karavan-web/karavan-app/src/main/webui/src/services/DeleteServiceModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/services/DeleteServiceModal.tsx
@@ -8,7 +8,7 @@ import '../designer/karavan.css';
 import {useProjectStore} from "../api/ProjectStore";
 import {ProjectService} from "../api/ProjectService";
 
-export const DeleteServiceModal = () => {
+export function DeleteServiceModal () {
 
     const {project, operation} = useProjectStore();
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/services/ServicesPage.tsx b/karavan-web/karavan-app/src/main/webui/src/services/ServicesPage.tsx
index 2b945bae..1432f9ea 100644
--- a/karavan-web/karavan-app/src/main/webui/src/services/ServicesPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/services/ServicesPage.tsx
@@ -38,7 +38,7 @@ import {shallow} from "zustand/shallow";
 import {ProjectLogPanel} from "../project/log/ProjectLogPanel";
 
 
-export const ServicesPage = () => {
+export function ServicesPage () {
 
     const [services, setServices] = useState<Services>();
     const [containers] = useStatusesStore((state) => [state.containers, state.setContainers], shallow);
diff --git a/karavan-web/karavan-app/src/main/webui/src/services/ServicesTableRow.tsx b/karavan-web/karavan-app/src/main/webui/src/services/ServicesTableRow.tsx
index e8c5fe6c..86e1c367 100644
--- a/karavan-web/karavan-app/src/main/webui/src/services/ServicesTableRow.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/services/ServicesTableRow.tsx
@@ -24,7 +24,7 @@ interface Props {
     container?: ContainerStatus
 }
 
-export const ServicesTableRow = (props: Props) => {
+export function ServicesTableRow (props: Props) {
 
     const [config] = useAppConfigStore((state) => [state.config], shallow)
     const [isExpanded, setIsExpanded] = useState<boolean>(false);
diff --git a/karavan-web/karavan-app/src/main/webui/src/templates/CreateProjectModal.tsx b/karavan-web/karavan-app/src/main/webui/src/templates/CreateProjectModal.tsx
index 0d7c1be1..75965bfd 100644
--- a/karavan-web/karavan-app/src/main/webui/src/templates/CreateProjectModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/templates/CreateProjectModal.tsx
@@ -13,7 +13,7 @@ import {QuarkusIcon, SpringIcon, CamelIcon} from "../designer/utils/KaravanIcons
 import {CamelUi} from "../designer/utils/CamelUi";
 
 
-export const CreateProjectModal = () => {
+export function CreateProjectModal () {
 
     const {project, operation} = useProjectStore();
     const [name, setName] = useState('');
diff --git a/karavan-web/karavan-app/src/main/webui/src/templates/DeleteProjectModal.tsx b/karavan-web/karavan-app/src/main/webui/src/templates/DeleteProjectModal.tsx
index 5ae29dd4..b27a6829 100644
--- a/karavan-web/karavan-app/src/main/webui/src/templates/DeleteProjectModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/templates/DeleteProjectModal.tsx
@@ -8,7 +8,7 @@ import '../designer/karavan.css';
 import {useProjectStore} from "../api/ProjectStore";
 import {ProjectService} from "../api/ProjectService";
 
-export const DeleteProjectModal = () => {
+export function DeleteProjectModal () {
 
     const {project, operation} = useProjectStore();
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesPage.tsx b/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesPage.tsx
index 130eb2ee..2beb4ed4 100644
--- a/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesPage.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesPage.tsx
@@ -35,7 +35,7 @@ import {MainToolbar} from "../designer/MainToolbar";
 import {Project, ProjectType} from "../api/ProjectModels";
 import {shallow} from "zustand/shallow";
 
-export const TemplatesPage = () => {
+export function TemplatesPage () {
 
     const [projects] = useProjectsStore((state) => [state.projects], shallow)
     const [operation] = useProjectStore((state) => [state.operation], shallow)
diff --git a/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesTableRow.tsx b/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesTableRow.tsx
index 9b9b0ada..41d93cbf 100644
--- a/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesTableRow.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/templates/TemplatesTableRow.tsx
@@ -20,7 +20,7 @@ interface Props {
     project: Project
 }
 
-export const TemplatesTableRow = (props: Props) => {
+export function TemplatesTableRow (props: Props) {
 
     const [deployments, containers] = useStatusesStore((state) => [state.deployments, state.containers], shallow)
     const {config} = useAppConfigStore();