From 7eb305f910305fb43e48ae444e610d25da5e16cd Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Tue, 9 Jun 2026 09:53:38 +0200 Subject: [PATCH] cp adapted to 2026 poweron --- config/config.ts | 2 + config/index.ts | 2 + env.d.ts | 2 + src/App.tsx | 2 + src/api.ts | 2 + src/api/attributesApi.ts | 2 + src/api/authApi.ts | 2 + src/api/billingApi.ts | 2 + src/api/clickupApi.ts | 2 + src/api/commcoachApi.ts | 2 + src/api/connectionApi.ts | 2 + src/api/featuresApi.ts | 2 + src/api/fileApi.ts | 2 + src/api/mandateApi.ts | 2 + src/api/neutralizationApi.ts | 2 + src/api/permissionApi.ts | 2 + src/api/promptApi.ts | 2 + src/api/rbacRulesApi.ts | 2 + src/api/realEstateApi.ts | 2 + src/api/redmineApi.ts | 2 + src/api/roleApi.ts | 2 + src/api/storeApi.ts | 2 + src/api/subscriptionApi.ts | 2 + src/api/tableViewApi.ts | 2 + src/api/teamsbotApi.ts | 2 + src/api/trusteeApi.ts | 2 + src/api/userApi.ts | 2 + src/api/voiceCatalogApi.ts | 2 + src/api/workflowAutomationApi.ts | 2 + .../AccessRules/AccessLevelSelect.tsx | 2 + .../AccessRules/AccessRulesEditor.tsx | 2 + .../AccessRules/AccessRulesTable.tsx | 2 + src/components/AccessRules/index.ts | 2 + .../AddConnectionWizard.tsx | 2 + src/components/Chat/ChatInput.tsx | 2 + src/components/Chat/ChatMessageList.tsx | 2 + src/components/Chat/index.ts | 2 + .../ContentPreview/ContentPreview.tsx | 2 + .../ContentPreview/UrlContentPreview.tsx | 2 + src/components/ContentPreview/index.ts | 2 + .../renderers/ApplicationRenderer.tsx | 2 + .../renderers/ErrorRenderer.tsx | 2 + .../renderers/ExcelRenderer.tsx | 2 + .../ContentPreview/renderers/HtmlRenderer.tsx | 2 + .../renderers/ImageRenderer.tsx | 2 + .../ContentPreview/renderers/JsonRenderer.tsx | 2 + .../renderers/LoadingRenderer.tsx | 2 + .../renderers/PdfJsRenderer.tsx | 2 + .../ContentPreview/renderers/PdfRenderer.tsx | 2 + .../ContentPreview/renderers/TextRenderer.tsx | 2 + .../renderers/UnsupportedRenderer.tsx | 2 + .../ContentPreview/renderers/WordRenderer.tsx | 2 + .../ContentPreview/renderers/index.ts | 2 + .../context/WorkflowDataFlowContext.tsx | 2 + .../FlowEditor/editor/CanvasHeader.tsx | 2 + .../FlowEditor/editor/EditorChatPanel.tsx | 2 + .../editor/EditorWorkflowChatList.tsx | 2 + .../FlowEditor/editor/FlowCanvas.tsx | 2 + .../FlowEditor/editor/NodeConfigPanel.tsx | 2 + .../FlowEditor/editor/NodeListItem.tsx | 2 + .../FlowEditor/editor/NodeSidebar.tsx | 2 + .../FlowEditor/editor/RunTracingPanel.tsx | 2 + .../FlowEditor/editor/TemplatePicker.tsx | 2 + .../FlowEditor/editor/WorkflowFlowEditor.tsx | 2 + src/components/FlowEditor/index.ts | 2 + .../nodes/form/FormFieldOptionsEditor.tsx | 2 + .../FlowEditor/nodes/form/FormNodeConfig.tsx | 2 + .../nodes/form/formFieldOptionsUtils.ts | 2 + src/components/FlowEditor/nodes/form/index.ts | 2 + .../frontendTypeRenderers/CaseListEditor.tsx | 2 + .../ClickUpListPicker.tsx | 2 + .../frontendTypeRenderers/ConditionEditor.tsx | 2 + .../ContextAssignmentsEditor.tsx | 2 + .../ContextBuilderRenderer.tsx | 2 + .../frontendTypeRenderers/DataRefRenderer.tsx | 2 + .../FeatureInstancePicker.tsx | 2 + .../TemplateTextareaRenderer.tsx | 2 + .../UserFileFolderPicker.tsx | 2 + .../clickupPathUtils.test.ts | 2 + .../frontendTypeRenderers/clickupPathUtils.ts | 2 + .../nodes/frontendTypeRenderers/index.tsx | 2 + .../FlowEditor/nodes/ifElse/index.ts | 2 + .../FlowEditor/nodes/loop/LoopNodeConfig.tsx | 2 + src/components/FlowEditor/nodes/loop/index.ts | 2 + .../nodes/runtime/fileTypeMimeMapping.ts | 2 + .../FlowEditor/nodes/shared/AiBadge.tsx | 2 + .../FlowEditor/nodes/shared/DataPicker.tsx | 2 + .../nodes/shared/DynamicValueField.tsx | 2 + .../nodes/shared/HybridStaticRefField.tsx | 2 + .../nodes/shared/LoopItemsSelect.tsx | 2 + .../nodes/shared/RefSourceSelect.tsx | 2 + .../nodes/shared/RequiredAttributePicker.tsx | 2 + .../FlowEditor/nodes/shared/categoryIcons.tsx | 2 + .../nodes/shared/conditionOperators.ts | 2 + .../FlowEditor/nodes/shared/constants.ts | 2 + .../FlowEditor/nodes/shared/dataFlowGraph.ts | 2 + .../FlowEditor/nodes/shared/dataRef.ts | 2 + .../FlowEditor/nodes/shared/graphUtils.ts | 2 + .../nodes/shared/outputPreviewRegistry.ts | 2 + .../nodes/shared/paramValidation.ts | 2 + .../FlowEditor/nodes/shared/types.ts | 2 + .../FlowEditor/nodes/shared/utils.ts | 2 + .../nodes/start/FormStartNodeConfig.tsx | 2 + .../nodes/start/ScheduleStartNodeConfig.tsx | 2 + .../nodes/start/StartNodeConfig.tsx | 2 + .../FlowEditor/nodes/start/index.ts | 2 + .../FlowEditor/nodes/switch/index.ts | 2 + .../WorkflowRuntimeFormFields.tsx | 2 + .../CopyActionButton/CopyActionButton.tsx | 2 + .../ActionButtons/CopyActionButton/index.ts | 2 + .../CustomActionButton/CustomActionButton.tsx | 2 + .../ActionButtons/CustomActionButton/index.ts | 2 + .../DeleteActionButton/DeleteActionButton.tsx | 2 + .../ActionButtons/DeleteActionButton/index.ts | 2 + .../DownloadActionButton.tsx | 2 + .../DownloadActionButton/index.ts | 2 + .../EditActionButton/EditActionButton.tsx | 2 + .../ActionButtons/EditActionButton/index.ts | 2 + .../RemoveActionButton/RemoveActionButton.tsx | 2 + .../ActionButtons/RemoveActionButton/index.ts | 2 + .../ViewActionButton/ViewActionButton.tsx | 2 + .../ActionButtons/ViewActionButton/index.ts | 2 + .../FormGenerator/ActionButtons/index.ts | 2 + .../FilterSearchInput/FilterSearchInput.tsx | 2 + .../FormGenerator/FilterSearchInput/index.ts | 2 + .../FormGeneratorControls.tsx | 2 + .../FormGeneratorControls/index.ts | 2 + .../FormGeneratorForm/FormGeneratorForm.tsx | 2 + .../FormGenerator/FormGeneratorForm/index.ts | 2 + .../FormGeneratorList/FormGeneratorList.tsx | 2 + .../FormGenerator/FormGeneratorList/index.ts | 2 + .../FormGeneratorReport.tsx | 2 + .../FormGeneratorReportTypes.ts | 2 + .../FormGeneratorReport/index.ts | 2 + .../FormGeneratorTable/FormGeneratorTable.tsx | 2 + .../FormGenerator/FormGeneratorTable/index.ts | 2 + .../FormGeneratorTree/FormGeneratorTree.tsx | 2 + .../__tests__/FormGeneratorTree.test.tsx | 2 +- .../FormGeneratorTree/__tests__/dnd.test.tsx | 2 +- .../FormGenerator/FormGeneratorTree/index.ts | 2 + .../providers/FolderFileProvider.tsx | 2 + .../FormGenerator/FormGeneratorTree/types.ts | 2 + .../GroupingManager/GroupRow.tsx | 2 + .../TableViewsBar/TableViewsBar.tsx | 2 + .../FormGenerator/TableViewsBar/index.ts | 2 + src/components/FormGenerator/index.ts | 4 +- .../Navigation/MandateNavigation.tsx | 2 + .../TreeNavigation/TreeNavigation.tsx | 2 + .../Navigation/TreeNavigation/index.ts | 2 + src/components/Navigation/UserSection.tsx | 2 + src/components/Navigation/index.ts | 2 + .../NotificationBell/NotificationBell.tsx | 2 + src/components/NotificationBell/index.ts | 2 + src/components/OnboardingAssistant.tsx | 2 + src/components/OnboardingWizard.tsx | 2 + src/components/PeriodPicker/PeriodPicker.tsx | 2 + .../PeriodPicker/PeriodPickerCalendar.tsx | 2 + .../PeriodPicker/PeriodPickerLogic.ts | 2 + .../PeriodPicker/PeriodPickerPopover.tsx | 2 + .../PeriodPicker/PeriodPickerTypes.ts | 2 + src/components/PeriodPicker/index.ts | 2 + .../ProviderSelector/ProviderSelector.tsx | 2 + src/components/ProviderSelector/index.ts | 2 + .../QuickActionBoard/QuickActionBoard.tsx | 2 + src/components/QuickActionBoard/index.ts | 2 + .../RagRunningBadge/RagRunningBadge.tsx | 2 + .../SchedulePlanner/SchedulePlanner.tsx | 2 + src/components/SchedulePlanner/index.ts | 2 + .../AccordionList/AccordionList.tsx | 2 + .../UiComponents/AccordionList/index.ts | 2 + .../AddressAutocomplete.tsx | 2 + .../UiComponents/AddressAutocomplete/index.ts | 2 + .../UiComponents/AutoScroll/AutoScroll.tsx | 2 + .../UiComponents/AutoScroll/index.ts | 2 + .../BauvorschriftenSection.tsx | 2 + src/components/UiComponents/Button/Button.tsx | 2 + .../UiComponents/Button/ButtonTypes.ts | 4 +- .../Button/CreateButton/CreateButton.tsx | 2 + .../UiComponents/Button/CreateButton/index.ts | 2 + .../Button/UploadButton/UploadButton.tsx | 2 + .../UiComponents/Button/UploadButton/index.ts | 2 + src/components/UiComponents/Button/index.ts | 2 + .../ConnectedFilesList/ConnectedFilesList.tsx | 2 + .../UiComponents/ConnectedFilesList/index.ts | 2 + .../CopyableTruncatedValue.tsx | 2 + .../CopyableTruncatedValue/index.ts | 2 + .../DragDropOverlay/DragDropOverlay.tsx | 2 + .../UiComponents/DragDropOverlay/index.ts | 2 + .../DropdownSelect/DropdownSelect.tsx | 2 + .../UiComponents/DropdownSelect/index.ts | 2 + .../InfoMessageOverlay/MessageOverlay.tsx | 2 + .../UiComponents/InfoMessageOverlay/index.ts | 4 +- .../LanguageSelector/LanguageSelector.tsx | 2 + .../UiComponents/LanguageSelector/index.ts | 2 + .../LocationInput/LocationInput.tsx | 2 + .../UiComponents/LocationInput/index.ts | 2 + src/components/UiComponents/Log/Log.tsx | 2 + .../Log/LogMessage/LogMessage.tsx | 2 + .../UiComponents/Log/LogMessage/index.ts | 2 + src/components/UiComponents/Log/LogTypes.ts | 2 + src/components/UiComponents/Log/index.ts | 2 + .../UiComponents/MapView/LV95Converter.ts | 2 + .../UiComponents/MapView/MapView.tsx | 2 + .../UiComponents/MapView/MapViewLeaflet.tsx | 2 + src/components/UiComponents/MapView/index.ts | 2 + .../Messages/ChatMessages/ChatMessage.tsx | 2 + .../Messages/MessageParts/ActionInfo.tsx | 2 + .../Messages/MessageParts/DocumentItem.tsx | 2 + .../Messages/MessageParts/MessageMetadata.tsx | 2 + .../Messages/MessageParts/index.ts | 2 + .../UiComponents/Messages/MessageUtils.ts | 2 + .../UiComponents/Messages/Messages.tsx | 2 + .../UiComponents/Messages/MessagesTypes.ts | 2 + src/components/UiComponents/Messages/index.ts | 2 + src/components/UiComponents/Modal/Modal.tsx | 2 + src/components/UiComponents/Modal/index.ts | 2 + .../OerebSection/OerebSection.tsx | 2 + .../UiComponents/OerebSection/index.ts | 2 + .../ParcelInfoPanel/ParcelInfoPanel.tsx | 2 + .../UiComponents/ParcelInfoPanel/index.ts | 2 + src/components/UiComponents/Popup/Popup.tsx | 4 +- src/components/UiComponents/Popup/index.ts | 4 +- src/components/UiComponents/Tabs/Tabs.tsx | 2 + src/components/UiComponents/Tabs/index.ts | 2 + .../UiComponents/TextField/TextField.tsx | 2 + .../UiComponents/TextField/TextFieldTypes.ts | 2 + .../UiComponents/TextField/index.ts | 2 + src/components/UiComponents/Toast/Toast.tsx | 2 + src/components/UiComponents/Toast/index.ts | 2 + .../UiComponents/ViewForm/ViewForm.tsx | 2 + src/components/UiComponents/ViewForm/index.ts | 2 + .../VoiceLanguageSelect.tsx | 2 + .../UiComponents/VoiceLanguageSelect/index.ts | 2 + .../WorkflowStatus/WorkflowStatus.tsx | 2 + .../WorkflowStatus/WorkflowStatusTypes.ts | 2 + .../UiComponents/WorkflowStatus/index.ts | 2 + src/components/UiComponents/index.ts | 4 +- src/components/UnifiedDataBar/ChatsTab.tsx | 2 + .../DataSourceSettingsModal.tsx | 2 + src/components/UnifiedDataBar/FilesTab.tsx | 2 + src/components/UnifiedDataBar/SourcesTab.tsx | 2 +- .../UnifiedDataBar/UdbSourcesProvider.tsx | 2 +- .../UnifiedDataBar/UnifiedDataBar.tsx | 2 + .../__tests__/UdbSourcesProvider.test.ts | 2 +- src/components/UnifiedDataBar/index.ts | 2 + .../UnifiedDataBar/useUdlContext.ts | 2 + src/config/keepAliveRoutes.tsx | 2 + src/config/pageRegistry.tsx | 2 + src/contexts/FileContext.tsx | 2 + src/contexts/PekContext.tsx | 2 + src/contexts/ToastContext.tsx | 2 + src/contexts/VoiceCatalogContext.tsx | 2 + src/contexts/WorkflowSelectionContext.tsx | 2 + src/global.d.ts | 2 + src/hooks/useAccessRules.tsx | 2 + src/hooks/useAdminMandates.ts | 2 + src/hooks/useAdminRbacRoles.ts | 2 + src/hooks/useAdminRbacRules.ts | 2 + src/hooks/useAdminSubscriptions.ts | 2 + src/hooks/useApi.ts | 4 +- src/hooks/useAudioQueue.ts | 2 + src/hooks/useAuthentication.ts | 4 +- src/hooks/useBackgroundJob.ts | 2 + src/hooks/useBilling.ts | 2 + src/hooks/useCatalogObjects.ts | 2 + src/hooks/useCommcoach.ts | 2 + src/hooks/useCommcoachDashboard.ts | 2 + src/hooks/useConfirm.tsx | 2 + src/hooks/useConnections.ts | 4 +- src/hooks/useCurrentInstance.ts | 2 + src/hooks/useFeatureAccess.ts | 2 + src/hooks/useFiles.ts | 4 +- src/hooks/useInstancePermissions.tsx | 2 + src/hooks/useIntegrationsOverview.ts | 2 + src/hooks/useInvitations.ts | 2 + src/hooks/useMandateRoles.ts | 2 + src/hooks/useMandates.ts | 2 + src/hooks/useNavigation.ts | 2 + src/hooks/useNotifications.ts | 2 + src/hooks/usePek.ts | 2 + src/hooks/usePeriod.ts | 2 + src/hooks/usePermissions.ts | 2 + src/hooks/usePlayground.ts | 2 + src/hooks/usePrompt.tsx | 2 + src/hooks/usePrompts.ts | 4 +- src/hooks/useRealEstate.ts | 2 + src/hooks/useResizablePanels.ts | 2 + src/hooks/useSpeechAudioCapture.ts | 2 + src/hooks/useStore.ts | 2 + src/hooks/useSubscription.ts | 2 + src/hooks/useTreeExpansion.ts | 2 +- src/hooks/useTrustee.ts | 2 + src/hooks/useTrusteeAccess.ts | 2 + src/hooks/useTrusteeContracts.ts | 2 + src/hooks/useTrusteeDocuments.ts | 2 + src/hooks/useTrusteeOptions.ts | 2 + src/hooks/useTrusteeOrganisations.ts | 2 + src/hooks/useTrusteePositionDocuments.ts | 2 + src/hooks/useTrusteePositions.ts | 2 + src/hooks/useTrusteeRoles.ts | 2 + src/hooks/useTtsPlayback.ts | 2 + src/hooks/useUserMandates.ts | 2 + src/hooks/useUsers.ts | 4 +- src/hooks/useWorkflows.ts | 2 + src/layouts/FeatureLayout.tsx | 2 + src/layouts/MainLayout.tsx | 2 + src/layouts/index.ts | 2 + src/locales/index.ts | 2 + src/locales/types.ts | 2 + src/main.tsx | 2 + src/pages/ComplianceAuditPage.tsx | 2 + src/pages/Dashboard.tsx | 2 + src/pages/FeatureView.tsx | 2 + src/pages/GDPR.tsx | 2 + src/pages/IntegrationsOverviewPage.tsx | 2 + src/pages/InvitePage.tsx | 2 + src/pages/Login.tsx | 2 + src/pages/PasswordResetRequest.tsx | 2 + src/pages/RagInventoryPage.tsx | 2 + src/pages/Register.tsx | 2 + src/pages/Reset.tsx | 2 + src/pages/Settings.tsx | 2 + src/pages/Store.tsx | 2 + src/pages/admin/AccessManagementHub.tsx | 2 + src/pages/admin/AdminDatabaseHealthPage.tsx | 2 + src/pages/admin/AdminDemoConfigPage.tsx | 2 + src/pages/admin/AdminFeatureAccessPage.tsx | 2 + .../admin/AdminFeatureInstanceUsersPage.tsx | 2 + src/pages/admin/AdminFeatureRolesPage.tsx | 2 + src/pages/admin/AdminInvitationsPage.tsx | 2 + src/pages/admin/AdminLanguagesPage.tsx | 2 + src/pages/admin/AdminLogsPage.tsx | 2 + .../admin/AdminMandateRolePermissionsPage.tsx | 2 + src/pages/admin/AdminMandateRolesPage.tsx | 2 + src/pages/admin/AdminMandatesPage.tsx | 2 + .../admin/AdminUserAccessOverviewPage.tsx | 2 + src/pages/admin/AdminUserMandatesPage.tsx | 2 + src/pages/admin/AdminUsersPage.tsx | 2 + src/pages/admin/InstanceDetailModal.tsx | 2 + src/pages/admin/InstanceHierarchyView.tsx | 2 + src/pages/admin/PermissionMatrix.tsx | 2 + src/pages/admin/index.ts | 2 + .../wizards/AdminInvitationWizardPage.tsx | 2 + .../admin/wizards/AdminMandateWizardPage.tsx | 2 + .../admin/wizards/FeatureInstanceWizard.tsx | 2 + src/pages/admin/wizards/index.ts | 2 + src/pages/basedata/ConnectionsPage.tsx | 2 + src/pages/basedata/FilesPage.tsx | 111 +++++++++++++++++- src/pages/basedata/PromptsPage.tsx | 2 + src/pages/basedata/index.ts | 2 + src/pages/billing/AdminSubscriptionsPage.tsx | 2 + src/pages/billing/BillingAdmin.tsx | 2 + src/pages/billing/BillingDashboard.tsx | 2 + src/pages/billing/BillingDataView.tsx | 2 + src/pages/billing/BillingMandateView.tsx | 2 + src/pages/billing/BillingNav.tsx | 2 + src/pages/billing/BillingTransactions.tsx | 2 + src/pages/billing/BillingUserView.tsx | 2 + src/pages/billing/EnterpriseDialog.tsx | 2 + src/pages/billing/SubscriptionTab.tsx | 2 + src/pages/billing/index.ts | 2 + src/pages/index.ts | 2 + .../commcoach/CommcoachAssistantView.tsx | 2 + .../commcoach/CommcoachDashboardView.tsx | 2 + .../views/commcoach/CommcoachDossierView.tsx | 2 + .../views/commcoach/CommcoachModulesView.tsx | 2 + .../views/commcoach/CommcoachSessionView.tsx | 2 + .../views/commcoach/CommcoachSettingsView.tsx | 2 + src/pages/views/commcoach/index.ts | 2 + .../views/commcoach/useVoiceController.ts | 2 + .../neutralization/NeutralizationView.tsx | 2 + src/pages/views/neutralization/index.ts | 2 + .../realestate/RealEstateDashboardView.tsx | 2 + .../RealEstateInstanceRolesPlaceholder.tsx | 2 + .../realestate/RealEstateParcelsView.tsx | 2 + .../views/realestate/RealEstatePekView.tsx | 2 + .../realestate/RealEstateProjectsView.tsx | 2 + src/pages/views/realestate/index.ts | 2 + .../views/realestate/pek/PekLocationInput.tsx | 2 + src/pages/views/realestate/pek/PekMapView.tsx | 2 + .../views/redmine/RedmineBrowserView.tsx | 2 + .../views/redmine/RedmineSettingsView.tsx | 2 + src/pages/views/redmine/RedmineStatsView.tsx | 2 + .../views/redmine/RedmineTicketEditor.tsx | 2 + src/pages/views/redmine/index.ts | 2 + .../views/redmine/redmineTrackerColor.ts | 2 + src/pages/views/redmine/redmineTreeLogic.ts | 2 + .../views/teamsbot/TeamsbotAssistantView.tsx | 2 + .../views/teamsbot/TeamsbotDashboardView.tsx | 2 + .../views/teamsbot/TeamsbotModulesView.tsx | 2 + .../views/teamsbot/TeamsbotSessionView.tsx | 2 + .../views/teamsbot/TeamsbotSettingsView.tsx | 2 + .../views/trustee/TrusteeAbschlussView.tsx | 2 + .../trustee/TrusteeAccountingSettingsView.tsx | 2 + .../views/trustee/TrusteeAnalyseView.tsx | 2 + .../views/trustee/TrusteeDashboardView.tsx | 2 + .../views/trustee/TrusteeDataTablesView.tsx | 2 + .../views/trustee/TrusteeDocumentsView.tsx | 2 + .../trustee/TrusteeExpenseImportView.tsx | 2 + .../trustee/TrusteeImportProcessView.tsx | 2 + .../trustee/TrusteeInstanceRolesView.tsx | 2 + .../trustee/TrusteePositionDocumentsView.tsx | 2 + .../views/trustee/TrusteePositionsView.tsx | 2 + .../views/trustee/TrusteeScanUploadView.tsx | 2 + src/pages/views/trustee/components/index.ts | 2 + .../trustee/dataTables/TrusteeDataTab.tsx | 2 + src/pages/views/trustee/index.ts | 2 + .../views/trustee/trusteePipelineGraph.ts | 2 + .../workflowAutomation/WorkflowEditorPage.tsx | 2 + .../WorkflowTemplatesPage.tsx | 2 + src/pages/views/workspace/ChatStream.tsx | 2 + src/pages/views/workspace/FilePreview.tsx | 2 + .../views/workspace/NeutralizationPanel.tsx | 2 + src/pages/views/workspace/ToolActivityLog.tsx | 2 + .../views/workspace/WorkspaceEditorPage.tsx | 2 + .../workspace/WorkspaceGeneralSettings.tsx | 2 + src/pages/views/workspace/WorkspaceInput.tsx | 2 + src/pages/views/workspace/WorkspacePage.tsx | 2 + .../views/workspace/WorkspaceSettingsPage.tsx | 2 + src/pages/views/workspace/useWorkspace.ts | 2 + .../views/workspace/useWorkspaceEditor.ts | 2 + .../WorkflowAutomationHubPage.tsx | 2 + .../workflowAutomation/tabs/EditorTab.tsx | 2 + .../workflowAutomation/tabs/RunDetailTab.tsx | 2 + src/pages/workflowAutomation/tabs/RunsTab.tsx | 2 + .../workflowAutomation/tabs/TasksTab.tsx | 2 + .../workflowAutomation/tabs/TemplatesTab.tsx | 2 + .../workflowAutomation/tabs/WorkflowsTab.tsx | 2 + src/pages/workflowAutomation/types.ts | 2 + src/providers/auth/ProtectedRoute.tsx | 2 + src/providers/language/LanguageContext.tsx | 2 + src/stores/featureStore.tsx | 2 + src/test/setup.ts | 2 + src/types/keepAlive.types.ts | 2 + src/types/mandate.ts | 2 + src/utils/applyFrontendFormat.ts | 2 +- src/utils/attributeTypeMapper.ts | 2 + src/utils/columnTypeResolver.ts | 2 + src/utils/csrfUtils.ts | 2 + src/utils/formatAmount.ts | 2 + src/utils/formatDataSize.ts | 2 + src/utils/mandateBillingFormMerge.ts | 2 + src/utils/mandateDisplayUtils.ts | 2 + src/utils/mandateNameUtils.ts | 2 + src/utils/scheduleCron.ts | 2 + src/utils/slugUtils.ts | 2 + src/utils/sseClient.ts | 2 + src/utils/time.ts | 2 + src/utils/userCache.ts | 2 + src/vite-env.d.ts | 2 + vite.config.ts | 2 + vitest.config.ts | 2 +- work-around/pek.ts | 2 + work-around/pek/PekLocationInput.tsx | 2 + work-around/pek/PekMapView.tsx | 2 + work-around/pek/PekPageWrapper.tsx | 2 + work-around/pek/pek-tables.ts | 2 + 457 files changed, 1026 insertions(+), 21 deletions(-) diff --git a/config/config.ts b/config/config.ts index 0e5a800..3177cef 100644 --- a/config/config.ts +++ b/config/config.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Configuration — reads mandatory env vars set by .env (copied from config/env-*.env by CI). * diff --git a/config/index.ts b/config/index.ts index 29a7147..31d4776 100644 --- a/config/index.ts +++ b/config/index.ts @@ -1 +1,3 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { getApiBaseUrl, getAppName } from './config'; diff --git a/env.d.ts b/env.d.ts index 0533123..e9b2eab 100644 --- a/env.d.ts +++ b/env.d.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /// interface ImportMetaEnv { diff --git a/src/App.tsx b/src/App.tsx index 5c4d66b..ebbc86c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * App.tsx * diff --git a/src/api.ts b/src/api.ts index 43e863d..7902246 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. // api.ts import axios from 'axios'; import { addCSRFTokenToHeaders, getCSRFToken, generateAndStoreCSRFToken } from './utils/csrfUtils'; diff --git a/src/api/attributesApi.ts b/src/api/attributesApi.ts index b01f5b9..6956fd4 100644 --- a/src/api/attributesApi.ts +++ b/src/api/attributesApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; import type { AttributeType } from '../utils/attributeTypeMapper'; diff --git a/src/api/authApi.ts b/src/api/authApi.ts index 7c691c9..e5245bb 100644 --- a/src/api/authApi.ts +++ b/src/api/authApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; import api from '../api'; import { addCSRFTokenToHeaders } from '../utils/csrfUtils'; diff --git a/src/api/billingApi.ts b/src/api/billingApi.ts index 8094658..52e71a9 100644 --- a/src/api/billingApi.ts +++ b/src/api/billingApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/clickupApi.ts b/src/api/clickupApi.ts index 873792a..eaca3a1 100644 --- a/src/api/clickupApi.ts +++ b/src/api/clickupApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ClickUp API — ClickUp-specific functions for the workflow automation flow editor. * diff --git a/src/api/commcoachApi.ts b/src/api/commcoachApi.ts index 5d758a1..825261c 100644 --- a/src/api/commcoachApi.ts +++ b/src/api/commcoachApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import api from '../api'; import { addCSRFTokenToHeaders, getCSRFToken, generateAndStoreCSRFToken } from '../utils/csrfUtils'; import { ApiRequestOptions } from '../hooks/useApi'; diff --git a/src/api/connectionApi.ts b/src/api/connectionApi.ts index 0322c66..3185f6f 100644 --- a/src/api/connectionApi.ts +++ b/src/api/connectionApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/featuresApi.ts b/src/api/featuresApi.ts index 441fabc..2bf59f3 100644 --- a/src/api/featuresApi.ts +++ b/src/api/featuresApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Features API * diff --git a/src/api/fileApi.ts b/src/api/fileApi.ts index c153b5f..75c03a2 100644 --- a/src/api/fileApi.ts +++ b/src/api/fileApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/mandateApi.ts b/src/api/mandateApi.ts index 24aee62..1871bf4 100644 --- a/src/api/mandateApi.ts +++ b/src/api/mandateApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/neutralizationApi.ts b/src/api/neutralizationApi.ts index a153fbd..2d0c8cb 100644 --- a/src/api/neutralizationApi.ts +++ b/src/api/neutralizationApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Neutralization API * diff --git a/src/api/permissionApi.ts b/src/api/permissionApi.ts index e2b6b53..b9e40c1 100644 --- a/src/api/permissionApi.ts +++ b/src/api/permissionApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/promptApi.ts b/src/api/promptApi.ts index 164a633..839533c 100644 --- a/src/api/promptApi.ts +++ b/src/api/promptApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/rbacRulesApi.ts b/src/api/rbacRulesApi.ts index 0575cb6..0ed4a18 100644 --- a/src/api/rbacRulesApi.ts +++ b/src/api/rbacRulesApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/realEstateApi.ts b/src/api/realEstateApi.ts index c043485..739c3bb 100644 --- a/src/api/realEstateApi.ts +++ b/src/api/realEstateApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import api from '../api'; import type { ApiRequestOptions } from '../hooks/useApi'; diff --git a/src/api/redmineApi.ts b/src/api/redmineApi.ts index 39bc545..0c25285 100644 --- a/src/api/redmineApi.ts +++ b/src/api/redmineApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Redmine API * diff --git a/src/api/roleApi.ts b/src/api/roleApi.ts index 674aa57..3d19404 100644 --- a/src/api/roleApi.ts +++ b/src/api/roleApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/storeApi.ts b/src/api/storeApi.ts index 131596d..dbc490a 100644 --- a/src/api/storeApi.ts +++ b/src/api/storeApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Store API * diff --git a/src/api/subscriptionApi.ts b/src/api/subscriptionApi.ts index 119c348..01bcd8d 100644 --- a/src/api/subscriptionApi.ts +++ b/src/api/subscriptionApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/tableViewApi.ts b/src/api/tableViewApi.ts index 08039e8..ba740a5 100644 --- a/src/api/tableViewApi.ts +++ b/src/api/tableViewApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import api from '../api'; export interface TableListViewRow { diff --git a/src/api/teamsbotApi.ts b/src/api/teamsbotApi.ts index 627ecc9..175b7e6 100644 --- a/src/api/teamsbotApi.ts +++ b/src/api/teamsbotApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import api from '../api'; import type { VoiceOption } from './voiceCatalogApi'; diff --git a/src/api/trusteeApi.ts b/src/api/trusteeApi.ts index 9419320..14a5d55 100644 --- a/src/api/trusteeApi.ts +++ b/src/api/trusteeApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Trustee API * diff --git a/src/api/userApi.ts b/src/api/userApi.ts index 3615375..1f5ca14 100644 --- a/src/api/userApi.ts +++ b/src/api/userApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { ApiRequestOptions } from '../hooks/useApi'; // ============================================================================ diff --git a/src/api/voiceCatalogApi.ts b/src/api/voiceCatalogApi.ts index 1bdf731..da8285c 100644 --- a/src/api/voiceCatalogApi.ts +++ b/src/api/voiceCatalogApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Voice / Language Catalog API. * diff --git a/src/api/workflowAutomationApi.ts b/src/api/workflowAutomationApi.ts index a59f1bd..3400e43 100644 --- a/src/api/workflowAutomationApi.ts +++ b/src/api/workflowAutomationApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Automation API (mandate-scoped) * diff --git a/src/components/AccessRules/AccessLevelSelect.tsx b/src/components/AccessRules/AccessLevelSelect.tsx index cada42e..e8cfd64 100644 --- a/src/components/AccessRules/AccessLevelSelect.tsx +++ b/src/components/AccessRules/AccessLevelSelect.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AccessLevelSelect * diff --git a/src/components/AccessRules/AccessRulesEditor.tsx b/src/components/AccessRules/AccessRulesEditor.tsx index 12619de..d13392e 100644 --- a/src/components/AccessRules/AccessRulesEditor.tsx +++ b/src/components/AccessRules/AccessRulesEditor.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AccessRulesEditor * diff --git a/src/components/AccessRules/AccessRulesTable.tsx b/src/components/AccessRules/AccessRulesTable.tsx index 61c713e..c695dba 100644 --- a/src/components/AccessRules/AccessRulesTable.tsx +++ b/src/components/AccessRules/AccessRulesTable.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AccessRulesTable * diff --git a/src/components/AccessRules/index.ts b/src/components/AccessRules/index.ts index 3fe301e..758445f 100644 --- a/src/components/AccessRules/index.ts +++ b/src/components/AccessRules/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AccessRules Components * diff --git a/src/components/AddConnectionWizard/AddConnectionWizard.tsx b/src/components/AddConnectionWizard/AddConnectionWizard.tsx index 92ec51a..b375b94 100644 --- a/src/components/AddConnectionWizard/AddConnectionWizard.tsx +++ b/src/components/AddConnectionWizard/AddConnectionWizard.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AddConnectionWizard * diff --git a/src/components/Chat/ChatInput.tsx b/src/components/Chat/ChatInput.tsx index c9efb60..578fa6d 100644 --- a/src/components/Chat/ChatInput.tsx +++ b/src/components/Chat/ChatInput.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ChatInput -- Shared chat input component. * diff --git a/src/components/Chat/ChatMessageList.tsx b/src/components/Chat/ChatMessageList.tsx index 2234934..7dd0143 100644 --- a/src/components/Chat/ChatMessageList.tsx +++ b/src/components/Chat/ChatMessageList.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ChatMessageList -- Shared chat message display component. * diff --git a/src/components/Chat/index.ts b/src/components/Chat/index.ts index c08a34d..05d54c2 100644 --- a/src/components/Chat/index.ts +++ b/src/components/Chat/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { ChatMessageList } from './ChatMessageList'; export type { ChatMessage } from './ChatMessageList'; export { ChatInput } from './ChatInput'; diff --git a/src/components/ContentPreview/ContentPreview.tsx b/src/components/ContentPreview/ContentPreview.tsx index 6f753a6..6919cd8 100644 --- a/src/components/ContentPreview/ContentPreview.tsx +++ b/src/components/ContentPreview/ContentPreview.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useCallback, useEffect, useState } from 'react'; import { IoIosDownload, IoIosCopy } from 'react-icons/io'; diff --git a/src/components/ContentPreview/UrlContentPreview.tsx b/src/components/ContentPreview/UrlContentPreview.tsx index 8648275..37fceb4 100644 --- a/src/components/ContentPreview/UrlContentPreview.tsx +++ b/src/components/ContentPreview/UrlContentPreview.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect } from 'react'; import { IoIosDownload } from 'react-icons/io'; import { Popup, PopupAction } from '../UiComponents/Popup/Popup'; diff --git a/src/components/ContentPreview/index.ts b/src/components/ContentPreview/index.ts index ef362b7..559929a 100644 --- a/src/components/ContentPreview/index.ts +++ b/src/components/ContentPreview/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { ContentPreview } from './ContentPreview'; export type { ContentPreviewProps } from './ContentPreview'; export { UrlContentPreview } from './UrlContentPreview'; diff --git a/src/components/ContentPreview/renderers/ApplicationRenderer.tsx b/src/components/ContentPreview/renderers/ApplicationRenderer.tsx index 2495ec3..f0b4c7d 100644 --- a/src/components/ContentPreview/renderers/ApplicationRenderer.tsx +++ b/src/components/ContentPreview/renderers/ApplicationRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import styles from '../ContentPreview.module.css'; interface ApplicationRendererProps { diff --git a/src/components/ContentPreview/renderers/ErrorRenderer.tsx b/src/components/ContentPreview/renderers/ErrorRenderer.tsx index 36608d1..6c226d7 100644 --- a/src/components/ContentPreview/renderers/ErrorRenderer.tsx +++ b/src/components/ContentPreview/renderers/ErrorRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from '../ContentPreview.module.css'; diff --git a/src/components/ContentPreview/renderers/ExcelRenderer.tsx b/src/components/ContentPreview/renderers/ExcelRenderer.tsx index b4133f9..9782a92 100644 --- a/src/components/ContentPreview/renderers/ExcelRenderer.tsx +++ b/src/components/ContentPreview/renderers/ExcelRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useEffect, useMemo, useState } from 'react'; import * as XLSX from 'xlsx'; import { useLanguage } from '../../../providers/language/LanguageContext'; diff --git a/src/components/ContentPreview/renderers/HtmlRenderer.tsx b/src/components/ContentPreview/renderers/HtmlRenderer.tsx index 9627884..76e9467 100644 --- a/src/components/ContentPreview/renderers/HtmlRenderer.tsx +++ b/src/components/ContentPreview/renderers/HtmlRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import styles from '../ContentPreview.module.css'; interface HtmlRendererProps { diff --git a/src/components/ContentPreview/renderers/ImageRenderer.tsx b/src/components/ContentPreview/renderers/ImageRenderer.tsx index 9940ecd..c0f6491 100644 --- a/src/components/ContentPreview/renderers/ImageRenderer.tsx +++ b/src/components/ContentPreview/renderers/ImageRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import styles from '../ContentPreview.module.css'; interface ImageRendererProps { diff --git a/src/components/ContentPreview/renderers/JsonRenderer.tsx b/src/components/ContentPreview/renderers/JsonRenderer.tsx index 783789a..9307a56 100644 --- a/src/components/ContentPreview/renderers/JsonRenderer.tsx +++ b/src/components/ContentPreview/renderers/JsonRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState } from 'react'; import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from '../ContentPreview.module.css'; diff --git a/src/components/ContentPreview/renderers/LoadingRenderer.tsx b/src/components/ContentPreview/renderers/LoadingRenderer.tsx index afe011a..d974f56 100644 --- a/src/components/ContentPreview/renderers/LoadingRenderer.tsx +++ b/src/components/ContentPreview/renderers/LoadingRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from '../ContentPreview.module.css'; diff --git a/src/components/ContentPreview/renderers/PdfJsRenderer.tsx b/src/components/ContentPreview/renderers/PdfJsRenderer.tsx index 2042f3a..dda8cd1 100644 --- a/src/components/ContentPreview/renderers/PdfJsRenderer.tsx +++ b/src/components/ContentPreview/renderers/PdfJsRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useEffect, useRef, useState } from 'react'; // @ts-ignore import * as pdfjsLib from 'pdfjs-dist'; diff --git a/src/components/ContentPreview/renderers/PdfRenderer.tsx b/src/components/ContentPreview/renderers/PdfRenderer.tsx index 5f57cbc..ee24a89 100644 --- a/src/components/ContentPreview/renderers/PdfRenderer.tsx +++ b/src/components/ContentPreview/renderers/PdfRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { IoIosWarning } from 'react-icons/io'; import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from '../ContentPreview.module.css'; diff --git a/src/components/ContentPreview/renderers/TextRenderer.tsx b/src/components/ContentPreview/renderers/TextRenderer.tsx index f1876a3..f0cc587 100644 --- a/src/components/ContentPreview/renderers/TextRenderer.tsx +++ b/src/components/ContentPreview/renderers/TextRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import styles from '../ContentPreview.module.css'; import { useLanguage } from '../../../providers/language/LanguageContext'; diff --git a/src/components/ContentPreview/renderers/UnsupportedRenderer.tsx b/src/components/ContentPreview/renderers/UnsupportedRenderer.tsx index 0c71258..5fa6971 100644 --- a/src/components/ContentPreview/renderers/UnsupportedRenderer.tsx +++ b/src/components/ContentPreview/renderers/UnsupportedRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from '../ContentPreview.module.css'; diff --git a/src/components/ContentPreview/renderers/WordRenderer.tsx b/src/components/ContentPreview/renderers/WordRenderer.tsx index 6623f3e..0195059 100644 --- a/src/components/ContentPreview/renderers/WordRenderer.tsx +++ b/src/components/ContentPreview/renderers/WordRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useEffect, useMemo, useRef, useState } from 'react'; import { renderAsync } from 'docx-preview'; import { useLanguage } from '../../../providers/language/LanguageContext'; diff --git a/src/components/ContentPreview/renderers/index.ts b/src/components/ContentPreview/renderers/index.ts index 223f4e4..508cb72 100644 --- a/src/components/ContentPreview/renderers/index.ts +++ b/src/components/ContentPreview/renderers/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { JsonRenderer } from './JsonRenderer'; export { ImageRenderer } from './ImageRenderer'; export { TextRenderer } from './TextRenderer'; diff --git a/src/components/FlowEditor/context/WorkflowDataFlowContext.tsx b/src/components/FlowEditor/context/WorkflowDataFlowContext.tsx index 19096ca..0573d1f 100644 --- a/src/components/FlowEditor/context/WorkflowDataFlowContext.tsx +++ b/src/components/FlowEditor/context/WorkflowDataFlowContext.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Data flow context for Data Picker and DynamicValueField. * Extended with portTypeCatalog and systemVariables for the Typed Port System. diff --git a/src/components/FlowEditor/editor/CanvasHeader.tsx b/src/components/FlowEditor/editor/CanvasHeader.tsx index f1fce45..5046036 100644 --- a/src/components/FlowEditor/editor/CanvasHeader.tsx +++ b/src/components/FlowEditor/editor/CanvasHeader.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * CanvasHeader - Workflow controls, version selector, and execute result. */ diff --git a/src/components/FlowEditor/editor/EditorChatPanel.tsx b/src/components/FlowEditor/editor/EditorChatPanel.tsx index 0eb8a25..37220f7 100644 --- a/src/components/FlowEditor/editor/EditorChatPanel.tsx +++ b/src/components/FlowEditor/editor/EditorChatPanel.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * EditorChatPanel * diff --git a/src/components/FlowEditor/editor/EditorWorkflowChatList.tsx b/src/components/FlowEditor/editor/EditorWorkflowChatList.tsx index ef614ca..553e914 100644 --- a/src/components/FlowEditor/editor/EditorWorkflowChatList.tsx +++ b/src/components/FlowEditor/editor/EditorWorkflowChatList.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * EditorWorkflowChatList * diff --git a/src/components/FlowEditor/editor/FlowCanvas.tsx b/src/components/FlowEditor/editor/FlowCanvas.tsx index a953620..15ce4af 100644 --- a/src/components/FlowEditor/editor/FlowCanvas.tsx +++ b/src/components/FlowEditor/editor/FlowCanvas.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FlowCanvas - Workflow graph canvas with nodes and connection lines. * Nodes have 4 connection handles (one per side), drag nodes to add, connect with arrows. diff --git a/src/components/FlowEditor/editor/NodeConfigPanel.tsx b/src/components/FlowEditor/editor/NodeConfigPanel.tsx index 9801934..85d3768 100644 --- a/src/components/FlowEditor/editor/NodeConfigPanel.tsx +++ b/src/components/FlowEditor/editor/NodeConfigPanel.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * NodeConfigPanel - Generic parameter renderer for all node types. * Renders each parameter using FRONTEND_TYPE_RENDERERS based on frontendType. diff --git a/src/components/FlowEditor/editor/NodeListItem.tsx b/src/components/FlowEditor/editor/NodeListItem.tsx index 12c9d2b..c7f9c64 100644 --- a/src/components/FlowEditor/editor/NodeListItem.tsx +++ b/src/components/FlowEditor/editor/NodeListItem.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * NodeListItem - Draggable node type item for the sidebar. * Used in both regular categories and I/O sub-groups. diff --git a/src/components/FlowEditor/editor/NodeSidebar.tsx b/src/components/FlowEditor/editor/NodeSidebar.tsx index ccd6bf9..f3171c0 100644 --- a/src/components/FlowEditor/editor/NodeSidebar.tsx +++ b/src/components/FlowEditor/editor/NodeSidebar.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * NodeSidebar - Sidebar with searchable, collapsible node list. * Groups node types by category (start, input, flow, data, ai, email, sharepoint). diff --git a/src/components/FlowEditor/editor/RunTracingPanel.tsx b/src/components/FlowEditor/editor/RunTracingPanel.tsx index cbb1995..8566b9c 100644 --- a/src/components/FlowEditor/editor/RunTracingPanel.tsx +++ b/src/components/FlowEditor/editor/RunTracingPanel.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * RunTracingPanel * diff --git a/src/components/FlowEditor/editor/TemplatePicker.tsx b/src/components/FlowEditor/editor/TemplatePicker.tsx index aedff64..bf04da9 100644 --- a/src/components/FlowEditor/editor/TemplatePicker.tsx +++ b/src/components/FlowEditor/editor/TemplatePicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * TemplatePicker - modal to browse and select a workflow template for creating a new workflow. */ diff --git a/src/components/FlowEditor/editor/WorkflowFlowEditor.tsx b/src/components/FlowEditor/editor/WorkflowFlowEditor.tsx index 1c8fd17..953a740 100644 --- a/src/components/FlowEditor/editor/WorkflowFlowEditor.tsx +++ b/src/components/FlowEditor/editor/WorkflowFlowEditor.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * WorkflowFlowEditor * diff --git a/src/components/FlowEditor/index.ts b/src/components/FlowEditor/index.ts index 4909cfd..bfe43fe 100644 --- a/src/components/FlowEditor/index.ts +++ b/src/components/FlowEditor/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { WorkflowFlowEditor, WorkflowFlowEditor as FlowEditor } from './editor/WorkflowFlowEditor'; export type { PendingFile, EditorDataSource, EditorFeatureDataSource } from './editor/EditorChatPanel'; export { FlowCanvas, STICKY_NOTE_PALETTE, STICKY_NOTE_DEFAULT_COLOR_ID, STICKY_NOTE_DEFAULT_HEIGHT, getStickyNotePaletteEntry } from './editor/FlowCanvas'; diff --git a/src/components/FlowEditor/nodes/form/FormFieldOptionsEditor.tsx b/src/components/FlowEditor/nodes/form/FormFieldOptionsEditor.tsx index ff3cf92..b40310f 100644 --- a/src/components/FlowEditor/nodes/form/FormFieldOptionsEditor.tsx +++ b/src/components/FlowEditor/nodes/form/FormFieldOptionsEditor.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * One text field per option — the text the end user sees in the dropdown. * Stored as { value, label } with the same string so payload and UI stay in sync. diff --git a/src/components/FlowEditor/nodes/form/FormNodeConfig.tsx b/src/components/FlowEditor/nodes/form/FormNodeConfig.tsx index c81c380..ef08a97 100644 --- a/src/components/FlowEditor/nodes/form/FormNodeConfig.tsx +++ b/src/components/FlowEditor/nodes/form/FormNodeConfig.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Form node config - draggable fields, types, required toggle */ diff --git a/src/components/FlowEditor/nodes/form/formFieldOptionsUtils.ts b/src/components/FlowEditor/nodes/form/formFieldOptionsUtils.ts index 8d7b9e6..8677dda 100644 --- a/src/components/FlowEditor/nodes/form/formFieldOptionsUtils.ts +++ b/src/components/FlowEditor/nodes/form/formFieldOptionsUtils.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Helpers for optional select/multiselect rows on workflow form field definitions. */ diff --git a/src/components/FlowEditor/nodes/form/index.ts b/src/components/FlowEditor/nodes/form/index.ts index 162018d..f185373 100644 --- a/src/components/FlowEditor/nodes/form/index.ts +++ b/src/components/FlowEditor/nodes/form/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { FormNodeConfig } from './FormNodeConfig'; export { FormFieldOptionsEditor } from './FormFieldOptionsEditor'; export type { FormFieldOptionRow } from './formFieldOptionsUtils'; diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/CaseListEditor.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/CaseListEditor.tsx index 43983d0..4a45c5a 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/CaseListEditor.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/CaseListEditor.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Backend-driven case list for flow.switch (depends on value dataRef). */ diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/ClickUpListPicker.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/ClickUpListPicker.tsx index ed2b56f..9d26c3d 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/ClickUpListPicker.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/ClickUpListPicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * clickupList — hierarchical ClickUp list picker via connector browse API. */ diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/ConditionEditor.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/ConditionEditor.tsx index aeeba22..c68ed1e 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/ConditionEditor.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/ConditionEditor.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Backend-driven condition editor for flow.ifElse (depends on Item dataRef). */ diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextAssignmentsEditor.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextAssignmentsEditor.tsx index dc81e1c..66d3377 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextAssignmentsEditor.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextAssignmentsEditor.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * One place to configure context.setContext rows: target key, then either * upstream picker, a fixed literal, or a human task. diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextBuilderRenderer.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextBuilderRenderer.tsx index 19058aa..f1b0005 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextBuilderRenderer.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/ContextBuilderRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ContextBuilderRenderer — multi-select context binding for AI nodes. * diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/DataRefRenderer.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/DataRefRenderer.tsx index f762780..562c069 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/DataRefRenderer.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/DataRefRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * DataRefRenderer — Pick-not-Push attribute binding using the existing * hierarchical DataPicker. diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/FeatureInstancePicker.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/FeatureInstancePicker.tsx index 572ac3d..f632a41 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/FeatureInstancePicker.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/FeatureInstancePicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FeatureInstancePicker — renderer for frontendType="featureInstance". * diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/TemplateTextareaRenderer.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/TemplateTextareaRenderer.tsx index add7946..18efb9b 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/TemplateTextareaRenderer.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/TemplateTextareaRenderer.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * TemplateTextarea — Freitext mit eingebetteten {{nodeId.path}} Tokens. * Tokens werden zur Laufzeit von resolveParameterReferences aufgeloest (Gateway). diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/UserFileFolderPicker.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/UserFileFolderPicker.tsx index 5a8655f..5f8a85f 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/UserFileFolderPicker.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/UserFileFolderPicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * userFileFolder — FormGeneratorTree embedded: combobox-style trigger + expandable tree. */ diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.test.ts b/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.test.ts index e67613a..0266df6 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.test.ts +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.test.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { describe, expect, it } from 'vitest'; import { clickupBrowseParentPath, diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.ts b/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.ts index 3d9df92..8b6b547 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.ts +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/clickupPathUtils.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** Parse virtual ClickUp list paths: /team/{teamId}/list/{listId} */ const LIST_PATH_RE = /^\/team\/([^/]+)\/list\/([^/]+)$/; diff --git a/src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx b/src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx index cd1e415..675c09a 100644 --- a/src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx +++ b/src/components/FlowEditor/nodes/frontendTypeRenderers/index.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Generic FrontendType renderer registry. * Maps frontendType strings to React components. diff --git a/src/components/FlowEditor/nodes/ifElse/index.ts b/src/components/FlowEditor/nodes/ifElse/index.ts index e81eee8..89a5496 100644 --- a/src/components/FlowEditor/nodes/ifElse/index.ts +++ b/src/components/FlowEditor/nodes/ifElse/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { ConditionEditor as IfElseNodeConfig } from '../frontendTypeRenderers/ConditionEditor'; export type { StructuredCondition } from '../frontendTypeRenderers/ConditionEditor'; diff --git a/src/components/FlowEditor/nodes/loop/LoopNodeConfig.tsx b/src/components/FlowEditor/nodes/loop/LoopNodeConfig.tsx index 713e93a..e358981 100644 --- a/src/components/FlowEditor/nodes/loop/LoopNodeConfig.tsx +++ b/src/components/FlowEditor/nodes/loop/LoopNodeConfig.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Loop node config - Datenquelle für Iteration mit benutzerfreundlichen Labels. * Z.B. für jedes Formularfeld, jede Datei aus Upload, jede E-Mail aus Suche. diff --git a/src/components/FlowEditor/nodes/loop/index.ts b/src/components/FlowEditor/nodes/loop/index.ts index 7118154..85ee2ab 100644 --- a/src/components/FlowEditor/nodes/loop/index.ts +++ b/src/components/FlowEditor/nodes/loop/index.ts @@ -1 +1,3 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { LoopNodeConfig } from './LoopNodeConfig'; diff --git a/src/components/FlowEditor/nodes/runtime/fileTypeMimeMapping.ts b/src/components/FlowEditor/nodes/runtime/fileTypeMimeMapping.ts index f85d50f..a0a38c7 100644 --- a/src/components/FlowEditor/nodes/runtime/fileTypeMimeMapping.ts +++ b/src/components/FlowEditor/nodes/runtime/fileTypeMimeMapping.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Shared mapping: file type options (accept strings) → MIME types. * Used by Upload node config (allowed types) and IfElse node (mimeType comparison). diff --git a/src/components/FlowEditor/nodes/shared/AiBadge.tsx b/src/components/FlowEditor/nodes/shared/AiBadge.tsx index 70b4486..4e6ca9c 100644 --- a/src/components/FlowEditor/nodes/shared/AiBadge.tsx +++ b/src/components/FlowEditor/nodes/shared/AiBadge.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Small label for workflow nodes that consume AI credits (LLM calls). */ diff --git a/src/components/FlowEditor/nodes/shared/DataPicker.tsx b/src/components/FlowEditor/nodes/shared/DataPicker.tsx index 8396ca4..78a0a38 100644 --- a/src/components/FlowEditor/nodes/shared/DataPicker.tsx +++ b/src/components/FlowEditor/nodes/shared/DataPicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Schema-based Data Picker. * Builds pickable paths from portTypeCatalog + node outputPorts, or from diff --git a/src/components/FlowEditor/nodes/shared/DynamicValueField.tsx b/src/components/FlowEditor/nodes/shared/DynamicValueField.tsx index 825e94c..67202f3 100644 --- a/src/components/FlowEditor/nodes/shared/DynamicValueField.tsx +++ b/src/components/FlowEditor/nodes/shared/DynamicValueField.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Field that supports node reference only (no static value). */ diff --git a/src/components/FlowEditor/nodes/shared/HybridStaticRefField.tsx b/src/components/FlowEditor/nodes/shared/HybridStaticRefField.tsx index b5f8f88..e3a65fe 100644 --- a/src/components/FlowEditor/nodes/shared/HybridStaticRefField.tsx +++ b/src/components/FlowEditor/nodes/shared/HybridStaticRefField.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Text/number field: „Quelle wählen“ → Statisch (Eingabe) oder Kontext-Ref. * Textfeld nur bei „Statisch“, nicht bei Kontext-Referenz. diff --git a/src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx b/src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx index 0dd02e3..0606faa 100644 --- a/src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx +++ b/src/components/FlowEditor/nodes/shared/LoopItemsSelect.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Loop node - Datenquelle für Iteration mit benutzerfreundlichen Labels. * Zeigt nur iterierbare Quellen: Arrays und Objekte (Formularfelder → {name, value}). diff --git a/src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx b/src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx index bf69360..ee68ed7 100644 --- a/src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx +++ b/src/components/FlowEditor/nodes/shared/RefSourceSelect.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Inline dropdown to select a data source (node + path) - no popup. * Form nodes (trigger.form / input.form): only payload. paths (no duplicate tree). diff --git a/src/components/FlowEditor/nodes/shared/RequiredAttributePicker.tsx b/src/components/FlowEditor/nodes/shared/RequiredAttributePicker.tsx index d4dd8ee..8baaa6a 100644 --- a/src/components/FlowEditor/nodes/shared/RequiredAttributePicker.tsx +++ b/src/components/FlowEditor/nodes/shared/RequiredAttributePicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * RequiredAttributePicker — Phase-4 Schicht-4 binding affordance for * required parameters of a Schicht-3 Adapter (Editor-Node). diff --git a/src/components/FlowEditor/nodes/shared/categoryIcons.tsx b/src/components/FlowEditor/nodes/shared/categoryIcons.tsx index 2285857..e374b5b 100644 --- a/src/components/FlowEditor/nodes/shared/categoryIcons.tsx +++ b/src/components/FlowEditor/nodes/shared/categoryIcons.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Category icons for node types */ diff --git a/src/components/FlowEditor/nodes/shared/conditionOperators.ts b/src/components/FlowEditor/nodes/shared/conditionOperators.ts index 1b00956..6baeae7 100644 --- a/src/components/FlowEditor/nodes/shared/conditionOperators.ts +++ b/src/components/FlowEditor/nodes/shared/conditionOperators.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Shared condition operators for If/Else and Switch nodes. * Type-dependent: number gets <, >, etc.; string gets contains, equals, etc. diff --git a/src/components/FlowEditor/nodes/shared/constants.ts b/src/components/FlowEditor/nodes/shared/constants.ts index ea55141..edca8dd 100644 --- a/src/components/FlowEditor/nodes/shared/constants.ts +++ b/src/components/FlowEditor/nodes/shared/constants.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Constants * Category ordering for node sidebar. diff --git a/src/components/FlowEditor/nodes/shared/dataFlowGraph.ts b/src/components/FlowEditor/nodes/shared/dataFlowGraph.ts index cdad68a..3df7901 100644 --- a/src/components/FlowEditor/nodes/shared/dataFlowGraph.ts +++ b/src/components/FlowEditor/nodes/shared/dataFlowGraph.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Graph helpers for data flow (ancestors, topo order). */ diff --git a/src/components/FlowEditor/nodes/shared/dataRef.ts b/src/components/FlowEditor/nodes/shared/dataRef.ts index 0964a56..1081323 100644 --- a/src/components/FlowEditor/nodes/shared/dataRef.ts +++ b/src/components/FlowEditor/nodes/shared/dataRef.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Data reference format and helpers. * All dynamic values use structured ref/value objects, not plain strings. diff --git a/src/components/FlowEditor/nodes/shared/graphUtils.ts b/src/components/FlowEditor/nodes/shared/graphUtils.ts index a69c787..81528a1 100644 --- a/src/components/FlowEditor/nodes/shared/graphUtils.ts +++ b/src/components/FlowEditor/nodes/shared/graphUtils.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Graph conversion utilities * Converts between API graph format and canvas internal format. diff --git a/src/components/FlowEditor/nodes/shared/outputPreviewRegistry.ts b/src/components/FlowEditor/nodes/shared/outputPreviewRegistry.ts index d491ceb..6ce34e3 100644 --- a/src/components/FlowEditor/nodes/shared/outputPreviewRegistry.ts +++ b/src/components/FlowEditor/nodes/shared/outputPreviewRegistry.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Schema-based output preview builders. * Derives preview trees from portTypeCatalog + node outputPorts. diff --git a/src/components/FlowEditor/nodes/shared/paramValidation.ts b/src/components/FlowEditor/nodes/shared/paramValidation.ts index 49dc7f8..4a3dd01 100644 --- a/src/components/FlowEditor/nodes/shared/paramValidation.ts +++ b/src/components/FlowEditor/nodes/shared/paramValidation.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Phase-4 Schicht-4 (Instanz-Bindings) — Validation utilities. * diff --git a/src/components/FlowEditor/nodes/shared/types.ts b/src/components/FlowEditor/nodes/shared/types.ts index b12de4a..5fe541d 100644 --- a/src/components/FlowEditor/nodes/shared/types.ts +++ b/src/components/FlowEditor/nodes/shared/types.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Shared types for node config renderers */ diff --git a/src/components/FlowEditor/nodes/shared/utils.ts b/src/components/FlowEditor/nodes/shared/utils.ts index 76ec62b..25342b0 100644 --- a/src/components/FlowEditor/nodes/shared/utils.ts +++ b/src/components/FlowEditor/nodes/shared/utils.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Workflow Flow Editor - Utility functions */ diff --git a/src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx b/src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx index e90545c..4665aff 100644 --- a/src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx +++ b/src/components/FlowEditor/nodes/start/FormStartNodeConfig.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Start node (Formular) — define fields that appear at run time (payload.*). */ diff --git a/src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx b/src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx index 959da1d..aed8e0a 100644 --- a/src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx +++ b/src/components/FlowEditor/nodes/start/ScheduleStartNodeConfig.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Start node (Zeitplan) — Accordion planner; gespeichert werden cron + schedule. */ diff --git a/src/components/FlowEditor/nodes/start/StartNodeConfig.tsx b/src/components/FlowEditor/nodes/start/StartNodeConfig.tsx index a297597..5b51fb3 100644 --- a/src/components/FlowEditor/nodes/start/StartNodeConfig.tsx +++ b/src/components/FlowEditor/nodes/start/StartNodeConfig.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Start node (trigger.manual) — documentation only. Entry points are configured * on the workflow (Starts), not on this node. diff --git a/src/components/FlowEditor/nodes/start/index.ts b/src/components/FlowEditor/nodes/start/index.ts index 6d98935..0856703 100644 --- a/src/components/FlowEditor/nodes/start/index.ts +++ b/src/components/FlowEditor/nodes/start/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { StartNodeConfig } from './StartNodeConfig'; export { FormStartNodeConfig } from './FormStartNodeConfig'; export { ScheduleStartNodeConfig } from './ScheduleStartNodeConfig'; diff --git a/src/components/FlowEditor/nodes/switch/index.ts b/src/components/FlowEditor/nodes/switch/index.ts index 0d88897..a57d2ff 100644 --- a/src/components/FlowEditor/nodes/switch/index.ts +++ b/src/components/FlowEditor/nodes/switch/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { CaseListEditor as SwitchNodeConfig } from '../frontendTypeRenderers/CaseListEditor'; export type { SwitchCase } from '../frontendTypeRenderers/CaseListEditor'; diff --git a/src/components/FlowEditor/workflowRuntime/WorkflowRuntimeFormFields.tsx b/src/components/FlowEditor/workflowRuntime/WorkflowRuntimeFormFields.tsx index f43b05f..c40ac64 100644 --- a/src/components/FlowEditor/workflowRuntime/WorkflowRuntimeFormFields.tsx +++ b/src/components/FlowEditor/workflowRuntime/WorkflowRuntimeFormFields.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Runtime form fields — shared by Human Task input.form and workflow list trigger.form start. * Field rows match task.config.fields / graph node parameters.formFields shape from the backend. diff --git a/src/components/FormGenerator/ActionButtons/CopyActionButton/CopyActionButton.tsx b/src/components/FormGenerator/ActionButtons/CopyActionButton/CopyActionButton.tsx index b9bb35f..46ca9c8 100644 --- a/src/components/FormGenerator/ActionButtons/CopyActionButton/CopyActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/CopyActionButton/CopyActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { IoCopy } from 'react-icons/io5'; import { useLanguage } from '../../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/ActionButtons/CopyActionButton/index.ts b/src/components/FormGenerator/ActionButtons/CopyActionButton/index.ts index aa9bada..6385f2b 100644 --- a/src/components/FormGenerator/ActionButtons/CopyActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/CopyActionButton/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as CopyActionButton } from './CopyActionButton'; export type { CopyActionButtonProps } from './CopyActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/CustomActionButton/CustomActionButton.tsx b/src/components/FormGenerator/ActionButtons/CustomActionButton/CustomActionButton.tsx index b5eaf82..fca47f2 100644 --- a/src/components/FormGenerator/ActionButtons/CustomActionButton/CustomActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/CustomActionButton/CustomActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import styles from '../ActionButton.module.css'; diff --git a/src/components/FormGenerator/ActionButtons/CustomActionButton/index.ts b/src/components/FormGenerator/ActionButtons/CustomActionButton/index.ts index c64baaa..83af4a5 100644 --- a/src/components/FormGenerator/ActionButtons/CustomActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/CustomActionButton/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { CustomActionButton } from './CustomActionButton'; export type { CustomActionButtonProps } from './CustomActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx b/src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx index f3e9ab4..dee3624 100644 --- a/src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/DeleteActionButton/DeleteActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useEffect } from 'react'; import { IoIosTrash, IoIosCheckmark, IoIosClose } from 'react-icons/io'; import { useLanguage } from '../../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/ActionButtons/DeleteActionButton/index.ts b/src/components/FormGenerator/ActionButtons/DeleteActionButton/index.ts index 06518a1..8370a88 100644 --- a/src/components/FormGenerator/ActionButtons/DeleteActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/DeleteActionButton/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as DeleteActionButton } from './DeleteActionButton'; export type { DeleteActionButtonProps } from './DeleteActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/DownloadActionButton/DownloadActionButton.tsx b/src/components/FormGenerator/ActionButtons/DownloadActionButton/DownloadActionButton.tsx index e30b592..3d88a0d 100644 --- a/src/components/FormGenerator/ActionButtons/DownloadActionButton/DownloadActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/DownloadActionButton/DownloadActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { IoIosDownload } from 'react-icons/io'; import { useLanguage } from '../../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/ActionButtons/DownloadActionButton/index.ts b/src/components/FormGenerator/ActionButtons/DownloadActionButton/index.ts index 5d196ca..c6fe44f 100644 --- a/src/components/FormGenerator/ActionButtons/DownloadActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/DownloadActionButton/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { DownloadActionButton, type DownloadActionButtonProps } from './DownloadActionButton'; export { DownloadActionButton as default } from './DownloadActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/EditActionButton/EditActionButton.tsx b/src/components/FormGenerator/ActionButtons/EditActionButton/EditActionButton.tsx index dc6694b..0666d26 100644 --- a/src/components/FormGenerator/ActionButtons/EditActionButton/EditActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/EditActionButton/EditActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { MdModeEdit } from 'react-icons/md'; import { useLanguage } from '../../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/ActionButtons/EditActionButton/index.ts b/src/components/FormGenerator/ActionButtons/EditActionButton/index.ts index 6e4c02e..a5b0310 100644 --- a/src/components/FormGenerator/ActionButtons/EditActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/EditActionButton/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as EditActionButton } from './EditActionButton'; export type { EditActionButtonProps } from './EditActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/RemoveActionButton/RemoveActionButton.tsx b/src/components/FormGenerator/ActionButtons/RemoveActionButton/RemoveActionButton.tsx index d874354..3437b11 100644 --- a/src/components/FormGenerator/ActionButtons/RemoveActionButton/RemoveActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/RemoveActionButton/RemoveActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { IoIosCloseCircle } from 'react-icons/io'; import { useLanguage } from '../../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/ActionButtons/RemoveActionButton/index.ts b/src/components/FormGenerator/ActionButtons/RemoveActionButton/index.ts index 56c8519..56c9f42 100644 --- a/src/components/FormGenerator/ActionButtons/RemoveActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/RemoveActionButton/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as RemoveActionButton } from './RemoveActionButton'; export type { RemoveActionButtonProps } from './RemoveActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/ViewActionButton/ViewActionButton.tsx b/src/components/FormGenerator/ActionButtons/ViewActionButton/ViewActionButton.tsx index 256917b..5eb5369 100644 --- a/src/components/FormGenerator/ActionButtons/ViewActionButton/ViewActionButton.tsx +++ b/src/components/FormGenerator/ActionButtons/ViewActionButton/ViewActionButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { IoIosEye } from 'react-icons/io'; import { useLanguage } from '../../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/ActionButtons/ViewActionButton/index.ts b/src/components/FormGenerator/ActionButtons/ViewActionButton/index.ts index ed1edd9..9954a2a 100644 --- a/src/components/FormGenerator/ActionButtons/ViewActionButton/index.ts +++ b/src/components/FormGenerator/ActionButtons/ViewActionButton/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as ViewActionButton } from './ViewActionButton'; export type { ViewActionButtonProps } from './ViewActionButton'; diff --git a/src/components/FormGenerator/ActionButtons/index.ts b/src/components/FormGenerator/ActionButtons/index.ts index 464bce2..603f665 100644 --- a/src/components/FormGenerator/ActionButtons/index.ts +++ b/src/components/FormGenerator/ActionButtons/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. // Standard Action Button Components (built-in) export { EditActionButton } from './EditActionButton'; export { DeleteActionButton } from './DeleteActionButton'; diff --git a/src/components/FormGenerator/FilterSearchInput/FilterSearchInput.tsx b/src/components/FormGenerator/FilterSearchInput/FilterSearchInput.tsx index 00aaf29..a321752 100644 --- a/src/components/FormGenerator/FilterSearchInput/FilterSearchInput.tsx +++ b/src/components/FormGenerator/FilterSearchInput/FilterSearchInput.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { type Ref } from 'react'; import styles from './FilterSearchInput.module.css'; diff --git a/src/components/FormGenerator/FilterSearchInput/index.ts b/src/components/FormGenerator/FilterSearchInput/index.ts index 7b8e18a..1962af2 100644 --- a/src/components/FormGenerator/FilterSearchInput/index.ts +++ b/src/components/FormGenerator/FilterSearchInput/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { FilterSearchInput } from './FilterSearchInput'; export type { FilterSearchInputProps } from './FilterSearchInput'; diff --git a/src/components/FormGenerator/FormGeneratorControls/FormGeneratorControls.tsx b/src/components/FormGenerator/FormGeneratorControls/FormGeneratorControls.tsx index 7d23d9f..72eb23d 100644 --- a/src/components/FormGenerator/FormGeneratorControls/FormGeneratorControls.tsx +++ b/src/components/FormGenerator/FormGeneratorControls/FormGeneratorControls.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import type { IconType } from 'react-icons'; import { useLanguage } from '../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/FormGeneratorControls/index.ts b/src/components/FormGenerator/FormGeneratorControls/index.ts index 8eaa3d1..6727e8e 100644 --- a/src/components/FormGenerator/FormGeneratorControls/index.ts +++ b/src/components/FormGenerator/FormGeneratorControls/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { FormGeneratorControls, default } from './FormGeneratorControls'; export type { FilterableField, FormGeneratorControlsProps } from './FormGeneratorControls'; diff --git a/src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx b/src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx index b60d672..7aa9d85 100644 --- a/src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx +++ b/src/components/FormGenerator/FormGeneratorForm/FormGeneratorForm.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useEffect, useCallback, useRef, useMemo } from 'react'; import { useLanguage } from '../../../providers/language/LanguageContext'; import api from '../../../api'; diff --git a/src/components/FormGenerator/FormGeneratorForm/index.ts b/src/components/FormGenerator/FormGeneratorForm/index.ts index f42dfe0..fbe2f98 100644 --- a/src/components/FormGenerator/FormGeneratorForm/index.ts +++ b/src/components/FormGenerator/FormGeneratorForm/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as FormGeneratorForm } from './FormGeneratorForm'; export type { FormGeneratorFormProps, AttributeDefinition, AttributeOption } from './FormGeneratorForm'; diff --git a/src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx b/src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx index 80a58f6..0614aac 100644 --- a/src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx +++ b/src/components/FormGenerator/FormGeneratorList/FormGeneratorList.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useMemo, useRef, useEffect } from 'react'; import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from './FormGeneratorList.module.css'; diff --git a/src/components/FormGenerator/FormGeneratorList/index.ts b/src/components/FormGenerator/FormGeneratorList/index.ts index befb8e8..4a6c8f6 100644 --- a/src/components/FormGenerator/FormGeneratorList/index.ts +++ b/src/components/FormGenerator/FormGeneratorList/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as FormGeneratorList, FormGeneratorList as FormGeneratorListComponent } from './FormGeneratorList'; export type { FieldConfig, FormGeneratorListProps } from './FormGeneratorList'; diff --git a/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx b/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx index 81513fb..15ef94f 100644 --- a/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx +++ b/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReport.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useCallback, useEffect, useMemo } from 'react'; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, diff --git a/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReportTypes.ts b/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReportTypes.ts index 1af8319..bfc7b9d 100644 --- a/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReportTypes.ts +++ b/src/components/FormGenerator/FormGeneratorReport/FormGeneratorReportTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. // ============================================================================= // FormGeneratorReport - Types // Generic reporting component with charts, KPIs, tables, and filters diff --git a/src/components/FormGenerator/FormGeneratorReport/index.ts b/src/components/FormGenerator/FormGeneratorReport/index.ts index b4002a7..94778c5 100644 --- a/src/components/FormGenerator/FormGeneratorReport/index.ts +++ b/src/components/FormGenerator/FormGeneratorReport/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { FormGeneratorReport, default } from './FormGeneratorReport'; export type { FormGeneratorReportProps, diff --git a/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx b/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx index 3fc5aa9..dd347fb 100644 --- a/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx +++ b/src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FormGeneratorTable — Backend-driven data table. * diff --git a/src/components/FormGenerator/FormGeneratorTable/index.ts b/src/components/FormGenerator/FormGeneratorTable/index.ts index ecc99c0..f6a8a23 100644 --- a/src/components/FormGenerator/FormGeneratorTable/index.ts +++ b/src/components/FormGenerator/FormGeneratorTable/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as FormGeneratorTable, FormGeneratorTable as FormGeneratorTableComponent } from './FormGeneratorTable'; export type { ColumnConfig, FormGeneratorTableProps } from './FormGeneratorTable'; diff --git a/src/components/FormGenerator/FormGeneratorTree/FormGeneratorTree.tsx b/src/components/FormGenerator/FormGeneratorTree/FormGeneratorTree.tsx index 8ec8f0e..1f76544 100644 --- a/src/components/FormGenerator/FormGeneratorTree/FormGeneratorTree.tsx +++ b/src/components/FormGenerator/FormGeneratorTree/FormGeneratorTree.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useCallback, useEffect, useRef, useMemo } from 'react'; import { FaChevronRight, diff --git a/src/components/FormGenerator/FormGeneratorTree/__tests__/FormGeneratorTree.test.tsx b/src/components/FormGenerator/FormGeneratorTree/__tests__/FormGeneratorTree.test.tsx index b5f9093..92bc118 100644 --- a/src/components/FormGenerator/FormGeneratorTree/__tests__/FormGeneratorTree.test.tsx +++ b/src/components/FormGenerator/FormGeneratorTree/__tests__/FormGeneratorTree.test.tsx @@ -1,4 +1,4 @@ -// Copyright (c) 2026 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. import React from 'react'; diff --git a/src/components/FormGenerator/FormGeneratorTree/__tests__/dnd.test.tsx b/src/components/FormGenerator/FormGeneratorTree/__tests__/dnd.test.tsx index 7cfd8f8..a4ae4ed 100644 --- a/src/components/FormGenerator/FormGeneratorTree/__tests__/dnd.test.tsx +++ b/src/components/FormGenerator/FormGeneratorTree/__tests__/dnd.test.tsx @@ -1,4 +1,4 @@ -// Copyright (c) 2026 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. import { describe, expect, it, vi } from 'vitest'; diff --git a/src/components/FormGenerator/FormGeneratorTree/index.ts b/src/components/FormGenerator/FormGeneratorTree/index.ts index 8792d9b..2bdea15 100644 --- a/src/components/FormGenerator/FormGeneratorTree/index.ts +++ b/src/components/FormGenerator/FormGeneratorTree/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { FormGeneratorTree } from './FormGeneratorTree'; export type { TreeNode, diff --git a/src/components/FormGenerator/FormGeneratorTree/providers/FolderFileProvider.tsx b/src/components/FormGenerator/FormGeneratorTree/providers/FolderFileProvider.tsx index f843fa0..36bdf04 100644 --- a/src/components/FormGenerator/FormGeneratorTree/providers/FolderFileProvider.tsx +++ b/src/components/FormGenerator/FormGeneratorTree/providers/FolderFileProvider.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { FaFolder, FaFile, FaTrash } from 'react-icons/fa'; import type { TreeNodeProvider, TreeNode, Ownership, ScopeValue, TreeBatchAction } from '../types'; import api from '../../../../api'; diff --git a/src/components/FormGenerator/FormGeneratorTree/types.ts b/src/components/FormGenerator/FormGeneratorTree/types.ts index b44cfd0..aab6749 100644 --- a/src/components/FormGenerator/FormGeneratorTree/types.ts +++ b/src/components/FormGenerator/FormGeneratorTree/types.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export type Ownership = 'own' | 'shared'; export type ScopeValue = 'personal' | 'featureInstance' | 'mandate' | 'global'; diff --git a/src/components/FormGenerator/GroupingManager/GroupRow.tsx b/src/components/FormGenerator/GroupingManager/GroupRow.tsx index f48da2e..57ac6f0 100644 --- a/src/components/FormGenerator/GroupingManager/GroupRow.tsx +++ b/src/components/FormGenerator/GroupingManager/GroupRow.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useEffect, useRef } from 'react'; import ReactDOM from 'react-dom'; import { useLanguage } from '../../../providers/language/LanguageContext'; diff --git a/src/components/FormGenerator/TableViewsBar/TableViewsBar.tsx b/src/components/FormGenerator/TableViewsBar/TableViewsBar.tsx index 80ac03a..5afd062 100644 --- a/src/components/FormGenerator/TableViewsBar/TableViewsBar.tsx +++ b/src/components/FormGenerator/TableViewsBar/TableViewsBar.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useMemo, useCallback, useRef, useEffect } from 'react'; import { FaLayerGroup, FaTrash } from 'react-icons/fa'; import { TbLayoutList, TbLayoutRows } from 'react-icons/tb'; diff --git a/src/components/FormGenerator/TableViewsBar/index.ts b/src/components/FormGenerator/TableViewsBar/index.ts index da9924b..30ce5aa 100644 --- a/src/components/FormGenerator/TableViewsBar/index.ts +++ b/src/components/FormGenerator/TableViewsBar/index.ts @@ -1 +1,3 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { TableViewsBar, groupLevelsToApiPayload, type TableViewsBarProps, type TableViewOption, type GroupByLevelSpec } from './TableViewsBar'; diff --git a/src/components/FormGenerator/index.ts b/src/components/FormGenerator/index.ts index c1e59ab..2b35610 100644 --- a/src/components/FormGenerator/index.ts +++ b/src/components/FormGenerator/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. // Re-export FormGenerator components export * from './FormGeneratorTable'; export * from './FormGeneratorList'; @@ -11,4 +13,4 @@ export { FormGeneratorTable as FormGenerator, FormGeneratorTableComponent as For export type { FormGeneratorTableProps as FormGeneratorProps, ColumnConfig } from './FormGeneratorTable'; // Re-export action button components and types -export * from './ActionButtons'; \ No newline at end of file +export * from './ActionButtons'; diff --git a/src/components/Navigation/MandateNavigation.tsx b/src/components/Navigation/MandateNavigation.tsx index 42d0e32..b7083c8 100644 --- a/src/components/Navigation/MandateNavigation.tsx +++ b/src/components/Navigation/MandateNavigation.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * MandateNavigation * diff --git a/src/components/Navigation/TreeNavigation/TreeNavigation.tsx b/src/components/Navigation/TreeNavigation/TreeNavigation.tsx index 2f81d1b..2eff3a9 100644 --- a/src/components/Navigation/TreeNavigation/TreeNavigation.tsx +++ b/src/components/Navigation/TreeNavigation/TreeNavigation.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * TreeNavigation * diff --git a/src/components/Navigation/TreeNavigation/index.ts b/src/components/Navigation/TreeNavigation/index.ts index a39ae4d..c1ee00c 100644 --- a/src/components/Navigation/TreeNavigation/index.ts +++ b/src/components/Navigation/TreeNavigation/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * TreeNavigation Component Index * diff --git a/src/components/Navigation/UserSection.tsx b/src/components/Navigation/UserSection.tsx index 842a353..1e0f9b9 100644 --- a/src/components/Navigation/UserSection.tsx +++ b/src/components/Navigation/UserSection.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * UserSection Component * diff --git a/src/components/Navigation/index.ts b/src/components/Navigation/index.ts index f0d25c6..a8d516d 100644 --- a/src/components/Navigation/index.ts +++ b/src/components/Navigation/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Navigation Components Export */ diff --git a/src/components/NotificationBell/NotificationBell.tsx b/src/components/NotificationBell/NotificationBell.tsx index 571f4a9..bf02195 100644 --- a/src/components/NotificationBell/NotificationBell.tsx +++ b/src/components/NotificationBell/NotificationBell.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * NotificationBell Component * diff --git a/src/components/NotificationBell/index.ts b/src/components/NotificationBell/index.ts index ea2bff2..2d16fc0 100644 --- a/src/components/NotificationBell/index.ts +++ b/src/components/NotificationBell/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { NotificationBell } from './NotificationBell'; export { default } from './NotificationBell'; diff --git a/src/components/OnboardingAssistant.tsx b/src/components/OnboardingAssistant.tsx index 7e77a9f..9f4a502 100644 --- a/src/components/OnboardingAssistant.tsx +++ b/src/components/OnboardingAssistant.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useEffect, useCallback, useMemo } from 'react'; import { useNavigate, useLocation } from 'react-router-dom'; import api from '../api'; diff --git a/src/components/OnboardingWizard.tsx b/src/components/OnboardingWizard.tsx index deb9963..560531b 100644 --- a/src/components/OnboardingWizard.tsx +++ b/src/components/OnboardingWizard.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import api from '../api'; diff --git a/src/components/PeriodPicker/PeriodPicker.tsx b/src/components/PeriodPicker/PeriodPicker.tsx index 00e7eb3..0534a4e 100644 --- a/src/components/PeriodPicker/PeriodPicker.tsx +++ b/src/components/PeriodPicker/PeriodPicker.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PeriodPicker - public component (Trigger + Popover). * diff --git a/src/components/PeriodPicker/PeriodPickerCalendar.tsx b/src/components/PeriodPicker/PeriodPickerCalendar.tsx index 486672c..b0a78ac 100644 --- a/src/components/PeriodPicker/PeriodPickerCalendar.tsx +++ b/src/components/PeriodPicker/PeriodPickerCalendar.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PeriodPicker - dual-month range calendar (vertically stacked). * diff --git a/src/components/PeriodPicker/PeriodPickerLogic.ts b/src/components/PeriodPicker/PeriodPickerLogic.ts index 26e6fac..2536a81 100644 --- a/src/components/PeriodPicker/PeriodPickerLogic.ts +++ b/src/components/PeriodPicker/PeriodPickerLogic.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PeriodPicker - pure logic helpers. * diff --git a/src/components/PeriodPicker/PeriodPickerPopover.tsx b/src/components/PeriodPicker/PeriodPickerPopover.tsx index d1c5aec..6df23f2 100644 --- a/src/components/PeriodPicker/PeriodPickerPopover.tsx +++ b/src/components/PeriodPicker/PeriodPickerPopover.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PeriodPicker - popover body (3 columns + footer). * diff --git a/src/components/PeriodPicker/PeriodPickerTypes.ts b/src/components/PeriodPicker/PeriodPickerTypes.ts index 48d9a17..af6f3b3 100644 --- a/src/components/PeriodPicker/PeriodPickerTypes.ts +++ b/src/components/PeriodPicker/PeriodPickerTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PeriodPicker - shared type definitions. * diff --git a/src/components/PeriodPicker/index.ts b/src/components/PeriodPicker/index.ts index 205d4e8..b8c74da 100644 --- a/src/components/PeriodPicker/index.ts +++ b/src/components/PeriodPicker/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { PeriodPicker, default } from './PeriodPicker'; export type { PeriodDirection, diff --git a/src/components/ProviderSelector/ProviderSelector.tsx b/src/components/ProviderSelector/ProviderSelector.tsx index dbc421d..9c4a73e 100644 --- a/src/components/ProviderSelector/ProviderSelector.tsx +++ b/src/components/ProviderSelector/ProviderSelector.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ProviderSelector Component * diff --git a/src/components/ProviderSelector/index.ts b/src/components/ProviderSelector/index.ts index a2f6c79..98ffa0f 100644 --- a/src/components/ProviderSelector/index.ts +++ b/src/components/ProviderSelector/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Provider Selector Component Exports */ diff --git a/src/components/QuickActionBoard/QuickActionBoard.tsx b/src/components/QuickActionBoard/QuickActionBoard.tsx index 378fbd2..9f4615b 100644 --- a/src/components/QuickActionBoard/QuickActionBoard.tsx +++ b/src/components/QuickActionBoard/QuickActionBoard.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * QuickActionBoard — reusable card grid for feature dashboards. * diff --git a/src/components/QuickActionBoard/index.ts b/src/components/QuickActionBoard/index.ts index 0878e96..2b1bf5f 100644 --- a/src/components/QuickActionBoard/index.ts +++ b/src/components/QuickActionBoard/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { QuickActionBoard, default } from './QuickActionBoard'; export type { QuickAction, QuickActionCategory, QuickActionBoardProps } from './QuickActionBoard'; diff --git a/src/components/RagRunningBadge/RagRunningBadge.tsx b/src/components/RagRunningBadge/RagRunningBadge.tsx index 438d09e..40ab6e7 100644 --- a/src/components/RagRunningBadge/RagRunningBadge.tsx +++ b/src/components/RagRunningBadge/RagRunningBadge.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useEffect, useState, useRef, useCallback } from 'react'; import { useApiRequest } from '../../hooks/useApi'; import { useLanguage } from '../../providers/language/LanguageContext'; diff --git a/src/components/SchedulePlanner/SchedulePlanner.tsx b/src/components/SchedulePlanner/SchedulePlanner.tsx index 1f475ac..d77cd48 100644 --- a/src/components/SchedulePlanner/SchedulePlanner.tsx +++ b/src/components/SchedulePlanner/SchedulePlanner.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Accordion schedule planner → updates ScheduleSpec; parent derives cron via buildCronFromSpec. */ diff --git a/src/components/SchedulePlanner/index.ts b/src/components/SchedulePlanner/index.ts index 5a1a6ff..58e57a6 100644 --- a/src/components/SchedulePlanner/index.ts +++ b/src/components/SchedulePlanner/index.ts @@ -1 +1,3 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { SchedulePlanner, type SchedulePlannerProps, type PlannerModeId } from './SchedulePlanner'; diff --git a/src/components/UiComponents/AccordionList/AccordionList.tsx b/src/components/UiComponents/AccordionList/AccordionList.tsx index b822b63..044bd4b 100644 --- a/src/components/UiComponents/AccordionList/AccordionList.tsx +++ b/src/components/UiComponents/AccordionList/AccordionList.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import styles from './AccordionList.module.css'; diff --git a/src/components/UiComponents/AccordionList/index.ts b/src/components/UiComponents/AccordionList/index.ts index 6b1675a..e48e55c 100644 --- a/src/components/UiComponents/AccordionList/index.ts +++ b/src/components/UiComponents/AccordionList/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { AccordionList } from './AccordionList'; export type { AccordionListProps, AccordionListItem } from './AccordionList'; diff --git a/src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx b/src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx index 85da3e2..3c8a480 100644 --- a/src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx +++ b/src/components/UiComponents/AddressAutocomplete/AddressAutocomplete.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useEffect, useRef, useCallback } from 'react'; import TextField from '../TextField/TextField'; import { BaseTextFieldProps } from '../TextField/TextFieldTypes'; diff --git a/src/components/UiComponents/AddressAutocomplete/index.ts b/src/components/UiComponents/AddressAutocomplete/index.ts index 604ed15..06569a6 100644 --- a/src/components/UiComponents/AddressAutocomplete/index.ts +++ b/src/components/UiComponents/AddressAutocomplete/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default } from './AddressAutocomplete'; export type { AddressSuggestion } from '../../../api/realEstateApi'; diff --git a/src/components/UiComponents/AutoScroll/AutoScroll.tsx b/src/components/UiComponents/AutoScroll/AutoScroll.tsx index 297ad19..52d5174 100644 --- a/src/components/UiComponents/AutoScroll/AutoScroll.tsx +++ b/src/components/UiComponents/AutoScroll/AutoScroll.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useEffect, useRef, useState, useCallback } from 'react'; import styles from './AutoScroll.module.css'; diff --git a/src/components/UiComponents/AutoScroll/index.ts b/src/components/UiComponents/AutoScroll/index.ts index 4c9356c..67a0551 100644 --- a/src/components/UiComponents/AutoScroll/index.ts +++ b/src/components/UiComponents/AutoScroll/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as AutoScroll } from './AutoScroll'; export type { AutoScrollProps } from './AutoScroll'; diff --git a/src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx b/src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx index e760091..101d638 100644 --- a/src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx +++ b/src/components/UiComponents/BauvorschriftenSection/BauvorschriftenSection.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { FaChevronDown, FaChevronUp, FaFilePdf, FaRuler } from 'react-icons/fa'; import styles from './BauvorschriftenSection.module.css'; diff --git a/src/components/UiComponents/Button/Button.tsx b/src/components/UiComponents/Button/Button.tsx index ca72b2c..e8a78b3 100644 --- a/src/components/UiComponents/Button/Button.tsx +++ b/src/components/UiComponents/Button/Button.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { ButtonWithIconProps } from './ButtonTypes'; diff --git a/src/components/UiComponents/Button/ButtonTypes.ts b/src/components/UiComponents/Button/ButtonTypes.ts index 3458cf0..a5a870a 100644 --- a/src/components/UiComponents/Button/ButtonTypes.ts +++ b/src/components/UiComponents/Button/ButtonTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { IconType } from 'react-icons'; export type ButtonVariant = 'primary' | 'secondary' | 'danger' | 'success' | 'warning' | 'ghost'; @@ -52,4 +54,4 @@ export interface CreateButtonProps extends BaseButtonProps { iconPosition?: 'left' | 'right'; onSuccess?: (result: any) => void; onError?: (error: string) => void; -} \ No newline at end of file +} diff --git a/src/components/UiComponents/Button/CreateButton/CreateButton.tsx b/src/components/UiComponents/Button/CreateButton/CreateButton.tsx index 63a2320..da625e3 100644 --- a/src/components/UiComponents/Button/CreateButton/CreateButton.tsx +++ b/src/components/UiComponents/Button/CreateButton/CreateButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useMemo } from 'react'; import { CreateButtonProps } from '../ButtonTypes'; import Button from '../Button'; diff --git a/src/components/UiComponents/Button/CreateButton/index.ts b/src/components/UiComponents/Button/CreateButton/index.ts index 33d7c17..cec95c7 100644 --- a/src/components/UiComponents/Button/CreateButton/index.ts +++ b/src/components/UiComponents/Button/CreateButton/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as CreateButton } from './CreateButton'; export { default } from './CreateButton'; diff --git a/src/components/UiComponents/Button/UploadButton/UploadButton.tsx b/src/components/UiComponents/Button/UploadButton/UploadButton.tsx index b25c13f..3d7d016 100644 --- a/src/components/UiComponents/Button/UploadButton/UploadButton.tsx +++ b/src/components/UiComponents/Button/UploadButton/UploadButton.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useRef, useState } from 'react'; import { UploadButtonProps } from '../ButtonTypes'; import Button from '../Button'; diff --git a/src/components/UiComponents/Button/UploadButton/index.ts b/src/components/UiComponents/Button/UploadButton/index.ts index 458fbb3..62f3668 100644 --- a/src/components/UiComponents/Button/UploadButton/index.ts +++ b/src/components/UiComponents/Button/UploadButton/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as UploadButton } from './UploadButton'; export type { UploadButtonProps } from '../ButtonTypes'; diff --git a/src/components/UiComponents/Button/index.ts b/src/components/UiComponents/Button/index.ts index 299b56c..2aaa363 100644 --- a/src/components/UiComponents/Button/index.ts +++ b/src/components/UiComponents/Button/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as Button } from './Button'; export { UploadButton } from './UploadButton'; export { CreateButton } from './CreateButton'; diff --git a/src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx b/src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx index 27f5058..b71c071 100644 --- a/src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx +++ b/src/components/UiComponents/ConnectedFilesList/ConnectedFilesList.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useMemo } from 'react'; import { ViewActionButton, diff --git a/src/components/UiComponents/ConnectedFilesList/index.ts b/src/components/UiComponents/ConnectedFilesList/index.ts index ab2fc77..0d0df82 100644 --- a/src/components/UiComponents/ConnectedFilesList/index.ts +++ b/src/components/UiComponents/ConnectedFilesList/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as ConnectedFilesList } from './ConnectedFilesList'; export type { ConnectedFilesListProps, ConnectedFilesListActionButton } from './ConnectedFilesList'; diff --git a/src/components/UiComponents/CopyableTruncatedValue/CopyableTruncatedValue.tsx b/src/components/UiComponents/CopyableTruncatedValue/CopyableTruncatedValue.tsx index 283c50a..9f998ad 100644 --- a/src/components/UiComponents/CopyableTruncatedValue/CopyableTruncatedValue.tsx +++ b/src/components/UiComponents/CopyableTruncatedValue/CopyableTruncatedValue.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from './CopyableTruncatedValue.module.css'; diff --git a/src/components/UiComponents/CopyableTruncatedValue/index.ts b/src/components/UiComponents/CopyableTruncatedValue/index.ts index f98ab19..8048c37 100644 --- a/src/components/UiComponents/CopyableTruncatedValue/index.ts +++ b/src/components/UiComponents/CopyableTruncatedValue/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as CopyableTruncatedValue } from './CopyableTruncatedValue'; export { default } from './CopyableTruncatedValue'; export type { CopyableTruncatedValueProps } from './CopyableTruncatedValue'; diff --git a/src/components/UiComponents/DragDropOverlay/DragDropOverlay.tsx b/src/components/UiComponents/DragDropOverlay/DragDropOverlay.tsx index f110cd4..b2627e3 100644 --- a/src/components/UiComponents/DragDropOverlay/DragDropOverlay.tsx +++ b/src/components/UiComponents/DragDropOverlay/DragDropOverlay.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useCallback } from 'react'; import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from './DragDropOverlay.module.css'; diff --git a/src/components/UiComponents/DragDropOverlay/index.ts b/src/components/UiComponents/DragDropOverlay/index.ts index 8b78f4b..b9bd7e9 100644 --- a/src/components/UiComponents/DragDropOverlay/index.ts +++ b/src/components/UiComponents/DragDropOverlay/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { DragDropOverlay } from './DragDropOverlay'; export type { DragDropConfig } from './DragDropOverlay'; export { DragDropOverlay as default } from './DragDropOverlay'; diff --git a/src/components/UiComponents/DropdownSelect/DropdownSelect.tsx b/src/components/UiComponents/DropdownSelect/DropdownSelect.tsx index bcd2139..79a43ad 100644 --- a/src/components/UiComponents/DropdownSelect/DropdownSelect.tsx +++ b/src/components/UiComponents/DropdownSelect/DropdownSelect.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useRef, useEffect } from 'react'; import { IconType } from 'react-icons'; import { IoChevronDown, IoClose } from 'react-icons/io5'; diff --git a/src/components/UiComponents/DropdownSelect/index.ts b/src/components/UiComponents/DropdownSelect/index.ts index 691cb06..3401eb4 100644 --- a/src/components/UiComponents/DropdownSelect/index.ts +++ b/src/components/UiComponents/DropdownSelect/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as DropdownSelect } from './DropdownSelect'; export type { DropdownSelectItem, DropdownSelectProps } from './DropdownSelect'; diff --git a/src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx b/src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx index 206ac36..f3f8094 100644 --- a/src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx +++ b/src/components/UiComponents/InfoMessageOverlay/MessageOverlay.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useEffect, useState, useRef } from 'react'; import styles from './MessageOverlay.module.css'; diff --git a/src/components/UiComponents/InfoMessageOverlay/index.ts b/src/components/UiComponents/InfoMessageOverlay/index.ts index 8c38fdc..a03bf19 100644 --- a/src/components/UiComponents/InfoMessageOverlay/index.ts +++ b/src/components/UiComponents/InfoMessageOverlay/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default } from './MessageOverlay'; -export type { MessageMode } from './MessageOverlay'; \ No newline at end of file +export type { MessageMode } from './MessageOverlay'; diff --git a/src/components/UiComponents/LanguageSelector/LanguageSelector.tsx b/src/components/UiComponents/LanguageSelector/LanguageSelector.tsx index d543fe3..599909d 100644 --- a/src/components/UiComponents/LanguageSelector/LanguageSelector.tsx +++ b/src/components/UiComponents/LanguageSelector/LanguageSelector.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { FaGlobe } from 'react-icons/fa'; import { useLanguage } from '../../../providers/language/LanguageContext'; import styles from './LanguageSelector.module.css'; diff --git a/src/components/UiComponents/LanguageSelector/index.ts b/src/components/UiComponents/LanguageSelector/index.ts index 9952ab3..8933f12 100644 --- a/src/components/UiComponents/LanguageSelector/index.ts +++ b/src/components/UiComponents/LanguageSelector/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { LanguageSelector } from './LanguageSelector'; export { default } from './LanguageSelector'; diff --git a/src/components/UiComponents/LocationInput/LocationInput.tsx b/src/components/UiComponents/LocationInput/LocationInput.tsx index ebc6796..24d5c29 100644 --- a/src/components/UiComponents/LocationInput/LocationInput.tsx +++ b/src/components/UiComponents/LocationInput/LocationInput.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { Button, TextField } from '../index'; import { FaLocationArrow } from 'react-icons/fa'; diff --git a/src/components/UiComponents/LocationInput/index.ts b/src/components/UiComponents/LocationInput/index.ts index 80f8a43..05688be 100644 --- a/src/components/UiComponents/LocationInput/index.ts +++ b/src/components/UiComponents/LocationInput/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as LocationInput } from './LocationInput'; export type { LocationInputProps } from './LocationInput'; diff --git a/src/components/UiComponents/Log/Log.tsx b/src/components/UiComponents/Log/Log.tsx index 2891dcc..ae7d9f5 100644 --- a/src/components/UiComponents/Log/Log.tsx +++ b/src/components/UiComponents/Log/Log.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { LogProps } from './LogTypes'; import { AutoScroll } from '../AutoScroll'; diff --git a/src/components/UiComponents/Log/LogMessage/LogMessage.tsx b/src/components/UiComponents/Log/LogMessage/LogMessage.tsx index caa0dff..b44aa20 100644 --- a/src/components/UiComponents/Log/LogMessage/LogMessage.tsx +++ b/src/components/UiComponents/Log/LogMessage/LogMessage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { useLanguage } from '../../../../providers/language/LanguageContext'; import { Message } from '../../Messages/MessagesTypes'; diff --git a/src/components/UiComponents/Log/LogMessage/index.ts b/src/components/UiComponents/Log/LogMessage/index.ts index fd78cb1..f97808c 100644 --- a/src/components/UiComponents/Log/LogMessage/index.ts +++ b/src/components/UiComponents/Log/LogMessage/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { LogMessage } from './LogMessage'; export type { LogMessageProps } from './LogMessage'; diff --git a/src/components/UiComponents/Log/LogTypes.ts b/src/components/UiComponents/Log/LogTypes.ts index 6032a8e..590eb71 100644 --- a/src/components/UiComponents/Log/LogTypes.ts +++ b/src/components/UiComponents/Log/LogTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Log entry from workflow */ diff --git a/src/components/UiComponents/Log/index.ts b/src/components/UiComponents/Log/index.ts index 8b682d2..e6e02c0 100644 --- a/src/components/UiComponents/Log/index.ts +++ b/src/components/UiComponents/Log/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as Log } from './Log'; export { default } from './Log'; export * from './LogTypes'; diff --git a/src/components/UiComponents/MapView/LV95Converter.ts b/src/components/UiComponents/MapView/LV95Converter.ts index 19a8b8b..8989376 100644 --- a/src/components/UiComponents/MapView/LV95Converter.ts +++ b/src/components/UiComponents/MapView/LV95Converter.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import proj4 from 'proj4'; // Define LV95 projection (EPSG:2056) and WGS84 (EPSG:4326) diff --git a/src/components/UiComponents/MapView/MapView.tsx b/src/components/UiComponents/MapView/MapView.tsx index 0268c88..98b2435 100644 --- a/src/components/UiComponents/MapView/MapView.tsx +++ b/src/components/UiComponents/MapView/MapView.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. // Export types export interface MapPoint { x: number; // LV95 X coordinate diff --git a/src/components/UiComponents/MapView/MapViewLeaflet.tsx b/src/components/UiComponents/MapView/MapViewLeaflet.tsx index 99e09d2..a199ec2 100644 --- a/src/components/UiComponents/MapView/MapViewLeaflet.tsx +++ b/src/components/UiComponents/MapView/MapViewLeaflet.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useEffect, useRef, useState } from 'react'; import L from 'leaflet'; import 'leaflet/dist/leaflet.css'; diff --git a/src/components/UiComponents/MapView/index.ts b/src/components/UiComponents/MapView/index.ts index b08e17e..260e9f2 100644 --- a/src/components/UiComponents/MapView/index.ts +++ b/src/components/UiComponents/MapView/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as MapView } from './MapView'; export type { MapViewProps, MapPoint, ParcelGeometry } from './MapView'; diff --git a/src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx b/src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx index a3d1eed..deee562 100644 --- a/src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx +++ b/src/components/UiComponents/Messages/ChatMessages/ChatMessage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; diff --git a/src/components/UiComponents/Messages/MessageParts/ActionInfo.tsx b/src/components/UiComponents/Messages/MessageParts/ActionInfo.tsx index 1bff6d4..00bace1 100644 --- a/src/components/UiComponents/Messages/MessageParts/ActionInfo.tsx +++ b/src/components/UiComponents/Messages/MessageParts/ActionInfo.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { Message } from '../MessagesTypes'; import styles from '../Messages.module.css'; diff --git a/src/components/UiComponents/Messages/MessageParts/DocumentItem.tsx b/src/components/UiComponents/Messages/MessageParts/DocumentItem.tsx index eff16ca..f43bfdd 100644 --- a/src/components/UiComponents/Messages/MessageParts/DocumentItem.tsx +++ b/src/components/UiComponents/Messages/MessageParts/DocumentItem.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useMemo } from 'react'; import { MessageDocument, Message } from '../MessagesTypes'; import { formatFileSize } from '../MessageUtils'; diff --git a/src/components/UiComponents/Messages/MessageParts/MessageMetadata.tsx b/src/components/UiComponents/Messages/MessageParts/MessageMetadata.tsx index 64e8f00..8b3c196 100644 --- a/src/components/UiComponents/Messages/MessageParts/MessageMetadata.tsx +++ b/src/components/UiComponents/Messages/MessageParts/MessageMetadata.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { Message } from '../MessagesTypes'; import { formatTimestamp, getStatusClass } from '../MessageUtils'; diff --git a/src/components/UiComponents/Messages/MessageParts/index.ts b/src/components/UiComponents/Messages/MessageParts/index.ts index ba43658..02cbc79 100644 --- a/src/components/UiComponents/Messages/MessageParts/index.ts +++ b/src/components/UiComponents/Messages/MessageParts/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { DocumentItem } from './DocumentItem'; export { MessageMetadata } from './MessageMetadata'; export { ActionInfo } from './ActionInfo'; diff --git a/src/components/UiComponents/Messages/MessageUtils.ts b/src/components/UiComponents/Messages/MessageUtils.ts index ff67d51..90d6e60 100644 --- a/src/components/UiComponents/Messages/MessageUtils.ts +++ b/src/components/UiComponents/Messages/MessageUtils.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Utility functions for message formatting and styling */ diff --git a/src/components/UiComponents/Messages/Messages.tsx b/src/components/UiComponents/Messages/Messages.tsx index bf09661..6767941 100644 --- a/src/components/UiComponents/Messages/Messages.tsx +++ b/src/components/UiComponents/Messages/Messages.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { useLanguage } from '../../../providers/language/LanguageContext'; import { MessagesProps } from './MessagesTypes'; diff --git a/src/components/UiComponents/Messages/MessagesTypes.ts b/src/components/UiComponents/Messages/MessagesTypes.ts index 1ba9bae..89eadf7 100644 --- a/src/components/UiComponents/Messages/MessagesTypes.ts +++ b/src/components/UiComponents/Messages/MessagesTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import type React from 'react'; import { WorkflowFile } from '../../../hooks/usePlayground'; diff --git a/src/components/UiComponents/Messages/index.ts b/src/components/UiComponents/Messages/index.ts index bce4d1d..94e9d10 100644 --- a/src/components/UiComponents/Messages/index.ts +++ b/src/components/UiComponents/Messages/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as Messages } from './Messages'; export { ChatMessage } from './ChatMessages/ChatMessage'; export { DocumentItem, MessageMetadata, ActionInfo } from './MessageParts'; diff --git a/src/components/UiComponents/Modal/Modal.tsx b/src/components/UiComponents/Modal/Modal.tsx index 195625b..378f300 100644 --- a/src/components/UiComponents/Modal/Modal.tsx +++ b/src/components/UiComponents/Modal/Modal.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Modal — central, consistent dialog component for the whole UI. * diff --git a/src/components/UiComponents/Modal/index.ts b/src/components/UiComponents/Modal/index.ts index ed1f3bc..14b7fb4 100644 --- a/src/components/UiComponents/Modal/index.ts +++ b/src/components/UiComponents/Modal/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { Modal } from './Modal'; export type { ModalProps, ModalSize } from './Modal'; export { default } from './Modal'; diff --git a/src/components/UiComponents/OerebSection/OerebSection.tsx b/src/components/UiComponents/OerebSection/OerebSection.tsx index a41d164..fb9640c 100644 --- a/src/components/UiComponents/OerebSection/OerebSection.tsx +++ b/src/components/UiComponents/OerebSection/OerebSection.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import { FaChevronDown, FaChevronUp, FaFilePdf, FaInfoCircle } from 'react-icons/fa'; import { UrlContentPreview } from '../../ContentPreview'; diff --git a/src/components/UiComponents/OerebSection/index.ts b/src/components/UiComponents/OerebSection/index.ts index de8ed0f..ee9a2f1 100644 --- a/src/components/UiComponents/OerebSection/index.ts +++ b/src/components/UiComponents/OerebSection/index.ts @@ -1 +1,3 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { OerebSection } from './OerebSection'; diff --git a/src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx b/src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx index b055f23..ac0c3cc 100644 --- a/src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx +++ b/src/components/UiComponents/ParcelInfoPanel/ParcelInfoPanel.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useCallback, useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import ReactMarkdown from 'react-markdown'; diff --git a/src/components/UiComponents/ParcelInfoPanel/index.ts b/src/components/UiComponents/ParcelInfoPanel/index.ts index 74bce7f..1fdee30 100644 --- a/src/components/UiComponents/ParcelInfoPanel/index.ts +++ b/src/components/UiComponents/ParcelInfoPanel/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as ParcelInfoPanel } from './ParcelInfoPanel'; export type { ParcelInfoPanelProps } from './ParcelInfoPanel'; diff --git a/src/components/UiComponents/Popup/Popup.tsx b/src/components/UiComponents/Popup/Popup.tsx index c19894b..838e931 100644 --- a/src/components/UiComponents/Popup/Popup.tsx +++ b/src/components/UiComponents/Popup/Popup.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import styles from './Popup.module.css'; @@ -136,4 +138,4 @@ export function Popup({ ); } -export default Popup; \ No newline at end of file +export default Popup; diff --git a/src/components/UiComponents/Popup/index.ts b/src/components/UiComponents/Popup/index.ts index 76d8513..432540c 100644 --- a/src/components/UiComponents/Popup/index.ts +++ b/src/components/UiComponents/Popup/index.ts @@ -1,7 +1,9 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. // Generic Popup components export { Popup, default as DefaultPopup } from './Popup'; export type { PopupProps, PopupAction } from './Popup'; // FormGeneratorForm component (recommended for backend-driven forms) export { FormGeneratorForm } from '../../FormGenerator/FormGeneratorForm'; -export type { FormGeneratorFormProps, AttributeDefinition, AttributeOption } from '../../FormGenerator/FormGeneratorForm'; \ No newline at end of file +export type { FormGeneratorFormProps, AttributeDefinition, AttributeOption } from '../../FormGenerator/FormGeneratorForm'; diff --git a/src/components/UiComponents/Tabs/Tabs.tsx b/src/components/UiComponents/Tabs/Tabs.tsx index c849dc1..d3a2f1e 100644 --- a/src/components/UiComponents/Tabs/Tabs.tsx +++ b/src/components/UiComponents/Tabs/Tabs.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import styles from './Tabs.module.css'; diff --git a/src/components/UiComponents/Tabs/index.ts b/src/components/UiComponents/Tabs/index.ts index 096ac2f..6ec49a6 100644 --- a/src/components/UiComponents/Tabs/index.ts +++ b/src/components/UiComponents/Tabs/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { Tabs, default } from './Tabs'; export type { TabsProps, Tab } from './Tabs'; diff --git a/src/components/UiComponents/TextField/TextField.tsx b/src/components/UiComponents/TextField/TextField.tsx index 7aaa63c..076a1a3 100644 --- a/src/components/UiComponents/TextField/TextField.tsx +++ b/src/components/UiComponents/TextField/TextField.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useRef, useEffect } from 'react'; import { BaseTextFieldProps } from './TextFieldTypes'; import styles from './TextField.module.css'; diff --git a/src/components/UiComponents/TextField/TextFieldTypes.ts b/src/components/UiComponents/TextField/TextFieldTypes.ts index df47742..3431562 100644 --- a/src/components/UiComponents/TextField/TextFieldTypes.ts +++ b/src/components/UiComponents/TextField/TextFieldTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export type TextFieldSize = 'sm' | 'md' | 'lg'; export interface BaseTextFieldProps { diff --git a/src/components/UiComponents/TextField/index.ts b/src/components/UiComponents/TextField/index.ts index 26767d5..0c2fc08 100644 --- a/src/components/UiComponents/TextField/index.ts +++ b/src/components/UiComponents/TextField/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as TextField } from './TextField'; export { default } from './TextField'; export * from './TextFieldTypes'; diff --git a/src/components/UiComponents/Toast/Toast.tsx b/src/components/UiComponents/Toast/Toast.tsx index 4829c45..3de9b96 100644 --- a/src/components/UiComponents/Toast/Toast.tsx +++ b/src/components/UiComponents/Toast/Toast.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { motion, AnimatePresence } from 'framer-motion'; import { FaCheckCircle, FaExclamationCircle, FaExclamationTriangle, FaInfoCircle, FaTimes } from 'react-icons/fa'; import styles from './Toast.module.css'; diff --git a/src/components/UiComponents/Toast/index.ts b/src/components/UiComponents/Toast/index.ts index 73df98b..9b53d6e 100644 --- a/src/components/UiComponents/Toast/index.ts +++ b/src/components/UiComponents/Toast/index.ts @@ -1,2 +1,4 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { Toast, ToastContainer } from './Toast'; export type { ToastType, ToastData } from './Toast'; diff --git a/src/components/UiComponents/ViewForm/ViewForm.tsx b/src/components/UiComponents/ViewForm/ViewForm.tsx index 9f64827..e094859 100644 --- a/src/components/UiComponents/ViewForm/ViewForm.tsx +++ b/src/components/UiComponents/ViewForm/ViewForm.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import styles from './ViewForm.module.css'; import { isCheckboxType, diff --git a/src/components/UiComponents/ViewForm/index.ts b/src/components/UiComponents/ViewForm/index.ts index dfee856..1499c15 100644 --- a/src/components/UiComponents/ViewForm/index.ts +++ b/src/components/UiComponents/ViewForm/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { ViewForm, default as DefaultViewForm } from './ViewForm'; export type { ViewFormProps, ViewFieldConfig } from './ViewForm'; diff --git a/src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx b/src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx index 837a865..15c7da5 100644 --- a/src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx +++ b/src/components/UiComponents/VoiceLanguageSelect/VoiceLanguageSelect.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * VoiceLanguageSelect * diff --git a/src/components/UiComponents/VoiceLanguageSelect/index.ts b/src/components/UiComponents/VoiceLanguageSelect/index.ts index 0e5ab24..d3eda9f 100644 --- a/src/components/UiComponents/VoiceLanguageSelect/index.ts +++ b/src/components/UiComponents/VoiceLanguageSelect/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { VoiceLanguageSelect, useVoiceLanguage, diff --git a/src/components/UiComponents/WorkflowStatus/WorkflowStatus.tsx b/src/components/UiComponents/WorkflowStatus/WorkflowStatus.tsx index e3cd4a0..2012ca8 100644 --- a/src/components/UiComponents/WorkflowStatus/WorkflowStatus.tsx +++ b/src/components/UiComponents/WorkflowStatus/WorkflowStatus.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useMemo } from 'react'; import { WorkflowStatusProps, WorkflowStatusType } from './WorkflowStatusTypes'; import styles from './WorkflowStatus.module.css'; diff --git a/src/components/UiComponents/WorkflowStatus/WorkflowStatusTypes.ts b/src/components/UiComponents/WorkflowStatus/WorkflowStatusTypes.ts index 5275b9a..16e10de 100644 --- a/src/components/UiComponents/WorkflowStatus/WorkflowStatusTypes.ts +++ b/src/components/UiComponents/WorkflowStatus/WorkflowStatusTypes.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Log entry from workflow */ diff --git a/src/components/UiComponents/WorkflowStatus/index.ts b/src/components/UiComponents/WorkflowStatus/index.ts index 4e35ac1..79456f2 100644 --- a/src/components/UiComponents/WorkflowStatus/index.ts +++ b/src/components/UiComponents/WorkflowStatus/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as WorkflowStatus } from './WorkflowStatus'; export { default } from './WorkflowStatus'; export * from './WorkflowStatusTypes'; diff --git a/src/components/UiComponents/index.ts b/src/components/UiComponents/index.ts index 79c1ac1..339ff6c 100644 --- a/src/components/UiComponents/index.ts +++ b/src/components/UiComponents/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export * from './Button'; export * from './Button/UploadButton'; export { default as MessageOverlay } from './InfoMessageOverlay'; @@ -22,4 +24,4 @@ export type { TabsProps, Tab } from './Tabs'; export * from './AccordionList'; export * from './Toast'; export * from './VoiceLanguageSelect'; -export * from './Modal'; \ No newline at end of file +export * from './Modal'; diff --git a/src/components/UnifiedDataBar/ChatsTab.tsx b/src/components/UnifiedDataBar/ChatsTab.tsx index 5599615..1b8d190 100644 --- a/src/components/UnifiedDataBar/ChatsTab.tsx +++ b/src/components/UnifiedDataBar/ChatsTab.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useEffect, useCallback, useRef } from 'react'; import type { UdbContext } from './UnifiedDataBar'; import api from '../../api'; diff --git a/src/components/UnifiedDataBar/DataSourceSettingsModal.tsx b/src/components/UnifiedDataBar/DataSourceSettingsModal.tsx index c70af12..4b4a5b7 100644 --- a/src/components/UnifiedDataBar/DataSourceSettingsModal.tsx +++ b/src/components/UnifiedDataBar/DataSourceSettingsModal.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * DataSourceSettingsModal * diff --git a/src/components/UnifiedDataBar/FilesTab.tsx b/src/components/UnifiedDataBar/FilesTab.tsx index 6086199..cde4777 100644 --- a/src/components/UnifiedDataBar/FilesTab.tsx +++ b/src/components/UnifiedDataBar/FilesTab.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useCallback, useRef, useMemo, useState, useEffect } from 'react'; import type { UdbContext } from './UnifiedDataBar'; import api from '../../api'; diff --git a/src/components/UnifiedDataBar/SourcesTab.tsx b/src/components/UnifiedDataBar/SourcesTab.tsx index 703cfb2..7176f6c 100644 --- a/src/components/UnifiedDataBar/SourcesTab.tsx +++ b/src/components/UnifiedDataBar/SourcesTab.tsx @@ -1,4 +1,4 @@ -// Copyright (c) 2026 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. /** * SourcesTab — UDB tab for personal connections + mandate data. diff --git a/src/components/UnifiedDataBar/UdbSourcesProvider.tsx b/src/components/UnifiedDataBar/UdbSourcesProvider.tsx index f1a28c8..419810c 100644 --- a/src/components/UnifiedDataBar/UdbSourcesProvider.tsx +++ b/src/components/UnifiedDataBar/UdbSourcesProvider.tsx @@ -1,4 +1,4 @@ -// Copyright (c) 2026 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. /** * UdbSourcesProvider — TreeNodeProvider for the UDB Sources tab. diff --git a/src/components/UnifiedDataBar/UnifiedDataBar.tsx b/src/components/UnifiedDataBar/UnifiedDataBar.tsx index ca6ebc2..abad3e3 100644 --- a/src/components/UnifiedDataBar/UnifiedDataBar.tsx +++ b/src/components/UnifiedDataBar/UnifiedDataBar.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState } from 'react'; import ChatsTab from './ChatsTab'; import FilesTab from './FilesTab'; diff --git a/src/components/UnifiedDataBar/__tests__/UdbSourcesProvider.test.ts b/src/components/UnifiedDataBar/__tests__/UdbSourcesProvider.test.ts index 72282dd..4b0da10 100644 --- a/src/components/UnifiedDataBar/__tests__/UdbSourcesProvider.test.ts +++ b/src/components/UnifiedDataBar/__tests__/UdbSourcesProvider.test.ts @@ -1,4 +1,4 @@ -// Copyright (c) 2026 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. import { describe, expect, it, vi, beforeEach } from 'vitest'; diff --git a/src/components/UnifiedDataBar/index.ts b/src/components/UnifiedDataBar/index.ts index 5789264..8eb6dd8 100644 --- a/src/components/UnifiedDataBar/index.ts +++ b/src/components/UnifiedDataBar/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export { default as UnifiedDataBar } from './UnifiedDataBar'; export type { UdbContext, UdbTab, AddToChat_FileItem, AddToChat_FeatureSource } from './UnifiedDataBar'; export { useUdlContext } from './useUdlContext'; diff --git a/src/components/UnifiedDataBar/useUdlContext.ts b/src/components/UnifiedDataBar/useUdlContext.ts index 7bb2f89..2bde0be 100644 --- a/src/components/UnifiedDataBar/useUdlContext.ts +++ b/src/components/UnifiedDataBar/useUdlContext.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useMemo } from 'react'; import type { UdbContext } from './UnifiedDataBar'; diff --git a/src/config/keepAliveRoutes.tsx b/src/config/keepAliveRoutes.tsx index adb07bd..2758f5f 100644 --- a/src/config/keepAliveRoutes.tsx +++ b/src/config/keepAliveRoutes.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import type { KeepAliveEntry } from '../types/keepAlive.types'; import { AdminDatabaseHealthPage } from '../pages/admin/AdminDatabaseHealthPage'; import { AdminLanguagesPage } from '../pages/admin/AdminLanguagesPage'; diff --git a/src/config/pageRegistry.tsx b/src/config/pageRegistry.tsx index baa5d68..aea2eaf 100644 --- a/src/config/pageRegistry.tsx +++ b/src/config/pageRegistry.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Page Registry * diff --git a/src/contexts/FileContext.tsx b/src/contexts/FileContext.tsx index ba9a3c2..b15c87a 100644 --- a/src/contexts/FileContext.tsx +++ b/src/contexts/FileContext.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { createContext, useContext } from 'react'; import { useFileOperations, useFolderOperations, type FilePreviewResult } from '../hooks/useFiles'; import type { FolderInfo } from '../api/fileApi'; diff --git a/src/contexts/PekContext.tsx b/src/contexts/PekContext.tsx index 3c6fae1..b7fdd9e 100644 --- a/src/contexts/PekContext.tsx +++ b/src/contexts/PekContext.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { createContext, useContext, ReactNode } from 'react'; import { usePek } from '../hooks/usePek'; diff --git a/src/contexts/ToastContext.tsx b/src/contexts/ToastContext.tsx index 5d0b469..e8d7fc3 100644 --- a/src/contexts/ToastContext.tsx +++ b/src/contexts/ToastContext.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { createContext, useContext, useState, useCallback, useRef, useEffect } from 'react'; import { ToastContainer, ToastData, ToastType } from '../components/UiComponents/Toast'; diff --git a/src/contexts/VoiceCatalogContext.tsx b/src/contexts/VoiceCatalogContext.tsx index 0150460..acdba04 100644 --- a/src/contexts/VoiceCatalogContext.tsx +++ b/src/contexts/VoiceCatalogContext.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * VoiceCatalogContext * diff --git a/src/contexts/WorkflowSelectionContext.tsx b/src/contexts/WorkflowSelectionContext.tsx index d9a08d0..cedb4e0 100644 --- a/src/contexts/WorkflowSelectionContext.tsx +++ b/src/contexts/WorkflowSelectionContext.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { createContext, useContext, useState, useCallback, ReactNode } from 'react'; interface WorkflowSelectionContextType { diff --git a/src/global.d.ts b/src/global.d.ts index d9d8d3d..9afcb2c 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. interface SpeechRecognition extends EventTarget { continuous: boolean; interimResults: boolean; diff --git a/src/hooks/useAccessRules.tsx b/src/hooks/useAccessRules.tsx index bd6bd0a..6919a14 100644 --- a/src/hooks/useAccessRules.tsx +++ b/src/hooks/useAccessRules.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useAccessRules Hook * diff --git a/src/hooks/useAdminMandates.ts b/src/hooks/useAdminMandates.ts index 030e06a..a920f0b 100644 --- a/src/hooks/useAdminMandates.ts +++ b/src/hooks/useAdminMandates.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import { getUserDataCache } from '../utils/userCache'; diff --git a/src/hooks/useAdminRbacRoles.ts b/src/hooks/useAdminRbacRoles.ts index 77098f5..341c755 100644 --- a/src/hooks/useAdminRbacRoles.ts +++ b/src/hooks/useAdminRbacRoles.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import { getUserDataCache } from '../utils/userCache'; diff --git a/src/hooks/useAdminRbacRules.ts b/src/hooks/useAdminRbacRules.ts index 5894293..bc0ef10 100644 --- a/src/hooks/useAdminRbacRules.ts +++ b/src/hooks/useAdminRbacRules.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import { getUserDataCache } from '../utils/userCache'; diff --git a/src/hooks/useAdminSubscriptions.ts b/src/hooks/useAdminSubscriptions.ts index 02acd1f..70fdba1 100644 --- a/src/hooks/useAdminSubscriptions.ts +++ b/src/hooks/useAdminSubscriptions.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; diff --git a/src/hooks/useApi.ts b/src/hooks/useApi.ts index f5db373..e09a972 100644 --- a/src/hooks/useApi.ts +++ b/src/hooks/useApi.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useCallback } from 'react'; import api from '../api'; @@ -191,4 +193,4 @@ export function useApiRequest() { error, clearCache }; -} \ No newline at end of file +} diff --git a/src/hooks/useAudioQueue.ts b/src/hooks/useAudioQueue.ts index 1cd4fb1..0d03b63 100644 --- a/src/hooks/useAudioQueue.ts +++ b/src/hooks/useAudioQueue.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useAudioQueue — Playlist-style audio playback queue. * diff --git a/src/hooks/useAuthentication.ts b/src/hooks/useAuthentication.ts index f724916..8ce4769 100644 --- a/src/hooks/useAuthentication.ts +++ b/src/hooks/useAuthentication.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState } from 'react'; import api from '../api'; @@ -632,4 +634,4 @@ export function useCurrentUser() { isLoading, error }; -} \ No newline at end of file +} diff --git a/src/hooks/useBackgroundJob.ts b/src/hooks/useBackgroundJob.ts index ae7b1ce..eb66b45 100644 --- a/src/hooks/useBackgroundJob.ts +++ b/src/hooks/useBackgroundJob.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useEffect, useRef, useState, useCallback } from 'react'; import api from '../api'; diff --git a/src/hooks/useBilling.ts b/src/hooks/useBilling.ts index 8be65d9..464c07d 100644 --- a/src/hooks/useBilling.ts +++ b/src/hooks/useBilling.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useBilling Hook * diff --git a/src/hooks/useCatalogObjects.ts b/src/hooks/useCatalogObjects.ts index 8069453..623e7c8 100644 --- a/src/hooks/useCatalogObjects.ts +++ b/src/hooks/useCatalogObjects.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useCatalogObjects Hook * diff --git a/src/hooks/useCommcoach.ts b/src/hooks/useCommcoach.ts index 2edb830..49126d8 100644 --- a/src/hooks/useCommcoach.ts +++ b/src/hooks/useCommcoach.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useCommcoach Hook * diff --git a/src/hooks/useCommcoachDashboard.ts b/src/hooks/useCommcoachDashboard.ts index 6a0228a..b000451 100644 --- a/src/hooks/useCommcoachDashboard.ts +++ b/src/hooks/useCommcoachDashboard.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useCommcoachDashboard Hook * diff --git a/src/hooks/useConfirm.tsx b/src/hooks/useConfirm.tsx index 5022b21..b0e73cb 100644 --- a/src/hooks/useConfirm.tsx +++ b/src/hooks/useConfirm.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useConfirm — application-level confirm dialog replacing native browser confirm(). * diff --git a/src/hooks/useConnections.ts b/src/hooks/useConnections.ts index 74dfd1e..0597715 100644 --- a/src/hooks/useConnections.ts +++ b/src/hooks/useConnections.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import { getApiBaseUrl } from '../../config/config'; @@ -1076,4 +1078,4 @@ export function useConnection(connectionId?: string) { isLoading, error }; -} \ No newline at end of file +} diff --git a/src/hooks/useCurrentInstance.ts b/src/hooks/useCurrentInstance.ts index d752521..cfb0a4c 100644 --- a/src/hooks/useCurrentInstance.ts +++ b/src/hooks/useCurrentInstance.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useCurrentInstance Hook * diff --git a/src/hooks/useFeatureAccess.ts b/src/hooks/useFeatureAccess.ts index 658d32a..8035b82 100644 --- a/src/hooks/useFeatureAccess.ts +++ b/src/hooks/useFeatureAccess.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useFeatureAccess Hook * diff --git a/src/hooks/useFiles.ts b/src/hooks/useFiles.ts index 3e5f05b..d3a098e 100644 --- a/src/hooks/useFiles.ts +++ b/src/hooks/useFiles.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import api from '../api'; import { useToast } from '../contexts/ToastContext'; @@ -952,4 +954,4 @@ export function useFolderOperations() { handlePatchFolderNeutralize, handleMoveFiles, }; -} \ No newline at end of file +} diff --git a/src/hooks/useInstancePermissions.tsx b/src/hooks/useInstancePermissions.tsx index bfd7ac9..93f2376 100644 --- a/src/hooks/useInstancePermissions.tsx +++ b/src/hooks/useInstancePermissions.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Instance Permission Hooks * diff --git a/src/hooks/useIntegrationsOverview.ts b/src/hooks/useIntegrationsOverview.ts index 0565d2e..c1fcf3e 100644 --- a/src/hooks/useIntegrationsOverview.ts +++ b/src/hooks/useIntegrationsOverview.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Aggregates data for the Integrations architecture page. * Primary payload: GET /api/system/integrations-overview (no fictitious diagram data). diff --git a/src/hooks/useInvitations.ts b/src/hooks/useInvitations.ts index 7377e3e..462263d 100644 --- a/src/hooks/useInvitations.ts +++ b/src/hooks/useInvitations.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useInvitations Hook * diff --git a/src/hooks/useMandateRoles.ts b/src/hooks/useMandateRoles.ts index f530b9c..fc18887 100644 --- a/src/hooks/useMandateRoles.ts +++ b/src/hooks/useMandateRoles.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useMandateRoles Hook * diff --git a/src/hooks/useMandates.ts b/src/hooks/useMandates.ts index 9444acd..ab479a7 100644 --- a/src/hooks/useMandates.ts +++ b/src/hooks/useMandates.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useMandates Hook * diff --git a/src/hooks/useNavigation.ts b/src/hooks/useNavigation.ts index ba2bd4b..e1b5416 100644 --- a/src/hooks/useNavigation.ts +++ b/src/hooks/useNavigation.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useNavigation Hook * diff --git a/src/hooks/useNotifications.ts b/src/hooks/useNotifications.ts index b3706d9..cc1b911 100644 --- a/src/hooks/useNotifications.ts +++ b/src/hooks/useNotifications.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useNotifications Hook * diff --git a/src/hooks/usePek.ts b/src/hooks/usePek.ts index b47031c..0eb20ee 100644 --- a/src/hooks/usePek.ts +++ b/src/hooks/usePek.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useCallback, useEffect } from 'react'; import api from '../api'; import type { MapPoint, ParcelGeometry } from '../components/UiComponents/MapView'; diff --git a/src/hooks/usePeriod.ts b/src/hooks/usePeriod.ts index cb12f2c..a5c8d6f 100644 --- a/src/hooks/usePeriod.ts +++ b/src/hooks/usePeriod.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * usePeriod - state hook for the PeriodPicker. * diff --git a/src/hooks/usePermissions.ts b/src/hooks/usePermissions.ts index cd4f584..dcc71a2 100644 --- a/src/hooks/usePermissions.ts +++ b/src/hooks/usePermissions.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useCallback, useRef } from 'react'; import { useApiRequest } from './useApi'; import { diff --git a/src/hooks/usePlayground.ts b/src/hooks/usePlayground.ts index 1108099..e06b6f5 100644 --- a/src/hooks/usePlayground.ts +++ b/src/hooks/usePlayground.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export interface UserInputRequest { input: string; files?: any[]; diff --git a/src/hooks/usePrompt.tsx b/src/hooks/usePrompt.tsx index 60d2621..ed1d42a 100644 --- a/src/hooks/usePrompt.tsx +++ b/src/hooks/usePrompt.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * usePrompt — application-level prompt dialog replacing native browser prompt(). * diff --git a/src/hooks/usePrompts.ts b/src/hooks/usePrompts.ts index 004ed29..30a4ec1 100644 --- a/src/hooks/usePrompts.ts +++ b/src/hooks/usePrompts.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; @@ -636,4 +638,4 @@ export function usePromptOperations() { handleInlineUpdate, isLoading }; -} \ No newline at end of file +} diff --git a/src/hooks/useRealEstate.ts b/src/hooks/useRealEstate.ts index 7e07f17..2e0b469 100644 --- a/src/hooks/useRealEstate.ts +++ b/src/hooks/useRealEstate.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Real Estate Hooks * diff --git a/src/hooks/useResizablePanels.ts b/src/hooks/useResizablePanels.ts index 3a60e46..6fecbb2 100644 --- a/src/hooks/useResizablePanels.ts +++ b/src/hooks/useResizablePanels.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useResizablePanels * diff --git a/src/hooks/useSpeechAudioCapture.ts b/src/hooks/useSpeechAudioCapture.ts index c97b96f..6fbbc47 100644 --- a/src/hooks/useSpeechAudioCapture.ts +++ b/src/hooks/useSpeechAudioCapture.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useVoiceStream — single hook for mic capture + STT streaming. * diff --git a/src/hooks/useStore.ts b/src/hooks/useStore.ts index 2ecd1a1..a3c1e78 100644 --- a/src/hooks/useStore.ts +++ b/src/hooks/useStore.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useStore Hook * diff --git a/src/hooks/useSubscription.ts b/src/hooks/useSubscription.ts index 0325b75..de29c88 100644 --- a/src/hooks/useSubscription.ts +++ b/src/hooks/useSubscription.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useSubscription Hook — state-machine-aligned subscription management. * diff --git a/src/hooks/useTreeExpansion.ts b/src/hooks/useTreeExpansion.ts index 9a647c1..c008220 100644 --- a/src/hooks/useTreeExpansion.ts +++ b/src/hooks/useTreeExpansion.ts @@ -1,4 +1,4 @@ -// Copyright (c) 2026 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. /** * useTreeExpansion - fire-and-forget persistence for tree expand state. diff --git a/src/hooks/useTrustee.ts b/src/hooks/useTrustee.ts index 766f407..3dc1449 100644 --- a/src/hooks/useTrustee.ts +++ b/src/hooks/useTrustee.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Trustee Hooks * diff --git a/src/hooks/useTrusteeAccess.ts b/src/hooks/useTrusteeAccess.ts index b0f147c..8964687 100644 --- a/src/hooks/useTrusteeAccess.ts +++ b/src/hooks/useTrusteeAccess.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTrusteeContracts.ts b/src/hooks/useTrusteeContracts.ts index 0012caf..535f71d 100644 --- a/src/hooks/useTrusteeContracts.ts +++ b/src/hooks/useTrusteeContracts.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTrusteeDocuments.ts b/src/hooks/useTrusteeDocuments.ts index d14aa2c..5fa44d4 100644 --- a/src/hooks/useTrusteeDocuments.ts +++ b/src/hooks/useTrusteeDocuments.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTrusteeOptions.ts b/src/hooks/useTrusteeOptions.ts index 9569816..474073f 100644 --- a/src/hooks/useTrusteeOptions.ts +++ b/src/hooks/useTrusteeOptions.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useTrusteeOptions Hook * diff --git a/src/hooks/useTrusteeOrganisations.ts b/src/hooks/useTrusteeOrganisations.ts index c0f3c89..ee2cc6b 100644 --- a/src/hooks/useTrusteeOrganisations.ts +++ b/src/hooks/useTrusteeOrganisations.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTrusteePositionDocuments.ts b/src/hooks/useTrusteePositionDocuments.ts index ba2c9a4..664fe4c 100644 --- a/src/hooks/useTrusteePositionDocuments.ts +++ b/src/hooks/useTrusteePositionDocuments.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTrusteePositions.ts b/src/hooks/useTrusteePositions.ts index 59a8764..17d6d96 100644 --- a/src/hooks/useTrusteePositions.ts +++ b/src/hooks/useTrusteePositions.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTrusteeRoles.ts b/src/hooks/useTrusteeRoles.ts index c42a674..25e1be3 100644 --- a/src/hooks/useTrusteeRoles.ts +++ b/src/hooks/useTrusteeRoles.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import api from '../api'; diff --git a/src/hooks/useTtsPlayback.ts b/src/hooks/useTtsPlayback.ts index cbb3d99..fab6dfe 100644 --- a/src/hooks/useTtsPlayback.ts +++ b/src/hooks/useTtsPlayback.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useTtsPlayback — central hook for TTS audio playback. * diff --git a/src/hooks/useUserMandates.ts b/src/hooks/useUserMandates.ts index bc1dc43..f893595 100644 --- a/src/hooks/useUserMandates.ts +++ b/src/hooks/useUserMandates.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * useUserMandates Hook * diff --git a/src/hooks/useUsers.ts b/src/hooks/useUsers.ts index 7450013..e96e578 100644 --- a/src/hooks/useUsers.ts +++ b/src/hooks/useUsers.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import { setUserDataCache, getUserDataCache, clearUserDataCache } from '../utils/userCache'; @@ -823,4 +825,4 @@ export function useUser() { isLoading, error }; -} \ No newline at end of file +} diff --git a/src/hooks/useWorkflows.ts b/src/hooks/useWorkflows.ts index 62a41b2..efa3ee5 100644 --- a/src/hooks/useWorkflows.ts +++ b/src/hooks/useWorkflows.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect, useCallback } from 'react'; import { useApiRequest } from './useApi'; import { fetchAttributes as fetchAttributesApi } from '../api/attributesApi'; diff --git a/src/layouts/FeatureLayout.tsx b/src/layouts/FeatureLayout.tsx index c745ccf..9af73f9 100644 --- a/src/layouts/FeatureLayout.tsx +++ b/src/layouts/FeatureLayout.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FeatureLayout * diff --git a/src/layouts/MainLayout.tsx b/src/layouts/MainLayout.tsx index 91d1bb3..d1e9b26 100644 --- a/src/layouts/MainLayout.tsx +++ b/src/layouts/MainLayout.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * MainLayout * diff --git a/src/layouts/index.ts b/src/layouts/index.ts index ec8f5b7..725d008 100644 --- a/src/layouts/index.ts +++ b/src/layouts/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Layouts Export */ diff --git a/src/locales/index.ts b/src/locales/index.ts index bd487d7..59209d3 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { Language, TranslationKeys } from './types'; import { getApiBaseUrl } from '../../config/config'; diff --git a/src/locales/types.ts b/src/locales/types.ts index a7e11ab..c765bef 100644 --- a/src/locales/types.ts +++ b/src/locales/types.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. export type Language = string; export type TranslationKeys = { diff --git a/src/main.tsx b/src/main.tsx index b79dae2..e2ce9c5 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import App from './App.tsx' diff --git a/src/pages/ComplianceAuditPage.tsx b/src/pages/ComplianceAuditPage.tsx index ab8c7b4..3f6f6c9 100644 --- a/src/pages/ComplianceAuditPage.tsx +++ b/src/pages/ComplianceAuditPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ComplianceAuditPage — Compliance & AI-Audit dashboard. * diff --git a/src/pages/Dashboard.tsx b/src/pages/Dashboard.tsx index e4c59db..6f6f00e 100644 --- a/src/pages/Dashboard.tsx +++ b/src/pages/Dashboard.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Dashboard Page * diff --git a/src/pages/FeatureView.tsx b/src/pages/FeatureView.tsx index 47ab0ce..04f8bbe 100644 --- a/src/pages/FeatureView.tsx +++ b/src/pages/FeatureView.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FeatureView Page * diff --git a/src/pages/GDPR.tsx b/src/pages/GDPR.tsx index b409e8d..9cd700d 100644 --- a/src/pages/GDPR.tsx +++ b/src/pages/GDPR.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * GDPR Page * diff --git a/src/pages/IntegrationsOverviewPage.tsx b/src/pages/IntegrationsOverviewPage.tsx index 1c4af13..5749137 100644 --- a/src/pages/IntegrationsOverviewPage.tsx +++ b/src/pages/IntegrationsOverviewPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PORTA architecture overview — data → processing → organisation. * Layout matches local/notes/demo-tue-porta_architecture_v3.html (order: Schicht 3 → Pfeil ↓ → Schicht 2 → Pfeil ↑ → Schicht 1). diff --git a/src/pages/InvitePage.tsx b/src/pages/InvitePage.tsx index ca5ae7d..e589091 100644 --- a/src/pages/InvitePage.tsx +++ b/src/pages/InvitePage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * InvitePage * diff --git a/src/pages/Login.tsx b/src/pages/Login.tsx index d186914..3462430 100644 --- a/src/pages/Login.tsx +++ b/src/pages/Login.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useNavigate, useLocation } from 'react-router-dom'; import { useState, useEffect, useRef, useCallback } from 'react'; import { FaGoogle, FaMicrosoft, FaEnvelopeOpenText, FaShieldAlt } from 'react-icons/fa'; diff --git a/src/pages/PasswordResetRequest.tsx b/src/pages/PasswordResetRequest.tsx index 8e958e1..2eb3697 100644 --- a/src/pages/PasswordResetRequest.tsx +++ b/src/pages/PasswordResetRequest.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; diff --git a/src/pages/RagInventoryPage.tsx b/src/pages/RagInventoryPage.tsx index 2ee4ea2..428c56b 100644 --- a/src/pages/RagInventoryPage.tsx +++ b/src/pages/RagInventoryPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * RagInventoryPage — Global RAG knowledge store management. * diff --git a/src/pages/Register.tsx b/src/pages/Register.tsx index 575665f..03f6a2c 100644 --- a/src/pages/Register.tsx +++ b/src/pages/Register.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect } from 'react'; import { useNavigate, useLocation } from 'react-router-dom'; import { FaEnvelopeOpenText } from 'react-icons/fa'; diff --git a/src/pages/Reset.tsx b/src/pages/Reset.tsx index cd8ca1b..b721a8a 100644 --- a/src/pages/Reset.tsx +++ b/src/pages/Reset.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { useState, useEffect } from 'react'; import { useNavigate, useSearchParams } from 'react-router-dom'; diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index 1a9cb59..1bf74bc 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Settings Page — User-level settings with tabs. * Route: /settings diff --git a/src/pages/Store.tsx b/src/pages/Store.tsx index baccc97..e6f5569 100644 --- a/src/pages/Store.tsx +++ b/src/pages/Store.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Feature Store -- Users activate feature instances in their own mandates. * Uses the Own Instance Pattern -- each activation creates a dedicated FeatureInstance diff --git a/src/pages/admin/AccessManagementHub.tsx b/src/pages/admin/AccessManagementHub.tsx index ede8871..d94a7d9 100644 --- a/src/pages/admin/AccessManagementHub.tsx +++ b/src/pages/admin/AccessManagementHub.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AccessManagementHub * diff --git a/src/pages/admin/AdminDatabaseHealthPage.tsx b/src/pages/admin/AdminDatabaseHealthPage.tsx index 6ab7b8b..8202f75 100644 --- a/src/pages/admin/AdminDatabaseHealthPage.tsx +++ b/src/pages/admin/AdminDatabaseHealthPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminDatabaseHealthPage * diff --git a/src/pages/admin/AdminDemoConfigPage.tsx b/src/pages/admin/AdminDemoConfigPage.tsx index c64defe..9d15779 100644 --- a/src/pages/admin/AdminDemoConfigPage.tsx +++ b/src/pages/admin/AdminDemoConfigPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminDemoConfigPage * diff --git a/src/pages/admin/AdminFeatureAccessPage.tsx b/src/pages/admin/AdminFeatureAccessPage.tsx index ac93881..0c5c729 100644 --- a/src/pages/admin/AdminFeatureAccessPage.tsx +++ b/src/pages/admin/AdminFeatureAccessPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminFeatureAccessPage * diff --git a/src/pages/admin/AdminFeatureInstanceUsersPage.tsx b/src/pages/admin/AdminFeatureInstanceUsersPage.tsx index 0fc90f6..a311ec6 100644 --- a/src/pages/admin/AdminFeatureInstanceUsersPage.tsx +++ b/src/pages/admin/AdminFeatureInstanceUsersPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminFeatureInstanceUsersPage * diff --git a/src/pages/admin/AdminFeatureRolesPage.tsx b/src/pages/admin/AdminFeatureRolesPage.tsx index c1259ac..e62f78b 100644 --- a/src/pages/admin/AdminFeatureRolesPage.tsx +++ b/src/pages/admin/AdminFeatureRolesPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminFeatureRolesPage * diff --git a/src/pages/admin/AdminInvitationsPage.tsx b/src/pages/admin/AdminInvitationsPage.tsx index 1f1c73c..8ec98a8 100644 --- a/src/pages/admin/AdminInvitationsPage.tsx +++ b/src/pages/admin/AdminInvitationsPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminInvitationsPage * diff --git a/src/pages/admin/AdminLanguagesPage.tsx b/src/pages/admin/AdminLanguagesPage.tsx index 8e324ca..0c2b506 100644 --- a/src/pages/admin/AdminLanguagesPage.tsx +++ b/src/pages/admin/AdminLanguagesPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * SysAdmin: UI language sets (DB-backed i18n). */ diff --git a/src/pages/admin/AdminLogsPage.tsx b/src/pages/admin/AdminLogsPage.tsx index 1d3270f..7ef1fb0 100644 --- a/src/pages/admin/AdminLogsPage.tsx +++ b/src/pages/admin/AdminLogsPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminLogsPage * diff --git a/src/pages/admin/AdminMandateRolePermissionsPage.tsx b/src/pages/admin/AdminMandateRolePermissionsPage.tsx index 0b6eac8..58fc092 100644 --- a/src/pages/admin/AdminMandateRolePermissionsPage.tsx +++ b/src/pages/admin/AdminMandateRolePermissionsPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminMandateRolePermissionsPage * diff --git a/src/pages/admin/AdminMandateRolesPage.tsx b/src/pages/admin/AdminMandateRolesPage.tsx index 007ad89..ae71d6d 100644 --- a/src/pages/admin/AdminMandateRolesPage.tsx +++ b/src/pages/admin/AdminMandateRolesPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminMandateRolesPage * diff --git a/src/pages/admin/AdminMandatesPage.tsx b/src/pages/admin/AdminMandatesPage.tsx index 327f0e2..f69e119 100644 --- a/src/pages/admin/AdminMandatesPage.tsx +++ b/src/pages/admin/AdminMandatesPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminMandatesPage * diff --git a/src/pages/admin/AdminUserAccessOverviewPage.tsx b/src/pages/admin/AdminUserAccessOverviewPage.tsx index f9ce0cc..9b1c06f 100644 --- a/src/pages/admin/AdminUserAccessOverviewPage.tsx +++ b/src/pages/admin/AdminUserAccessOverviewPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminUserAccessOverviewPage * diff --git a/src/pages/admin/AdminUserMandatesPage.tsx b/src/pages/admin/AdminUserMandatesPage.tsx index 8d9f5fa..b0e4f03 100644 --- a/src/pages/admin/AdminUserMandatesPage.tsx +++ b/src/pages/admin/AdminUserMandatesPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminUserMandatesPage * diff --git a/src/pages/admin/AdminUsersPage.tsx b/src/pages/admin/AdminUsersPage.tsx index 20f350d..336e4ff 100644 --- a/src/pages/admin/AdminUsersPage.tsx +++ b/src/pages/admin/AdminUsersPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminUsersPage * diff --git a/src/pages/admin/InstanceDetailModal.tsx b/src/pages/admin/InstanceDetailModal.tsx index ecc6fe1..2b16632 100644 --- a/src/pages/admin/InstanceDetailModal.tsx +++ b/src/pages/admin/InstanceDetailModal.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * InstanceDetailModal * diff --git a/src/pages/admin/InstanceHierarchyView.tsx b/src/pages/admin/InstanceHierarchyView.tsx index 2daa8e7..9f4bc2c 100644 --- a/src/pages/admin/InstanceHierarchyView.tsx +++ b/src/pages/admin/InstanceHierarchyView.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * InstanceHierarchyView * diff --git a/src/pages/admin/PermissionMatrix.tsx b/src/pages/admin/PermissionMatrix.tsx index a44181a..5484a77 100644 --- a/src/pages/admin/PermissionMatrix.tsx +++ b/src/pages/admin/PermissionMatrix.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * PermissionMatrix * diff --git a/src/pages/admin/index.ts b/src/pages/admin/index.ts index 74bc916..cc1e180 100644 --- a/src/pages/admin/index.ts +++ b/src/pages/admin/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Admin Pages Index * diff --git a/src/pages/admin/wizards/AdminInvitationWizardPage.tsx b/src/pages/admin/wizards/AdminInvitationWizardPage.tsx index 89d28ed..6b06766 100644 --- a/src/pages/admin/wizards/AdminInvitationWizardPage.tsx +++ b/src/pages/admin/wizards/AdminInvitationWizardPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * AdminInvitationWizardPage * diff --git a/src/pages/admin/wizards/AdminMandateWizardPage.tsx b/src/pages/admin/wizards/AdminMandateWizardPage.tsx index 4c6e335..35df640 100644 --- a/src/pages/admin/wizards/AdminMandateWizardPage.tsx +++ b/src/pages/admin/wizards/AdminMandateWizardPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React, { useState, useEffect, useCallback, useMemo } from 'react'; import { useUserMandates, diff --git a/src/pages/admin/wizards/FeatureInstanceWizard.tsx b/src/pages/admin/wizards/FeatureInstanceWizard.tsx index 77bae34..715107a 100644 --- a/src/pages/admin/wizards/FeatureInstanceWizard.tsx +++ b/src/pages/admin/wizards/FeatureInstanceWizard.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FeatureInstanceWizard * diff --git a/src/pages/admin/wizards/index.ts b/src/pages/admin/wizards/index.ts index cc6c011..2d5918c 100644 --- a/src/pages/admin/wizards/index.ts +++ b/src/pages/admin/wizards/index.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * Wizards Index * diff --git a/src/pages/basedata/ConnectionsPage.tsx b/src/pages/basedata/ConnectionsPage.tsx index 4815410..9c854d3 100644 --- a/src/pages/basedata/ConnectionsPage.tsx +++ b/src/pages/basedata/ConnectionsPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * ConnectionsPage * diff --git a/src/pages/basedata/FilesPage.tsx b/src/pages/basedata/FilesPage.tsx index 1fb4c21..dc1d2a6 100644 --- a/src/pages/basedata/FilesPage.tsx +++ b/src/pages/basedata/FilesPage.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. /** * FilesPage * @@ -88,6 +90,8 @@ export const FilesPage: React.FC = () => { const [highlightedFileId, setHighlightedFileId] = useState(null); const [uploadProgressPercent, setUploadProgressPercent] = useState(0); const [isUploadingBatch, setIsUploadingBatch] = useState(false); + const [isDragOver, setIsDragOver] = useState(false); + const dragCounterRef = useRef(0); const [treeWidth, setTreeWidth] = useState(300); const [treeVisible, setTreeVisible] = useState(true); @@ -340,6 +344,74 @@ export const FilesPage: React.FC = () => { } }; + const _handlePageDragEnter = useCallback((e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + dragCounterRef.current++; + if (e.dataTransfer.types.includes('Files')) { + setIsDragOver(true); + } + }, []); + + const _handlePageDragOver = useCallback((e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + }, []); + + const _handlePageDragLeave = useCallback((e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + dragCounterRef.current--; + if (dragCounterRef.current <= 0) { + dragCounterRef.current = 0; + setIsDragOver(false); + } + }, []); + + const _handlePageDrop = useCallback(async (e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + dragCounterRef.current = 0; + setIsDragOver(false); + + if (!canCreate) return; + + const droppedFiles = Array.from(e.dataTransfer.files); + if (droppedFiles.length === 0) return; + + setIsUploadingBatch(true); + setUploadProgressPercent(0); + try { + let successCount = 0; + let errorCount = 0; + const totalFiles = droppedFiles.length; + for (const [index, file] of droppedFiles.entries()) { + const result = await handleFileUpload(file, undefined, undefined, fileProgress => { + const baseProgress = (index / totalFiles) * 100; + const scaledFileProgress = fileProgress / totalFiles; + setUploadProgressPercent(Math.min(100, Math.round(baseProgress + scaledFileProgress))); + }); + if (result?.success) successCount++; else errorCount++; + } + setUploadProgressPercent(100); + await _tableRefetch(); + setTreeKey(k => k + 1); + if (successCount > 0) { + showSuccess( + t('Upload erfolgreich'), + errorCount > 0 + ? t('{successCount} Datei(en) hochgeladen, {errorCount} fehlgeschlagen', { successCount, errorCount }) + : t('{successCount} Datei(en) hochgeladen', { successCount }), + ); + } else if (errorCount > 0) { + showError(t('Upload fehlgeschlagen'), t('{errorCount} Datei(en) konnten nicht hochgeladen werden', { errorCount })); + } + } finally { + setIsUploadingBatch(false); + setUploadProgressPercent(0); + } + }, [canCreate, handleFileUpload, _tableRefetch, showSuccess, showError, t]); + const _onRowDragStart = useCallback((e: React.DragEvent, row: UserFile) => { const isInSelection = selectedFiles.some(f => f.id === row.id); if (isInSelection && selectedFiles.length > 1) { @@ -370,7 +442,44 @@ export const FilesPage: React.FC = () => { } return ( -
+
+ {isDragOver && canCreate && ( +
+
+ +
+ {t('Dateien hier ablegen')} +
+
+ {t('Mehrere Dateien gleichzeitig hochladen')} +
+
+
+ )} diff --git a/vite.config.ts b/vite.config.ts index 3b5e643..9941048 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { defineConfig, loadEnv, Plugin } from 'vite'; import react from '@vitejs/plugin-react'; import { createHtmlPlugin } from 'vite-plugin-html'; diff --git a/vitest.config.ts b/vitest.config.ts index 22285b3..a160a88 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Patrick Motsch +// Copyright (c) 2026 PowerOn AG // All rights reserved. // // Vitest config for frontend unit + component tests. diff --git a/work-around/pek.ts b/work-around/pek.ts index b46c6f2..b65610b 100644 --- a/work-around/pek.ts +++ b/work-around/pek.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { GenericPageData } from '../../pageInterface'; import { FaBuilding } from 'react-icons/fa'; import { IoMdSend } from 'react-icons/io'; diff --git a/work-around/pek/PekLocationInput.tsx b/work-around/pek/PekLocationInput.tsx index ffbf062..9743cfc 100644 --- a/work-around/pek/PekLocationInput.tsx +++ b/work-around/pek/PekLocationInput.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { TextField, Button } from '../../../../../components/UiComponents'; import { FaLocationArrow } from 'react-icons/fa'; diff --git a/work-around/pek/PekMapView.tsx b/work-around/pek/PekMapView.tsx index 8f1035e..6aca5bd 100644 --- a/work-around/pek/PekMapView.tsx +++ b/work-around/pek/PekMapView.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { MapView, ParcelInfoPanel } from '../../../../../components/UiComponents'; import { usePekContext } from '../../../../../contexts/PekContext'; diff --git a/work-around/pek/PekPageWrapper.tsx b/work-around/pek/PekPageWrapper.tsx index 48f20f9..4dc67f6 100644 --- a/work-around/pek/PekPageWrapper.tsx +++ b/work-around/pek/PekPageWrapper.tsx @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import React from 'react'; import { PekProvider } from '../../../../../contexts/PekContext'; import PageRenderer from '../../../PageRenderer'; diff --git a/work-around/pek/pek-tables.ts b/work-around/pek/pek-tables.ts index 45e2cfe..14d6e48 100644 --- a/work-around/pek/pek-tables.ts +++ b/work-around/pek/pek-tables.ts @@ -1,3 +1,5 @@ +// Copyright (c) 2026 PowerOn AG +// All rights reserved. import { GenericPageData } from '../../pageInterface'; import { FaTable, FaPlus } from 'react-icons/fa'; import { createProjectsTableHook, createParzellenTableHook } from '../../../../hooks/usePekTables';