This commit is contained in:
2026-05-31 20:19:44 +12:00
parent 2f2466ecac
commit 84792c0947
59 changed files with 5412 additions and 898 deletions
@@ -8,6 +8,7 @@
active?: boolean;
onSelect?: () => void;
type?: 'button' | 'link';
badge?: string;
};
let {
@@ -33,14 +34,14 @@
{#if Icon}
<span class="nav-icon"><Icon size={18} strokeWidth={1.75} /></span>
{/if}
<span>{item.label}</span>
<span>{item.label}</span>{#if item.badge}<span class="nav-badge">{item.badge}</span>{/if}
</a>
{:else}
<button type="button" class="nav-button" class:active={item.active} onclick={item.onSelect}>
{#if Icon}
<span class="nav-icon"><Icon size={18} strokeWidth={1.75} /></span>
{/if}
<span>{item.label}</span>
<span>{item.label}</span>{#if item.badge}<span class="nav-badge">{item.badge}</span>{/if}
</button>
{/if}
{/each}
@@ -105,6 +106,26 @@
background: var(--nav-item-active-marker, var(--color-brand));
}
.nav-badge {
margin-left: auto;
flex-shrink: 0;
padding: 0.08rem 0.4rem;
border-radius: 999px;
background: #fdf0d2;
color: #8a5a00;
font-size: 0.62rem;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.5;
}
.nav-list a.active .nav-badge,
.nav-button.active .nav-badge {
background: rgba(255, 255, 255, 0.92);
color: #8a5a00;
}
.nav-icon {
display: inline-flex;
align-items: center;
@@ -11,7 +11,6 @@
workingDocumentItems,
footerItems,
appVersion,
releaseStage,
currentYear,
canOpenSettings,
onOpenSettings,
@@ -23,7 +22,6 @@
workingDocumentItems: NavItem[];
footerItems: FooterLink[];
appVersion: string;
releaseStage: string;
currentYear: number;
canOpenSettings: boolean;
onOpenSettings: () => void;
@@ -46,6 +44,7 @@
label: item.label,
href: item.href,
icon: item.icon,
badge: item.badge,
active: matchesRoute(item.href, currentPath)
}))}
/>
@@ -105,7 +104,6 @@
<span class="meta-label">Build</span>
<span>{appVersion}</span>
</span>
<span class="release-pill">{releaseStage}</span>
</div>
<div class="sidebar-meta-bottom">
<small>&copy; {currentYear} Hunter Premium Produce</small>
@@ -242,18 +240,4 @@
text-transform: uppercase;
}
.release-pill {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.2rem 0.52rem;
border: 1px solid color-mix(in srgb, var(--color-brand) 14%, transparent);
border-radius: 999px;
background: color-mix(in srgb, var(--color-brand) 8%, white);
color: var(--color-brand);
font-size: 0.64rem;
font-weight: 700;
letter-spacing: 0.07em;
text-transform: uppercase;
}
</style>