- Introduced typography styles in _typography.scss for headings, paragraphs, blockquotes, and horizontal rules. - Added utility classes in _utils.scss for card styling and clearfix. - Updated layout.scss to include new typography and utility styles. - Defined common CSS variables in _common.scss for consistent theming. - Created dark and light theme variables in _dark.scss and _light.scss respectively. - Integrated Tailwind CSS with custom configurations in tailwind.config.js and postcss.config.js. - Implemented database migrations for contact and contact_persons tables. - Added data fixtures for generating sample contact data. - Developed Contact and ContactPerson entities with appropriate validation and serialization. - Enhanced ContactRepository with search and type filtering methods.
41 lines
1.2 KiB
Vue
41 lines
1.2 KiB
Vue
<script setup>
|
|
import { ref } from 'vue';
|
|
import { useAuthStore } from '../stores/auth';
|
|
import AppMenuItem from './AppMenuItem.vue';
|
|
|
|
const authStore = useAuthStore();
|
|
|
|
const model = ref([
|
|
{
|
|
label: 'Home',
|
|
items: [{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/' }]
|
|
},
|
|
{
|
|
label: 'CRM',
|
|
items: [
|
|
{ label: 'Kontakte', icon: 'pi pi-fw pi-users', to: '/contacts' }
|
|
]
|
|
},
|
|
{
|
|
label: 'Administration',
|
|
visible: () => authStore.isAdmin,
|
|
items: [
|
|
{ label: 'Benutzerverwaltung', icon: 'pi pi-fw pi-user-edit', to: '/users' },
|
|
{ label: 'Rollenverwaltung', icon: 'pi pi-fw pi-shield', to: '/roles' },
|
|
{ label: 'Einstellungen', icon: 'pi pi-fw pi-cog', to: '/settings' }
|
|
]
|
|
}
|
|
]);
|
|
</script>
|
|
|
|
<template>
|
|
<ul class="layout-menu">
|
|
<template v-for="(item, i) in model" :key="item">
|
|
<app-menu-item v-if="!item.separator && (!item.visible || item.visible())" :item="item" :index="i"></app-menu-item>
|
|
<li v-if="item.separator" class="menu-separator"></li>
|
|
</template>
|
|
</ul>
|
|
</template>
|
|
|
|
<style lang="scss" scoped></style>
|