Add demo mode support with MSW integration and documentation

- Integrated Mock Service Worker (MSW) for frontend-only demo mode, allowing API call interception without requiring a backend.
- Added `DemoModeBanner` component to indicate active demo mode and display demo credentials.
- Enhanced configuration with `DEMO_MODE` flag and demo credentials for user and admin access.
- Updated ESLint configuration to exclude MSW-related files from linting and coverage.
- Created comprehensive `DEMO_MODE.md` documentation for setup and usage guidelines, including deployment instructions and troubleshooting.
- Updated package dependencies to include MSW and related libraries.
This commit is contained in:
Felipe Cardoso
2025-11-24 18:42:05 +01:00
parent 8659e884e9
commit 487c8a3863
22 changed files with 3138 additions and 4 deletions

View File

@@ -9,6 +9,8 @@ import '../globals.css';
import { Providers } from '../providers';
import { AuthProvider } from '@/lib/auth/AuthContext';
import { AuthInitializer } from '@/components/auth';
import { MSWProvider } from '@/components/providers/MSWProvider';
import { DemoModeBanner } from '@/components/demo';
const geistSans = Geist({
variable: '--font-geist-sans',
@@ -82,10 +84,13 @@ export default async function LocaleLayout({
</head>
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
<NextIntlClientProvider messages={messages}>
<AuthProvider>
<AuthInitializer />
<Providers>{children}</Providers>
</AuthProvider>
<MSWProvider>
<DemoModeBanner />
<AuthProvider>
<AuthInitializer />
<Providers>{children}</Providers>
</AuthProvider>
</MSWProvider>
</NextIntlClientProvider>
</body>
</html>