import { useEffect } from 'react' import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom' import { FrappeProvider } from 'frappe-react-sdk' import { Toaster } from '@/components/ui/sonner' import BankReconciliation from '@/pages/BankReconciliation' import { TooltipProvider } from './components/ui/tooltip' import BankStatementImporter from '@/pages/BankStatementImporter' import { LucideProvider } from 'lucide-react' import { ThemeProvider } from './components/ui/theme-provider' import ViewBankStatementImportLog from './pages/ViewBankStatementImportLog' import BankStatementImporterContainer from './pages/BankStatementImporterContainer' function App() { useEffect(() => { // Check if user is logged in by checking the Cookie "user_id" // In Frappe, unauthenticated users are "Guest" const userId = document.cookie?.split('; ').find(row => row.startsWith('user_id='))?.split('=')[1]?.trim() const isLoggedIn = userId !== 'Guest' if (!isLoggedIn) { if (import.meta.env.DEV) { return } // Redirect to Frappe login page window.location.href = '/login?redirect-to=/banking' return } }, []) return ( {window.frappe?.boot?.user?.name && window.frappe?.boot?.user?.name !== 'Guest' && } /> }> } /> } /> } /> } ) } export default App