serverSections
Un groupe de sections dans l'espace Serveur, au nom du plugin. Il sert à ce que seul l'admin du serveur doit voir et gérer : une liste de comptes, des inscriptions en attente, des statistiques…
Où dans Hodi
L'espace Serveur a sa propre sidebar, avec les groupes de Hodi : Général, Plugins… Le plugin ajoute à cette sidebar un groupe au nom du plugin, sous les groupes de Hodi. Chaque section de ce groupe est une entrée de la sidebar, qui ouvre la page de la section.
Chaque section a sa propre adresse : #/server/plugin/<id du plugin>/<id de la section>.
Exemple
import { SectionPage, definePlugin } from 'hodi:sdk'
import { Hand } from 'lucide-react'
const SaidPage = ({ layout }) => (
<SectionPage title="Bonjours" layout={layout}>
…
</SectionPage>
)
definePlugin({
serverSections: [
{
id: 'said',
label: 'server.said',
icon: Hand,
page: SaidPage
}
]
})Les champs d'une section
serverSections est une liste. Chaque section de la liste a ces champs :
idstringLe nom de la section dans l'adresse : minuscules, chiffres et tirets, une fois par plugin.
labelstringLe nom de la section dans la sidebar, une clé des locales, comme server.said.
pageComponentType<{ layout }>La page de la section, dessinée avec SectionPage.
icon?ComponentTypeUne icône Lucide. Sans icône, Hodi affiche une pièce de puzzle.
hint?ComponentTypeLa ligne sous le nom de la section, sur téléphone, comme 12 personnes.
À savoir
- Qui voit les sections : l'admin du serveur seulement.
- Les routes des sections : les
serverRoutes, appelées avecusePluginServerApi(). - Une section invalide : sans
idvalide, ou avec uniddéjà pris, Hodi ne l'affiche pas.
Les serverRoutes refusent toute personne autre que l'admin du serveur.