diff --git a/src/frontend/apps/desk/src/app/InnerLayout.tsx b/src/frontend/apps/desk/src/app/InnerLayout.tsx
new file mode 100644
index 0000000..15dfbf9
--- /dev/null
+++ b/src/frontend/apps/desk/src/app/InnerLayout.tsx
@@ -0,0 +1,49 @@
+import { Loader } from '@openfun/cunningham-react';
+import { useEffect } from 'react';
+
+import useAuthStore from '@/auth/useAuthStore';
+import { Box } from '@/components';
+
+import { HEADER_HEIGHT, Header } from './header';
+import { Menu } from './menu';
+
+export default function InnerLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ const { initAuth, authenticated, initialized } = useAuthStore();
+
+ useEffect(() => {
+ if (initialized) {
+ return;
+ }
+
+ initAuth();
+ }, [initAuth, initialized]);
+
+ if (!authenticated) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+
+
+
+
+ {children}
+
+
+
+ );
+}
diff --git a/src/frontend/apps/desk/src/app/__tests__/page.test.tsx b/src/frontend/apps/desk/src/app/__tests__/page.test.tsx
index 8cfe977..51fa2db 100644
--- a/src/frontend/apps/desk/src/app/__tests__/page.test.tsx
+++ b/src/frontend/apps/desk/src/app/__tests__/page.test.tsx
@@ -12,7 +12,7 @@ describe('Page', () => {
expect(screen.getByRole('status')).toBeInTheDocument();
expect(screen.getByRole('heading', { level: 1 })).toHaveTextContent(
- 'Hello Desk!',
+ 'Hello Desk !',
);
});
});
diff --git a/src/frontend/apps/desk/src/app/contacts/page.tsx b/src/frontend/apps/desk/src/app/contacts/page.tsx
new file mode 100644
index 0000000..9717564
--- /dev/null
+++ b/src/frontend/apps/desk/src/app/contacts/page.tsx
@@ -0,0 +1,7 @@
+'use client';
+
+import { Box } from '@/components';
+
+export default function Contacts() {
+ return Contacts;
+}
diff --git a/src/frontend/apps/desk/src/app/favorite/page.tsx b/src/frontend/apps/desk/src/app/favorite/page.tsx
new file mode 100644
index 0000000..1949c2b
--- /dev/null
+++ b/src/frontend/apps/desk/src/app/favorite/page.tsx
@@ -0,0 +1,7 @@
+'use client';
+
+import { Box } from '@/components';
+
+export default function Favorite() {
+ return Favorite;
+}
diff --git a/src/frontend/apps/desk/src/app/groups/page.tsx b/src/frontend/apps/desk/src/app/groups/page.tsx
new file mode 100644
index 0000000..79620d1
--- /dev/null
+++ b/src/frontend/apps/desk/src/app/groups/page.tsx
@@ -0,0 +1,7 @@
+'use client';
+
+import { Box } from '@/components';
+
+export default function Groups() {
+ return Groups;
+}
diff --git a/src/frontend/apps/desk/src/app/help/page.tsx b/src/frontend/apps/desk/src/app/help/page.tsx
new file mode 100644
index 0000000..0fc13f7
--- /dev/null
+++ b/src/frontend/apps/desk/src/app/help/page.tsx
@@ -0,0 +1,7 @@
+'use client';
+
+import { Box } from '@/components';
+
+export default function Help() {
+ return Help;
+}
diff --git a/src/frontend/apps/desk/src/app/layout.tsx b/src/frontend/apps/desk/src/app/layout.tsx
index 1017401..3277fba 100644
--- a/src/frontend/apps/desk/src/app/layout.tsx
+++ b/src/frontend/apps/desk/src/app/layout.tsx
@@ -5,7 +5,9 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { useCunninghamTheme } from '@/cunningham';
+
import '@/i18n/initI18n';
+import InnerLayout from './InnerLayout';
import './globals.css';
@@ -23,7 +25,9 @@ export default function RootLayout({
- {children}
+
+ {children}
+