From 131c5e991c3a5fd9577945fa459146f31477880e Mon Sep 17 00:00:00 2001 From: Richard Ward Date: Wed, 31 Dec 2025 00:03:39 +0000 Subject: [PATCH] config: ui,packages,json (2 files) --- packages/ui_header/seed/components.json | 309 ++++++++++++++++++++++++ packages/ui_header/seed/metadata.json | 9 +- 2 files changed, 314 insertions(+), 4 deletions(-) diff --git a/packages/ui_header/seed/components.json b/packages/ui_header/seed/components.json index 1b546c68a..ef607fa56 100644 --- a/packages/ui_header/seed/components.json +++ b/packages/ui_header/seed/components.json @@ -1,4 +1,313 @@ [ + { + "id": "landing_nav", + "type": "Box", + "props": { + "component": "nav", + "className": "landing-nav", + "sx": { + "borderBottom": 1, + "borderColor": "divider", + "bgcolor": "rgba(var(--color-card-rgb), 0.5)", + "backdropFilter": "blur(8px)", + "position": "sticky", + "top": 0, + "zIndex": 50 + } + }, + "children": [ + { + "id": "landing_nav_container", + "type": "Container", + "props": { + "maxWidth": "lg", + "className": "landing-nav-container" + }, + "children": [ + { + "id": "landing_nav_content", + "type": "Stack", + "props": { + "direction": "row", + "justifyContent": "space-between", + "alignItems": "center", + "className": "landing-nav-content", + "sx": { + "height": 64 + } + }, + "children": [ + { + "id": "landing_nav_brand", + "type": "Stack", + "props": { + "direction": "row", + "alignItems": "center", + "spacing": 1.5, + "className": "landing-nav-brand" + }, + "children": [ + { + "id": "landing_nav_logo_box", + "type": "Box", + "props": { + "className": "landing-nav-logo", + "sx": { + "width": 32, + "height": 32, + "borderRadius": 2, + "background": "linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%)" + } + }, + "children": [] + }, + { + "id": "landing_nav_brand_text", + "type": "Text", + "props": { + "variant": "h6", + "children": "MetaBuilder", + "sx": { + "fontWeight": 700, + "fontSize": "1.25rem" + } + }, + "children": [] + } + ] + }, + { + "id": "landing_nav_links_desktop", + "type": "Stack", + "props": { + "direction": "row", + "alignItems": "center", + "spacing": 2, + "className": "landing-nav-links", + "sx": { + "display": { "xs": "none", "md": "flex" } + } + }, + "children": [ + { + "id": "landing_nav_link_features", + "type": "Link", + "props": { + "href": "#features", + "children": "Features", + "className": "nav-link", + "sx": { + "color": "text.secondary", + "fontSize": "0.875rem", + "textDecoration": "none", + "transition": "color 0.2s", + "&:hover": { + "color": "text.primary" + } + } + }, + "children": [] + }, + { + "id": "landing_nav_link_about", + "type": "Link", + "props": { + "href": "#about", + "children": "About", + "className": "nav-link", + "sx": { + "color": "text.secondary", + "fontSize": "0.875rem", + "textDecoration": "none", + "transition": "color 0.2s", + "&:hover": { + "color": "text.primary" + } + } + }, + "children": [] + }, + { + "id": "landing_nav_link_contact", + "type": "Link", + "props": { + "href": "#contact", + "children": "Contact", + "className": "nav-link", + "sx": { + "color": "text.secondary", + "fontSize": "0.875rem", + "textDecoration": "none", + "transition": "color 0.2s", + "&:hover": { + "color": "text.primary" + } + } + }, + "children": [] + }, + { + "id": "landing_nav_signin_btn", + "type": "Button", + "props": { + "variant": "outlined", + "size": "small", + "children": "Sign In", + "onClick": "{{onNavigate(2)}}", + "startIcon": { "$ref": "icon_user" }, + "sx": { + "ml": 1 + } + }, + "children": [] + }, + { + "id": "landing_nav_admin_btn", + "type": "Button", + "props": { + "variant": "contained", + "size": "small", + "children": "Admin", + "onClick": "{{onNavigate(4)}}", + "startIcon": { "$ref": "icon_shield" } + }, + "children": [] + } + ] + }, + { + "id": "landing_nav_mobile_toggle", + "type": "IconButton", + "props": { + "aria-label": "Toggle menu", + "onClick": "{{toggleMenu}}", + "className": "landing-nav-mobile-toggle", + "sx": { + "display": { "xs": "flex", "md": "none" }, + "p": 1, + "borderRadius": 2 + } + }, + "children": [ + { + "id": "landing_nav_mobile_icon", + "type": "Icon", + "props": { + "name": "{{menuOpen ? 'Close' : 'Menu'}}", + "size": 24 + }, + "children": [] + } + ] + } + ] + } + ] + }, + { + "id": "landing_nav_mobile_menu", + "type": "Box", + "props": { + "className": "landing-nav-mobile-menu", + "data-show-when": "menuOpen", + "sx": { + "display": { "xs": "block", "md": "none" }, + "borderTop": 1, + "borderColor": "divider", + "bgcolor": "background.paper", + "px": 2, + "py": 2 + } + }, + "children": [ + { + "id": "landing_nav_mobile_links", + "type": "Stack", + "props": { + "spacing": 2, + "className": "landing-nav-mobile-links" + }, + "children": [ + { + "id": "landing_nav_mobile_link_features", + "type": "Link", + "props": { + "href": "#features", + "children": "Features", + "sx": { + "display": "block", + "color": "text.secondary", + "fontSize": "0.875rem", + "textDecoration": "none", + "&:hover": { "color": "text.primary" } + } + }, + "children": [] + }, + { + "id": "landing_nav_mobile_link_about", + "type": "Link", + "props": { + "href": "#about", + "children": "About", + "sx": { + "display": "block", + "color": "text.secondary", + "fontSize": "0.875rem", + "textDecoration": "none", + "&:hover": { "color": "text.primary" } + } + }, + "children": [] + }, + { + "id": "landing_nav_mobile_link_contact", + "type": "Link", + "props": { + "href": "#contact", + "children": "Contact", + "sx": { + "display": "block", + "color": "text.secondary", + "fontSize": "0.875rem", + "textDecoration": "none", + "&:hover": { "color": "text.primary" } + } + }, + "children": [] + }, + { + "id": "landing_nav_mobile_signin_btn", + "type": "Button", + "props": { + "variant": "outlined", + "fullWidth": true, + "size": "small", + "children": "Sign In", + "onClick": "{{onNavigate(2)}}", + "startIcon": { "$ref": "icon_user" } + }, + "children": [] + }, + { + "id": "landing_nav_mobile_admin_btn", + "type": "Button", + "props": { + "variant": "contained", + "fullWidth": true, + "size": "small", + "children": "Admin", + "onClick": "{{onNavigate(4)}}", + "startIcon": { "$ref": "icon_shield" } + }, + "children": [] + } + ] + } + ] + } + ] + }, { "id": "app_header", "type": "AppBar", diff --git a/packages/ui_header/seed/metadata.json b/packages/ui_header/seed/metadata.json index 055e2f180..227dfd40c 100644 --- a/packages/ui_header/seed/metadata.json +++ b/packages/ui_header/seed/metadata.json @@ -2,7 +2,7 @@ "packageId": "ui_header", "name": "App Header", "version": "1.0.0", - "description": "Shared navigation header with user avatar and actions", + "description": "Shared navigation header with user avatar, actions, and landing page nav variant", "icon": "static_content/icon.svg", "author": "MetaBuilder", "category": "ui", @@ -14,7 +14,8 @@ ], "exports": { "components": [ - "AppHeader" + "app_header", + "landing_nav" ], "scripts": [ "header" @@ -31,7 +32,7 @@ "tests/components.cases.json" ] }, - "minLevel": 2, + "minLevel": 1, "primary": false, "permissions": { "header.user.menu": { @@ -39,7 +40,7 @@ "description": "Access user menu" }, "header.view": { - "minLevel": 2, + "minLevel": 1, "description": "View application header" } }