13 KiB
13 KiB
Dependency Map - Frontend Nyla
Diese Datei enthält eine detaillierte Dependency Map aller Code-Elemente im Frontend Nyla.
Legende
→= Import/Dependency[Module]= Modul/Namespace(Hook)= React Hook(Component)= React Component(Context)= React Context(Type)= TypeScript Type/Interface
1. Application Entry & Core
main.tsx
main.tsx
→ react (StrictMode)
→ react-dom/client (createRoot)
→ App.tsx
App.tsx
App.tsx
→ react-router-dom (BrowserRouter, Routes, Route)
→ react (useEffect)
→ pages/Login (Login)
→ pages/Register (Register)
→ auth/authProvider (AuthProvider)
→ auth/ProtectedRoute (ProtectedRoute)
→ contexts/LanguageContext (LanguageProvider)
→ pages/Home/Home (Home)
→ assets/styles/light.css
→ index.css
2. Authentication Layer
auth/authProvider.tsx
auth/authProvider.tsx
→ @azure/msal-browser (AuthenticationResult, EventType, PublicClientApplication)
→ @azure/msal-react (MsalProvider)
→ auth/authConfig (msalConfig)
→ react (ReactNode, useEffect, useState)
auth/ProtectedRoute.tsx
auth/ProtectedRoute.tsx
→ react-router-dom (Navigate)
→ hooks/useAuthentication (useAuth)
→ react (ReactNode)
hooks/useAuthentication.ts
hooks/useAuthentication.ts
→ @azure/msal-react (useMsal, useIsAuthenticated)
→ api.ts (api)
→ react (useState, useCallback, useEffect)
3. API Layer
api.ts
api.ts
→ axios (axios.create, AxiosInstance)
→ [Environment Variables]
hooks/useApi.ts
hooks/useApi.ts
→ api.ts (api)
→ react (useState, useCallback)
4. Context Layer
contexts/LanguageContext.tsx
contexts/LanguageContext.tsx
→ react (createContext, useContext, useState, useEffect, ReactNode)
→ locales/index (loadLanguage)
→ locales/types (Language, TranslationKeys)
locales/index.ts
locales/index.ts
→ locales/de (de)
→ locales/en (en)
→ locales/fr (fr)
→ locales/types (Language, TranslationKeys, LanguageLoader)
5. Page Management System
components/PageManager/PageManager.tsx
PageManager.tsx
→ react (useEffect, useState, Suspense)
→ react-router-dom (useLocation)
→ framer-motion (motion, AnimatePresence)
→ components/PageManager/pageConfigs (pageConfigs)
→ components/PageManager/PageManager.module.css
components/PageManager/pageConfigs.ts
pageConfigs.ts
→ react (lazy)
→ components/PageManager/pageConfigInterface (PageConfig)
→ pages/Home/Dashboard (Dashboard) [lazy]
→ pages/Home/Dateien (Dateien) [lazy]
→ pages/Home/TeamBereich (TeamBereich) [lazy]
→ pages/Home/Connections (Connections) [lazy]
→ pages/Home/Workflows (Workflows) [lazy]
→ pages/Home/Einstellungen (Einstellungen) [lazy]
→ pages/Home/Prompts (Prompts) [lazy]
→ react-icons/* (Icons)
components/PageManager/pageConfigInterface.ts
pageConfigInterface.ts
→ react (ComponentType)
→ react-icons (IconType)
6. Sidebar System
components/Sidebar/Sidebar.tsx
Sidebar.tsx
→ react (React)
→ components/Sidebar/SidebarItem (SidebarItem)
→ components/Sidebar/SidebarUser (SidebarUser)
→ hooks/useSidebar (useSidebarFromPageConfigs)
→ components/Sidebar/sidebarLogic (useSidebarLogic)
→ components/Sidebar/sidebarTypes (SidebarProps)
→ components/Sidebar/SidebarStyles/Sidebar.module.css
→ react-icons/go (GoSidebarExpand, GoSidebarCollapse)
hooks/useSidebar.ts
useSidebar.ts
→ components/PageManager/pageConfigs (getSidebarItems)
→ react (useMemo)
components/Sidebar/sidebarLogic.ts
sidebarLogic.ts
→ react-router-dom (useLocation, useNavigate)
→ react (useState, useCallback, useEffect)
7. Dashboard & Workflow System
pages/Home/Dashboard.tsx
Dashboard.tsx
→ react (useState, useCallback, useRef, useEffect)
→ react-router-dom (useSearchParams)
→ hooks/useWorkflows (useWorkflows)
→ components/Dashboard/DashboardChat/dashboardChatAreaTypes (Workflow)
→ components/Dashboard/DashboardChat/useWorkflowManager (useWorkflowManager)
→ contexts/LanguageContext (useLanguage)
→ components/Dashboard/DashboardChat/DashboardChat (DashboardChat)
→ pages/Home/HomeStyles/Dashboard.module.css
→ components/PageManager/pages.module.css
→ react-icons/io (IoMdArrowDropdown, IoMdClose)
components/Dashboard/DashboardChat/DashboardChat.tsx
DashboardChat.tsx
→ react (React)
→ components/Dashboard/DashboardChat/DashboardChatArea (DashboardChatArea)
→ components/Dashboard/DashboardChat/dashboardChatAreaTypes (DashboardChatProps)
→ components/Dashboard/DashboardChatAreaStyles/DashboardChat.module.css
components/Dashboard/DashboardChat/DashboardChatArea.tsx
DashboardChatArea.tsx
→ react (useState, useEffect, useRef, useCallback, useMemo)
→ components/Dashboard/DashboardChat/DashboardChatAreaMessageList (DashboardChatAreaMessageList)
→ components/Dashboard/DashboardChat/DashboardChatAreaInput (DashboardChatAreaInput)
→ components/Dashboard/DashboardChat/DashboardChatAreaConnectedFiles (DashboardChatAreaConnectedFiles)
→ components/Dashboard/DashboardChat/DashboardChatAreaFilePreview (DashboardChatAreaFilePreview)
→ components/Dashboard/DashboardChat/DashboardChatAreaLogItem (DashboardChatAreaLogItem)
→ components/Dashboard/DashboardChat/dashboardChatAreaTypes (Types)
→ components/Dashboard/DashboardChatAreaStyles/*.module.css
components/Dashboard/DashboardChat/useWorkflowManager.ts
useWorkflowManager.ts
→ react (useState, useEffect, useCallback, useRef, useMemo)
→ hooks/useWorkflows (useWorkflow, useWorkflowStatus, useWorkflowMessages, useWorkflowLogs, useWorkflowOperations, StartWorkflowRequest)
→ components/Dashboard/DashboardChat/dashboardChatAreaTypes (WorkflowState, WorkflowActions)
hooks/useWorkflows.ts
useWorkflows.ts
→ react (useState, useEffect)
→ hooks/useApi (useApiRequest)
→ components/Dashboard/DashboardChat/dashboardChatAreaTypes (Workflow, WorkflowMessage, WorkflowStats, WorkflowDocument, WorkflowLog)
8. Connections Module
pages/Home/Connections.tsx
Connections.tsx
→ react (useState)
→ components/Connections (ConnectionsTable, useConnectionsLogic)
→ contexts/LanguageContext (useLanguage)
→ components/PageManager/pages.module.css
→ react-icons/io (IoIosLink)
components/Connections/ConnectionsTable.tsx
ConnectionsTable.tsx
→ react (useState, useEffect)
→ components/Connections/connectionsLogic (useConnectionsLogic)
→ components/Connections/ConnectionEditModal (ConnectionEditModal)
→ components/Connections/ConnectionsErrorDisplay (ConnectionsErrorDisplay)
→ hooks/useConnections (useConnections)
→ contexts/LanguageContext (useLanguage)
→ components/Connections/ConnectionsTable.module.css
components/Connections/connectionsLogic.tsx
connectionsLogic.tsx
→ react (useState, useCallback)
→ hooks/useConnections (useConnections, useConnectionOperations)
→ components/Connections/connectionsInterfaces (Connection Types)
hooks/useConnections.ts
useConnections.ts
→ react (useState, useEffect, useCallback)
→ hooks/useApi (useApiRequest)
→ components/Connections/connectionsInterfaces (Connection Types)
9. Files Module
pages/Home/Dateien.tsx
Dateien.tsx
→ react (useRef, useState)
→ components/Dateien (DateienTable)
→ hooks/useFiles (useFileOperations)
→ contexts/LanguageContext (useLanguage)
→ components/PageManager/pages.module.css
→ pages/Home/HomeStyles/Dateien.module.css
→ react-icons/io (IoMdCloudUpload)
components/Dateien/DateienTable.tsx
DateienTable.tsx
→ react (useState, useEffect, useCallback)
→ components/Dateien/dateienLogic (useDateienLogic)
→ components/FilePreview (FilePreview)
→ hooks/useFiles (useFiles, useFileOperations)
→ contexts/LanguageContext (useLanguage)
→ components/Dateien/DateienTable.module.css
hooks/useFiles.ts
useFiles.ts
→ react (useState, useEffect, useCallback)
→ hooks/useApi (useApiRequest)
components/FilePreview/FilePreview.tsx
FilePreview.tsx
→ react (useState, useEffect)
→ components/FilePreview/renderers/* (Alle Renderer)
→ components/FilePreview/FilePreview.module.css
components/FilePreview/renderers/*
renderers/
→ ApplicationRenderer.tsx
→ ErrorRenderer.tsx
→ HtmlRenderer.tsx
→ ImageRenderer.tsx
→ JsonRenderer.tsx
→ LoadingRenderer.tsx
→ PdfRenderer.tsx
→ TextRenderer.tsx
→ UnsupportedRenderer.tsx
→ index.ts (Exports)
10. Prompts Module
pages/Home/Prompts.tsx
Prompts.tsx
→ react (useState)
→ components/Prompts (PromptsTable)
→ components/Popup (Popup, EditForm)
→ hooks/usePrompts (usePrompts, usePromptOperations)
→ contexts/LanguageContext (useLanguage)
→ components/PageManager/pages.module.css
→ react-icons/io (IoMdAdd)
components/Prompts/PromptsTable.tsx
PromptsTable.tsx
→ react (useState, useEffect)
→ components/Prompts/promptsLogic (usePromptsLogic)
→ hooks/usePrompts (usePrompts, usePromptOperations)
→ contexts/LanguageContext (useLanguage)
→ components/Prompts/PromptsTable.module.css
hooks/usePrompts.ts
usePrompts.ts
→ react (useState, useEffect, useCallback)
→ hooks/useApi (useApiRequest)
→ components/Prompts/promptsTypes (Prompt Types)
11. Workflows Module
pages/Home/Workflows.tsx
Workflows.tsx
→ components/Workflows (WorkflowsTable)
→ contexts/LanguageContext (useLanguage)
→ components/PageManager/pages.module.css
→ pages/Home/HomeStyles/Workflows.module.css
components/Workflows/WorkflowsTable.tsx
WorkflowsTable.tsx
→ react (useState, useEffect)
→ components/Workflows/workflowsLogic (useWorkflowsLogic)
→ hooks/useWorkflows (useWorkflows)
→ contexts/LanguageContext (useLanguage)
→ components/Workflows/WorkflowsTable.module.css
12. Popup/Modal System
components/Popup/Popup.tsx
Popup.tsx
→ react (useEffect, ReactNode)
→ components/Popup/Popup.module.css
components/Popup/EditForm.tsx
EditForm.tsx
→ react (useState, useEffect, useCallback)
→ components/Popup/EditForm.module.css
components/Popup/ViewForm.tsx
ViewForm.tsx
→ react (ReactNode)
→ components/Popup/ViewForm.module.css
13. Form Generator
components/FormGenerator/FormGenerator.tsx
FormGenerator.tsx
→ react (useState, useEffect)
→ components/FormGenerator/FormGenerator.module.css
14. Users & Settings
pages/Home/Einstellungen.tsx
Einstellungen.tsx
→ react (useState, useEffect, useRef)
→ hooks/useUsers (useCurrentUser, useUser, User)
→ contexts/LanguageContext (useLanguage, Language)
→ components/settings/settingsUser (SettingsUser)
→ components/PageManager/pages.module.css
→ pages/Home/HomeStyles/Einstellungen.module.css
hooks/useUsers.ts
useUsers.ts
→ react (useState, useEffect, useCallback)
→ hooks/useApi (useApiRequest)
15. Team/Mitglieder Module
pages/Home/TeamBereich.tsx
TeamBereich.tsx
→ components/Mitglieder/MitgliederTable (MitgliederTable)
→ components/PageManager/pages.module.css
components/Mitglieder/MitgliederTable.tsx
MitgliederTable.tsx
→ react (useState, useEffect)
→ components/Mitglieder/mitgliederLogic (useMitgliederLogic)
→ contexts/LanguageContext (useLanguage)
→ components/Mitglieder/MitgliederTable.module.css
16. SharePoint Test Module
pages/Home/TestSharepoint.tsx
TestSharepoint.tsx
→ react (useState)
→ components/TestSharepoint (TestSharepointTable, useTestSharepointLogic)
→ contexts/LanguageContext (useLanguage)
→ components/PageManager/pages.module.css
→ pages/Home/HomeStyles/TestSharepoint.module.css
→ react-icons/io (IoIosRefresh, IoIosLink)
hooks/useSharePointTest.ts
useSharePointTest.ts
→ react (useState, useEffect, useCallback)
→ hooks/useApi (useApiRequest)
Dependency Summary
Most Imported Modules
- react - In fast allen Komponenten und Hooks
- react-router-dom - Für Routing und Navigation
- hooks/useApi - Für API-Aufrufe
- contexts/LanguageContext - Für Internationalisierung
- components/PageManager/pageConfigs - Für Seiten-Konfiguration
Core Infrastructure Dependencies
api.ts→ Alle API-Hookshooks/useApi.ts→ Alle Feature-Hookscontexts/LanguageContext.tsx→ Alle Komponenten mit i18ncomponents/PageManager/pageConfigs.ts→ PageManager & Sidebar
External Library Dependencies
- @azure/msal-* → Authentication
- axios → HTTP Client
- framer-motion → Animations
- react-icons → Icons
- xstate → State Machine (optional)
Zuletzt aktualisiert: 2025-01-15