24 lines
452 B
TypeScript
24 lines
452 B
TypeScript
import { defineStore } from "pinia";
|
|
|
|
export interface BreadcrumbItem {
|
|
label: string;
|
|
to?: string;
|
|
}
|
|
|
|
export const useBreadcrumbStore = defineStore("breadcrumb", {
|
|
state: () => ({
|
|
items: [] as BreadcrumbItem[],
|
|
}),
|
|
|
|
actions: {
|
|
setBreadcrumbs(items: BreadcrumbItem[]) {
|
|
this.items = items;
|
|
},
|
|
addBreadcrumb(item: BreadcrumbItem) {
|
|
this.items.push(item);
|
|
},
|
|
clear() {
|
|
this.items = [];
|
|
},
|
|
},
|
|
});
|