- Migrate from legacy .eslintrc.json to modern flat config system - Remove conflicting ESLint configuration files - Fix auto-generation of eslint.config.mjs by Nuxt - Update ESLint rules to use single quotes and proper formatting - Add comprehensive theme switching system with 24 palettes - Implement proper daisyUI theme integration - Add theme store with persistence and dark/light mode support - Create ThemeSwitcher component with enhanced UI - Fix package.json scripts to work with new ESLint flat config - Update VS Code settings for proper ESLint integration - Add changelogen scripts for proper changelog management BREAKING CHANGE: ESLint configuration migrated to flat config system
43 lines
1.3 KiB
Vue
43 lines
1.3 KiB
Vue
<template>
|
|
<div class="navbar bg-base-300 px-4">
|
|
<div class="navbar-start">
|
|
<div class="text-xl font-bold">{{ title }}</div>
|
|
</div>
|
|
<div class="navbar-end">
|
|
<div class="dropdown dropdown-end">
|
|
<div tabindex="0" role="button" class="btn btn-ghost btn-circle avatar">
|
|
<div class="w-10 rounded-full bg-primary flex items-center justify-center">
|
|
<span class="text-primary-content font-bold text-sm">
|
|
{{ userInitials }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<ul tabindex="0" class="menu menu-sm dropdown-content mt-3 z-[1] p-2 shadow bg-base-100 rounded-box w-64">
|
|
<li><a @click="navigateToProfile">Profile</a></li>
|
|
<li>
|
|
<details>
|
|
<summary>Theme Settings</summary>
|
|
<div class="p-4">
|
|
<ThemeSwitcher />
|
|
</div>
|
|
</details>
|
|
</li>
|
|
<li><a @click="handleLogout">Logout</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
interface Props {
|
|
title: string;
|
|
}
|
|
|
|
const props = defineProps<Props>();
|
|
|
|
const appStore = useAppStore();
|
|
const { navigateToProfile, handleLogout } = useNavigation();
|
|
|
|
const userInitials = computed(() => appStore.userInitials);
|
|
</script>
|