mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 07:48:37 +01:00
29 lines
907 B
Vue
29 lines
907 B
Vue
<script setup lang="ts">
|
|
import type { LucideIcon } from 'lucide-vue-next'
|
|
import { SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuButton, SidebarMenuItem } from '@/components/ui/sidebar'
|
|
|
|
const props = defineProps<{
|
|
items: {
|
|
title: string
|
|
url: string
|
|
icon: LucideIcon
|
|
}[]
|
|
}>()
|
|
</script>
|
|
<template>
|
|
<SidebarGroup>
|
|
<SidebarGroupContent>
|
|
<SidebarMenu>
|
|
<SidebarMenuItem v-for="item in items" :key="item.title">
|
|
<SidebarMenuButton as-child size="sm">
|
|
<a :href="item.url">
|
|
<component :is="item.icon" />
|
|
<span>{{ item.title }}</span>
|
|
</a>
|
|
</SidebarMenuButton>
|
|
</SidebarMenuItem>
|
|
</SidebarMenu>
|
|
</SidebarGroupContent>
|
|
</SidebarGroup>
|
|
</template>
|