feat(app): auth, orgs/events UI, router guards, and dev tooling
- Add Sanctum auth flow (store, composables, login, axios interceptors) - Add dashboard, organisation list/detail, events CRUD dialogs - Wire router guards, navigation, organisation switcher in layout - Replace Vuexy @db types in NavSearchBar; add @iconify/types; themeConfig title typing - Vuetify settings.scss + resolve configFile via fileURLToPath; drop dead path aliases - Root index redirects to dashboard; fix events table route name - API: DevSeeder + DatabaseSeeder updates; docs TEST_SCENARIO; corporate identity assets Made-with: Cursor
This commit is contained in:
@@ -2,9 +2,21 @@
|
||||
import Shepherd from 'shepherd.js'
|
||||
import { withQuery } from 'ufo'
|
||||
import type { RouteLocationRaw } from 'vue-router'
|
||||
import type { SearchResults } from '@db/app-bar-search/types'
|
||||
import AppBarSearch from '@core/components/AppBarSearch.vue'
|
||||
import { useConfigStore } from '@core/stores/config'
|
||||
|
||||
/** App bar API search group (replaces Vuexy @db mock types). */
|
||||
interface AppBarSearchResultChild {
|
||||
title: string
|
||||
icon: string
|
||||
url: RouteLocationRaw
|
||||
}
|
||||
|
||||
interface SearchResults {
|
||||
title: string
|
||||
children: AppBarSearchResultChild[]
|
||||
}
|
||||
|
||||
interface Suggestion {
|
||||
icon: string
|
||||
title: string
|
||||
@@ -117,7 +129,6 @@ const redirectToSuggestedPage = (selected: Suggestion) => {
|
||||
closeSearchBar()
|
||||
}
|
||||
|
||||
const LazyAppBarSearch = defineAsyncComponent(() => import('@core/components/AppBarSearch.vue'))
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -144,7 +155,7 @@ const LazyAppBarSearch = defineAsyncComponent(() => import('@core/components/App
|
||||
</div>
|
||||
|
||||
<!-- 👉 App Bar Search -->
|
||||
<LazyAppBarSearch
|
||||
<AppBarSearch
|
||||
v-model:is-dialog-visible="isAppSearchBarVisible"
|
||||
:search-results="searchResult"
|
||||
:is-loading="isLoading"
|
||||
@@ -238,7 +249,7 @@ const LazyAppBarSearch = defineAsyncComponent(() => import('@core/components/App
|
||||
</VListItemTitle>
|
||||
</VListItem>
|
||||
</template>
|
||||
</LazyAppBarSearch>
|
||||
</AppBarSearch>
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
Reference in New Issue
Block a user