refactor(media): promote media nav item to top-level sidebar entry
- replace generic "Contenu" section with a dedicated "media" section sharing the same id/label as the item - update sectionId and order to trigger shouldRenderAsDirectLink in AdminSidebar - update README to reflect top-level entry instead of nested section
This commit is contained in:
@@ -19,7 +19,7 @@ Puis appliquer le schéma BD :
|
|||||||
npx zen-db init
|
npx zen-db init
|
||||||
```
|
```
|
||||||
|
|
||||||
L'item « Médias » apparaît dans la sidebar admin sous une nouvelle section « Contenu », accessible aux utilisateurs ayant la permission `media.view`.
|
L'item « Médias » apparaît comme entrée top-level de la sidebar admin (sans section parente), accessible aux utilisateurs ayant la permission `media.view`.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
/**
|
/**
|
||||||
* Media Feature — Admin navigation.
|
* Media Feature — Admin navigation.
|
||||||
*
|
*
|
||||||
* Side effect : enregistre la section "Contenu" et l'item "Médias" dans la
|
* Side effect : enregistre l'item "Médias" comme entrée top-level de la
|
||||||
* sidebar admin si le module est activé via ZEN_MEDIA=true.
|
* sidebar admin si le module est activé via ZEN_MEDIA=true. La section
|
||||||
|
* partage le même id/label que l'item, ce qui déclenche le rendu en lien
|
||||||
|
* direct dans AdminSidebar (shouldRenderAsDirectLink).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Import direct depuis le registre pour éviter une dépendance circulaire :
|
// Import direct depuis le registre pour éviter une dépendance circulaire :
|
||||||
@@ -12,14 +14,14 @@ import { isMediaEnabled } from '@zen/core/shared/config';
|
|||||||
import { MEDIA_PERMISSIONS } from './permissions.js';
|
import { MEDIA_PERMISSIONS } from './permissions.js';
|
||||||
|
|
||||||
if (isMediaEnabled()) {
|
if (isMediaEnabled()) {
|
||||||
registerNavSection({ id: 'content', title: 'Contenu', icon: 'File02Icon', order: 25 });
|
registerNavSection({ id: 'media', title: 'Médias', icon: 'Image01Icon', order: 25 });
|
||||||
registerNavItem({
|
registerNavItem({
|
||||||
id: 'media',
|
id: 'media',
|
||||||
label: 'Médias',
|
label: 'Médias',
|
||||||
icon: 'Image01Icon',
|
icon: 'Image01Icon',
|
||||||
href: '/admin/media',
|
href: '/admin/media',
|
||||||
sectionId: 'content',
|
sectionId: 'media',
|
||||||
order: 10,
|
order: 50,
|
||||||
permission: MEDIA_PERMISSIONS.VIEW,
|
permission: MEDIA_PERMISSIONS.VIEW,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user