feat : mise à jour de la structure du projet
This commit is contained in:
39
frontend/shared/composables/useSidebar.ts
Normal file
39
frontend/shared/composables/useSidebar.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import type { SidebarSection } from '~/shared/types'
|
||||
|
||||
const sections = ref<SidebarSection[]>([])
|
||||
const disabledRoutes = ref<string[]>([])
|
||||
const loaded = ref(false)
|
||||
|
||||
export function useSidebar() {
|
||||
async function loadSidebar() {
|
||||
try {
|
||||
const api = useApi()
|
||||
const data = await api.get<{ sections: SidebarSection[]; disabledRoutes: string[] }>(
|
||||
'/sidebar',
|
||||
{},
|
||||
{ toast: false }
|
||||
)
|
||||
sections.value = data.sections ?? []
|
||||
disabledRoutes.value = data.disabledRoutes ?? []
|
||||
loaded.value = true
|
||||
} catch {
|
||||
sections.value = []
|
||||
disabledRoutes.value = []
|
||||
loaded.value = true
|
||||
}
|
||||
}
|
||||
|
||||
function isRouteDisabled(path: string): boolean {
|
||||
return disabledRoutes.value.some(
|
||||
disabled => path === disabled || path.startsWith(disabled + '/')
|
||||
)
|
||||
}
|
||||
|
||||
return {
|
||||
sections,
|
||||
disabledRoutes,
|
||||
loaded,
|
||||
loadSidebar,
|
||||
isRouteDisabled,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user