mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-28 07:32:52 +00:00
What the site's header and root mount on every page carried three things no page draws until the reader acts: - The header's Solutions and Hanzo OS rows imported lib/data/solutions.ts and lib/layers.ts whole, every solution's page copy and every layer's operations, to draw a column of links that is not open. The rows are now derived at prebuild (scripts/sync-menu.mjs → lib/data/menu.json: names and addresses), so a solution or a layer is still added in its list and nowhere else; e2e/unit/menu.spec holds the file to the lists. - The ⌘K palette and the toast viewport load once React owns the page (components/shell/later.tsx): the palette listens for its own chord, and a toast is always something the reader did after the page was theirs. components/shell/lazy.ts names one export of each package, so the import takes them and not the barrels. An empty page's first load is 354 KB (was 367), the landing's 430 KB gzip against weight.spec's 445 (was 457), and the pages over perf.budget.json go from 124 to 64. Claude-Session: https://claude.ai/code/session_01BLLMyBFSvAfCt7ZGqYuiEz
132 lines
2.6 KiB
JSON
132 lines
2.6 KiB
JSON
{
|
|
"index": "/solutions",
|
|
"solutions": [
|
|
{
|
|
"id": "team",
|
|
"title": "Teams",
|
|
"links": [
|
|
{
|
|
"label": "Finance",
|
|
"href": "/solutions/finance"
|
|
},
|
|
{
|
|
"label": "Data",
|
|
"href": "/solutions/data"
|
|
},
|
|
{
|
|
"label": "Sales",
|
|
"href": "/solutions/sales"
|
|
},
|
|
{
|
|
"label": "Marketing",
|
|
"href": "/solutions/marketing"
|
|
},
|
|
{
|
|
"label": "Operations",
|
|
"href": "/solutions/operations"
|
|
},
|
|
{
|
|
"label": "Engineering",
|
|
"href": "/solutions/engineering"
|
|
},
|
|
{
|
|
"label": "Design",
|
|
"href": "/solutions/design"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "industry",
|
|
"title": "Industries",
|
|
"links": [
|
|
{
|
|
"label": "Cybersecurity",
|
|
"href": "/solutions/cybersecurity"
|
|
},
|
|
{
|
|
"label": "Financial services",
|
|
"href": "/solutions/financial-services"
|
|
},
|
|
{
|
|
"label": "Healthcare",
|
|
"href": "/solutions/healthcare"
|
|
},
|
|
{
|
|
"label": "Law",
|
|
"href": "/solutions/law"
|
|
},
|
|
{
|
|
"label": "Retail",
|
|
"href": "/solutions/retail"
|
|
},
|
|
{
|
|
"label": "Government",
|
|
"href": "/solutions/government"
|
|
},
|
|
{
|
|
"label": "Education",
|
|
"href": "/solutions/education"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "usecase",
|
|
"title": "Use cases",
|
|
"links": [
|
|
{
|
|
"label": "Content creation",
|
|
"href": "/solutions/content-creation"
|
|
},
|
|
{
|
|
"label": "Research",
|
|
"href": "/solutions/research"
|
|
},
|
|
{
|
|
"label": "Agents",
|
|
"href": "/solutions/agents"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "reserved",
|
|
"title": "Reserved tier",
|
|
"links": [
|
|
{
|
|
"label": "Reserved tier",
|
|
"href": "/solutions/reserved"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"layers": [
|
|
{
|
|
"label": "Company",
|
|
"href": "/products/company"
|
|
},
|
|
{
|
|
"label": "Agents",
|
|
"href": "/products/agents"
|
|
},
|
|
{
|
|
"label": "Models",
|
|
"href": "/products/models"
|
|
},
|
|
{
|
|
"label": "Memory",
|
|
"href": "/products/memory"
|
|
},
|
|
{
|
|
"label": "Identity",
|
|
"href": "/products/identity"
|
|
},
|
|
{
|
|
"label": "Machines",
|
|
"href": "/products/machines"
|
|
},
|
|
{
|
|
"label": "Record",
|
|
"href": "/products/record"
|
|
}
|
|
]
|
|
}
|