summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkSuperMenu.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/components/MkSuperMenu.vue')
-rw-r--r--packages/frontend/src/components/MkSuperMenu.vue33
1 files changed, 30 insertions, 3 deletions
diff --git a/packages/frontend/src/components/MkSuperMenu.vue b/packages/frontend/src/components/MkSuperMenu.vue
index e8ed7f6e04..c9c173aa35 100644
--- a/packages/frontend/src/components/MkSuperMenu.vue
+++ b/packages/frontend/src/components/MkSuperMenu.vue
@@ -28,11 +28,38 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
</template>
-<script lang="ts" setup>
-import { } from 'vue';
+<script lang="ts">
+export type SuperMenuDef = {
+ title?: string;
+ items: ({
+ type: 'a';
+ href: string;
+ target?: string;
+ icon?: string;
+ text: string;
+ danger?: boolean;
+ active?: boolean;
+ } | {
+ type: 'button';
+ icon?: string;
+ text: string;
+ danger?: boolean;
+ active?: boolean;
+ action: (ev: MouseEvent) => void;
+ } | {
+ type: 'link';
+ to: string;
+ icon?: string;
+ text: string;
+ danger?: boolean;
+ active?: boolean;
+ })[];
+};
+</script>
+<script lang="ts" setup>
defineProps<{
- def: any[];
+ def: SuperMenuDef[];
grid?: boolean;
}>();
</script>