- Updated the User model to implement Filament’s tenancy contracts - Seeded a ready-to-use demo tenant (user, tenant, active package, purchase) - Introduced a branded, translated 403 error page to replace the generic forbidden message for unauthorised admin hits - Removed the public “Register” links from the marketing header - hardened join event logic and improved error handling in the guest pwa.
33 lines
1019 B
TypeScript
33 lines
1019 B
TypeScript
import React from 'react';
|
|
import { createRoot } from 'react-dom/client';
|
|
import { RouterProvider } from 'react-router-dom';
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
import { AuthProvider } from './auth/context';
|
|
import { router } from './router';
|
|
import '../../css/app.css';
|
|
import './i18n';
|
|
import { initializeTheme } from '@/hooks/use-appearance';
|
|
import { OnboardingProgressProvider } from './onboarding';
|
|
|
|
initializeTheme();
|
|
const rootEl = document.getElementById('root')!;
|
|
const queryClient = new QueryClient();
|
|
|
|
if ('serviceWorker' in navigator) {
|
|
window.addEventListener('load', () => {
|
|
navigator.serviceWorker.register('/admin-sw.js').catch(() => {});
|
|
});
|
|
}
|
|
|
|
createRoot(rootEl).render(
|
|
<React.StrictMode>
|
|
<QueryClientProvider client={queryClient}>
|
|
<AuthProvider>
|
|
<OnboardingProgressProvider>
|
|
<RouterProvider router={router} />
|
|
</OnboardingProgressProvider>
|
|
</AuthProvider>
|
|
</QueryClientProvider>
|
|
</React.StrictMode>
|
|
);
|