chore: update application configuration and UI components for improved styling and functionality

This commit is contained in:
Jennie Robinson Faber 2025-08-16 08:13:35 +01:00
parent 0af6b17792
commit 37ab8d7bab
54 changed files with 23293 additions and 1666 deletions

132
app.vue
View file

@ -1,63 +1,79 @@
<template>
<UApp>
<UToaster />
<UContainer>
<header class="py-4 flex items-center justify-between">
<div class="flex items-center gap-4">
<NuxtLink to="/" class="flex items-center gap-2 hover:opacity-80 transition-opacity">
<UIcon name="i-heroicons-rocket-launch" class="text-primary-500" />
<h1 class="font-semibold">Urgent Tools</h1>
</NuxtLink>
<nav class="hidden md:flex items-center gap-1" role="navigation" aria-label="Main navigation">
<NuxtLink
to="/"
class="px-3 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors"
:class="{ 'bg-gray-100 dark:bg-gray-800': $route.path === '/' }"
>
Dashboard
</NuxtLink>
<NuxtLink
to="/mix"
class="px-3 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors"
:class="{ 'bg-gray-100 dark:bg-gray-800': $route.path === '/mix' }"
>
Revenue Mix
</NuxtLink>
<NuxtLink
to="/budget"
class="px-3 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors"
:class="{ 'bg-gray-100 dark:bg-gray-800': $route.path === '/budget' }"
>
Budget
</NuxtLink>
<NuxtLink
to="/scenarios"
class="px-3 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors"
:class="{ 'bg-gray-100 dark:bg-gray-800': $route.path === '/scenarios' }"
>
Scenarios
</NuxtLink>
<NuxtLink
to="/cash"
class="px-3 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors"
:class="{ 'bg-gray-100 dark:bg-gray-800': $route.path === '/cash' }"
>
Cash
</NuxtLink>
<NuxtLink
to="/glossary"
class="px-3 py-2 text-sm hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors"
:class="{ 'bg-gray-100 dark:bg-gray-800': $route.path === '/glossary' }"
>
Glossary
</NuxtLink>
</nav>
</div>
<ColorModeToggle />
</header>
<NuxtPage />
</UContainer>
<NuxtRouteAnnouncer />
<div class="min-h-screen bg-white dark:bg-neutral-950">
<UToaster />
<NuxtLayout>
<template v-if="$route.meta.layout !== 'template'">
<UContainer class="bg-transparent">
<header class="py-4 flex items-center justify-between">
<div class="flex items-center gap-4">
<NuxtLink to="/" class="flex items-center gap-2 hover:opacity-80 transition-opacity">
<UIcon name="i-heroicons-rocket-launch" class="text-primary-500" />
<h1 class="font-semibold text-black dark:text-white">Urgent Tools</h1>
</NuxtLink>
<nav class="hidden md:flex items-center gap-1" role="navigation" aria-label="Main navigation">
<NuxtLink
to="/"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path === '/' }"
>
Dashboard
</NuxtLink>
<NuxtLink
to="/mix"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path === '/mix' }"
>
Revenue Mix
</NuxtLink>
<NuxtLink
to="/budget"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path === '/budget' }"
>
Budget
</NuxtLink>
<NuxtLink
to="/scenarios"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path === '/scenarios' }"
>
Scenarios
</NuxtLink>
<NuxtLink
to="/cash"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path === '/cash' }"
>
Cash
</NuxtLink>
<NuxtLink
to="/glossary"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path === '/glossary' }"
>
Glossary
</NuxtLink>
<NuxtLink
to="/templates"
class="px-3 py-2 text-sm text-black dark:text-white hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded-md transition-colors"
:class="{ 'bg-neutral-100 dark:bg-neutral-800': $route.path.startsWith('/templates') }"
>
Templates
</NuxtLink>
</nav>
</div>
<ColorModeToggle />
</header>
<NuxtPage />
</UContainer>
</template>
<template v-else>
<NuxtPage />
</template>
</NuxtLayout>
<NuxtRouteAnnouncer />
</div>
</UApp>
</template>