-
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
- } />
-
+ }>
+
+ {/* Core routes - eager loaded */}
+ } />
+ } />
+ } />
+ } />
+ } />
+
+ {/* Detail routes - lazy loaded */}
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+ {/* User routes - lazy loaded */}
+ } />
+ } />
+ } />
+ } />
+
+ {/* Admin routes - lazy loaded */}
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+ {/* Utility routes - lazy loaded */}
+ } />
+ {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
+ } />
+
+
diff --git a/src/components/admin/MarkdownEditorLazy.tsx b/src/components/admin/MarkdownEditorLazy.tsx
new file mode 100644
index 00000000..201d49e4
--- /dev/null
+++ b/src/components/admin/MarkdownEditorLazy.tsx
@@ -0,0 +1,23 @@
+import { lazy, Suspense } from 'react';
+import { EditorSkeleton } from '@/components/loading/PageSkeletons';
+
+const MarkdownEditor = lazy(() =>
+ import('./MarkdownEditor').then(module => ({ default: module.MarkdownEditor }))
+);
+
+export interface MarkdownEditorProps {
+ value: string;
+ onChange: (value: string) => void;
+ onSave?: (value: string) => Promise