import '@fontsource/inter/400.css'; import React from 'react'; import { createRoot } from 'react-dom/client'; import { HashRouter, Navigate, Outlet, Route, Routes, } from 'react-router-dom'; import './styles/index.css'; import DocumentsRoute from './app/DocumentsRoute'; import DropOverlay from './app/DropOverlay'; import LoginRoute from './app/LoginRoute'; import SettingsRoute from './app/SettingsRoute'; import { AppStateProvider } from './app/appState'; import { useDocumentsPreferences } from './app/useDocumentsPreferences'; import { AppShellContext } from './appShellContext'; import useDocumentsWorkspace from './hooks/documents/useDocumentsWorkspace'; import UploadQueueOverlay from './app/UploadQueueOverlay'; const AppLayout: React.FC = () => { const documentsPreferences = useDocumentsPreferences(); const { appStatus, location, shellRef, dropOverlayState, managementModals, contextValue, settingsOpen, closeSettings, } = useDocumentsWorkspace({ documentsViewMode: documentsPreferences.documentsViewMode, documentsSortField: documentsPreferences.documentsSortField, documentsSortDirection: documentsPreferences.documentsSortDirection, documentsSortFieldRef: documentsPreferences.documentsSortFieldRef, documentsSortDirectionRef: documentsPreferences.documentsSortDirectionRef, onDocumentsViewModeChange: documentsPreferences.handleDocumentsViewModeChange, onDocumentsSortFieldChange: documentsPreferences.handleDocumentsSortFieldChange, onDocumentsSortDirectionToggle: documentsPreferences.handleDocumentsSortDirectionToggle, searchIncludeDescendants: documentsPreferences.searchIncludeDescendants, onSetSearchIncludeDescendants: documentsPreferences.setSearchIncludeDescendants, sortRefreshReadyRef: documentsPreferences.sortRefreshReadyRef, }); if (['logged-out', 'authenticating', 'selecting-tenant'].includes(appStatus)) { const redirectTarget = `${location.pathname}${location.search}${location.hash || ''}`; return ( ); } return (
{managementModals} {settingsOpen ? ( ) : null}
); }; const AppRouter: React.FC = () => ( } /> }> } /> } /> } /> } /> } /> ); const container = document.getElementById('app'); if (!container) { throw new Error('App root element #app not found'); } const root = createRoot(container); root.render( , );