Refonte front (packages/web) : coquille applicative partagée (sidebar desktop + barre d'onglets mobile + PageHeader, langue/push/logout centralisés) pilotée par route.meta.layout ; design system (BaseButton/BaseBadge/SegmentedControl/EmptyState/ SkeletonRow, anneau de focus, icônes @lucide/vue) ; tri/filtre/recherche/pagination côté client via useListControls (+ synchro URL) sur sessions/worktrees/groupes ; section « À traiter », palette de commandes ⌘K, toasts. Aucune modif serveur/protocole/DB. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
475 B
TypeScript
21 lines
475 B
TypeScript
import { ref } from 'vue';
|
|
|
|
// Singleton module-level : l'ouverture est pilotée par le raccourci global ⌘K et par
|
|
// d'éventuels boutons (ex. sidebar). Un seul CommandPalette est monté dans App.vue.
|
|
const open = ref(false);
|
|
|
|
export function useCommandPalette() {
|
|
return {
|
|
open,
|
|
toggle: (): void => {
|
|
open.value = !open.value;
|
|
},
|
|
show: (): void => {
|
|
open.value = true;
|
|
},
|
|
close: (): void => {
|
|
open.value = false;
|
|
},
|
|
};
|
|
}
|