2026-01-25 20:12:33 +08:00
|
|
|
import { RouterProvider } from 'react-router-dom';
|
|
|
|
|
import { router } from './router';
|
|
|
|
|
|
|
|
|
|
|
2026-01-27 00:27:41 +08:00
|
|
|
import { ThemeProvider, PrivacyProvider, NotificationProvider, GuideProvider, useAutoTokenRefresh } from './hooks';
|
2026-01-26 01:45:39 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* App Content Component
|
|
|
|
|
* Wrapped by providers, uses hooks
|
|
|
|
|
*/
|
|
|
|
|
function AppContent() {
|
|
|
|
|
// Enable automatic token refresh
|
|
|
|
|
useAutoTokenRefresh();
|
|
|
|
|
|
|
|
|
|
return <RouterProvider router={router} />;
|
|
|
|
|
}
|
2026-01-25 20:12:33 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Main Application Component
|
|
|
|
|
* Local-first accounting application
|
|
|
|
|
*/
|
|
|
|
|
function App() {
|
|
|
|
|
return (
|
|
|
|
|
<ThemeProvider>
|
2026-01-27 00:27:41 +08:00
|
|
|
<PrivacyProvider>
|
|
|
|
|
<NotificationProvider>
|
|
|
|
|
<GuideProvider>
|
|
|
|
|
<AppContent />
|
|
|
|
|
</GuideProvider>
|
|
|
|
|
</NotificationProvider>
|
|
|
|
|
</PrivacyProvider>
|
2026-01-25 20:12:33 +08:00
|
|
|
</ThemeProvider>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default App;
|