{############################################################################### _ctx_menu.html — LE menu contextuel UNIQUE de FlowDeck (v5.4.x) ═══════════════════════════════════════════════════════════════════════════ Inclus par library.html ET local_workspace.html (les 2 seules pages du contexte fichier). Ce partial est LE SEUL menu : son markup décrit l'UNION des options des deux pages d'origine. Les exécutions sont déléguées par chaque page au travers d'un store Alpine enregistré PLUS BAS (IIFE + défense d'exécution unique → include 2 fois = store 1 fois). Union des items (identiques sur les 2 pages) : 1. Open .................... library: openItem / ws: ctxMenuOpenPage 2. Open in side peek ....... library: openPeek (ws: item caché) 3. Open folder ............. ws: ctxMenuOpenFolder (dossier uniquement) 4. Rename .................. library: startRename / ws: ctxMenuRename 5. Add/Remove Favorites .... library: toggleFavoriteItem (ws: caché) 6. Duplicate ............... library: duplicateItem / ws: ctxMenuDuplicate 7. Copy link ............... library: copyLink (ws: caché) 8. Move to ................. library: openMovePicker (ws: caché) 9. Tags (section dynamique) ws: ctxTagExisting/… (s'affiche si node.tags) 10. Delete .................. library: deleteItem / ws: ctxMenuDelete (danger) Chaque item masque ses entrées quand `handlers` de l'autre page est vide (x-show="fdCtx.has('key')") → le menu est STRUCTURELLEMENT identique des deux côtés, avec la capacité respective au clic. ############################################################################}