v0.1.11 - Editor

This commit is contained in:
2026-06-03 00:17:12 +12:00
parent f5a588d631
commit cf968e802b
23 changed files with 2165 additions and 655 deletions
@@ -1,15 +1,11 @@
import {
Boxes,
Calculator,
ClipboardList,
DollarSign,
ClipboardPenLine,
FlaskConical,
Gauge,
LayoutDashboard,
ShieldCheck,
TrendingUp,
Wheat,
Workflow
TrendingUp
} from 'lucide-svelte';
import type { ComponentType } from 'svelte';
@@ -63,6 +59,15 @@ export const mixCalculatorItem: NavItem = {
moduleKey: 'mix_calculator'
};
export const editorItem: NavItem = {
href: '/editor',
label: 'Editor',
shortLabel: 'ED',
icon: ClipboardPenLine,
moduleKey: 'products',
badge: 'test'
};
export const reportingItem: NavItem = {
href: '/reporting',
label: 'Reporting',
@@ -81,10 +86,7 @@ export const throughputItem: NavItem = {
};
export const workingDocumentItems: NavItem[] = [
{ href: '/raw-materials', label: 'Raw Materials', shortLabel: 'RM', icon: Wheat, moduleKey: 'raw_materials' },
{ href: '/mixes', label: 'Mix Master', shortLabel: 'MM', icon: FlaskConical, moduleKey: 'mix_master' },
{ href: '/products', label: 'Products', shortLabel: 'PR', icon: Boxes, moduleKey: 'products' },
{ href: '/scenarios', label: 'Scenarios', shortLabel: 'SC', icon: Workflow, moduleKey: 'scenarios' }
{ href: '/mixes', label: 'Mix Master', shortLabel: 'MM', icon: FlaskConical, moduleKey: 'mix_master' }
];
export const accessControlItem: NavItem = {
@@ -99,28 +101,25 @@ export const clientNavigationItems: NavItem[] = [
dashboardItem,
mixCalculatorItem,
throughputItem,
...workingDocumentItems,
editorItem,
accessControlItem
];
export const footerLinks: FooterLink[] = [
{ href: '/products', label: 'Delivered Pricing', shortLabel: 'DP', icon: DollarSign },
{ href: '/scenarios', label: 'Planning View', shortLabel: 'PV', icon: ClipboardList }
];
export const footerLinks: FooterLink[] = [];
export const baseSearchItems: SearchItem[] = [
{
href: '/editor',
label: 'Open Editor',
description: 'Edit client, product, and mix naming from one table.',
keywords: 'editor products mixes clients names bulk table phf horse manning'
},
{
href: '/',
label: 'Open Dashboard',
description: 'Jump to the Hunter Premium Produce workspace summary.',
keywords: 'hunter premium produce overview dashboard workspace home'
},
{
href: '/raw-materials',
label: 'Open Raw Materials',
description: 'Review live input costs that feed the pricing model.',
keywords: 'raw materials pricing inputs costs supplier'
},
{
href: '/mixes',
label: 'Open Mix Master',
@@ -149,12 +148,6 @@ export const baseSearchItems: SearchItem[] = [
description: 'Run a new client-specific mix calculation session.',
keywords: 'new mix calculator session client batch size product bags print'
},
{
href: '/products',
label: 'Open Products',
description: 'Review delivered product pricing and margins.',
keywords: 'products pricing margins delivered outputs'
},
{
href: '/reporting',
label: 'Open Reporting',
@@ -167,12 +160,6 @@ export const baseSearchItems: SearchItem[] = [
description: 'Review account details and workspace preferences.',
keywords: 'settings account preferences profile workspace'
},
{
href: '/scenarios',
label: 'Open Scenarios',
description: 'Inspect planning scenarios and overrides.',
keywords: 'scenarios sandbox overrides compare planning'
}
];
export function matchesRoute(href: string, pathname: string) {
@@ -198,6 +185,10 @@ export function clientBreadcrumbs(pathname: string, session?: AppSession | null)
return [...crumbs, { label: 'Mix Calculator' }];
}
if (pathname.startsWith('/editor')) {
return [...crumbs, { label: 'Editor' }];
}
if (pathname.startsWith('/mixes')) {
return [...crumbs, { label: 'Mix Master' }];
}