You've already forked AstralRinth
* initial fixes * 0.8.0 beta fixes * run actions * run fmt * Fix windows build * Add purge cache opt * add must revalidate to project req * lint + clippy * fix processes, open folder * Update migrator to use old launcher cache for perf * fix empty dirs not moving * fix lint + create natives dir if not exist * fix large request batches * finish * Fix deep linking on mac * fix comp err * fix comp err (2) --------- Signed-off-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
import { defineStore } from 'pinia'
|
|
|
|
export const useBreadcrumbs = defineStore('breadcrumbsStore', {
|
|
state: () => ({
|
|
names: new Map(),
|
|
context: null,
|
|
rootContext: null,
|
|
}),
|
|
actions: {
|
|
getName(route) {
|
|
return this.names.get(route) ?? ''
|
|
},
|
|
setName(route, title) {
|
|
this.names.set(route, title)
|
|
},
|
|
// resets breadcrumbs to only included ones as to not have stale breadcrumbs
|
|
resetToNames(breadcrumbs) {
|
|
if (!breadcrumbs) return
|
|
// names is an array of every breadcrumb.name that starts with a ?
|
|
const names = breadcrumbs
|
|
.filter((breadcrumb) => breadcrumb.name.charAt(0) === '?')
|
|
.map((breadcrumb) => breadcrumb.name.slice(1))
|
|
// remove all names that are not in the names array
|
|
for (const [route] of this.names) {
|
|
if (!names.includes(route)) {
|
|
this.names.delete(route)
|
|
}
|
|
}
|
|
},
|
|
setContext(context) {
|
|
this.context = context
|
|
},
|
|
setRootContext(context) {
|
|
this.rootContext = context
|
|
},
|
|
},
|
|
})
|