Files
core/src/features/admin/index.js
T
hykocx 7afcb2cb5a refactor(admin): split protect guards into dedicated export path
- remove `protectAdmin`/`isAdmin` re-exports from `features/admin/index.js` to avoid top-level `next/headers` import
- add `./features/admin/protect` export entry in `package.json`
- lazy-import `next/headers` in `router.js` `requireAuth` to defer resolution
- update `features/admin/README.md` to document new import paths
- translate `features/auth/index.js` comment to French for consistency
2026-04-25 13:01:06 -04:00

32 lines
1.0 KiB
JavaScript

/**
* Zen Admin — barrel serveur (Next.js-free).
*
* - Navigation : buildNavigationSections.
* - Registre d'extensions : registerWidget, registerWidgetFetcher, registerNavItem,
* registerNavSection, registerPage (import une seule fois depuis le layout
* racine de l'app consommatrice pour que les side effects s'exécutent).
*
* Ne re-exporte PAS protect.js — ce fichier importe `next/navigation` et
* `@zen/core/features/auth/actions` (qui importe `next/headers`) au niveau
* top-level. Ce barrel est importé par des modules externes pendant leur
* register(), avant que Next.js ait activé ses alias de modules.
* Importer les gardes explicitement via @zen/core/features/admin/protect.
*
* Client components sous @zen/core/features/admin/components.
*/
export { buildNavigationSections } from './navigation.js';
export {
registerWidget,
registerWidgetFetcher,
registerNavItem,
registerNavSection,
registerPage,
collectWidgetData,
getWidgets,
getNavItems,
getNavSections,
getPage,
getPages,
} from './registry.js';