diff --git a/packages/ui_level3/seed/components.json b/packages/ui_level3/seed/components.json index 60b074253..be85cefdb 100644 --- a/packages/ui_level3/seed/components.json +++ b/packages/ui_level3/seed/components.json @@ -1 +1,181 @@ -[] +[ + { + "id": "level3_layout", + "type": "Box", + "props": { "className": "min-h-screen bg-background" }, + "children": [ + { + "id": "level3_header", + "type": "AppHeader", + "children": [ + { + "type": "Toolbar", + "children": [ + { "type": "Typography", "props": { "variant": "h6", "text": "Level 3 - Moderator Panel" } }, + { "type": "Badge", "props": { "children": "Mod" } }, + { "type": "Box", "props": { "className": "flex-grow" } }, + { "type": "Typography", "props": { "variant": "body2", "text": "{{user.username}}" } } + ] + } + ] + }, + { + "id": "level3_content", + "type": "Container", + "props": { "className": "max-w-7xl mx-auto px-4 py-8 space-y-8" }, + "children": [ + { + "id": "level3_intro", + "type": "Stack", + "props": { "className": "space-y-4" }, + "children": [ + { "type": "Typography", "props": { "variant": "overline", "text": "Level 3" } }, + { "type": "Typography", "props": { "variant": "h2", "text": "Data Management" } }, + { "type": "Typography", "props": { "variant": "body1", "text": "Manage users and content.", "className": "text-muted-foreground" } } + ] + }, + { + "id": "level3_stats", + "type": "Grid", + "props": { "className": "grid grid-cols-3 gap-4" }, + "children": [ + { + "type": "Card", + "children": [ + { "type": "CardHeader", "children": [{ "type": "Typography", "props": { "variant": "caption", "text": "Users" } }] }, + { "type": "CardContent", "children": [{ "type": "Typography", "props": { "variant": "h4", "text": "128" } }] } + ] + }, + { + "type": "Card", + "children": [ + { "type": "CardHeader", "children": [{ "type": "Typography", "props": { "variant": "caption", "text": "Comments" } }] }, + { "type": "CardContent", "children": [{ "type": "Typography", "props": { "variant": "h4", "text": "1,024" } }] } + ] + }, + { + "type": "Card", + "children": [ + { "type": "CardHeader", "children": [{ "type": "Typography", "props": { "variant": "caption", "text": "Flagged" } }] }, + { "type": "CardContent", "children": [{ "type": "Typography", "props": { "variant": "h4", "text": "12", "className": "text-red-500" } }] } + ] + } + ] + }, + { + "id": "level3_tabs", + "type": "Card", + "children": [ + { + "type": "Tabs", + "props": { "items": [ + { "value": "users", "label": "Users" }, + { "value": "moderation", "label": "Moderation Queue" }, + { "value": "reports", "label": "Reports" } + ]} + } + ] + } + ] + } + ] + }, + { + "id": "users_panel", + "type": "Card", + "children": [ + { + "type": "CardHeader", + "children": [ + { "type": "Typography", "props": { "variant": "h5", "text": "User Management" } }, + { "type": "Typography", "props": { "variant": "body2", "text": "View and moderate user accounts.", "className": "text-muted-foreground" } } + ] + }, + { + "type": "CardContent", + "children": [ + { + "type": "Table", + "props": { + "columns": [ + { "field": "username", "headerName": "Username" }, + { "field": "email", "headerName": "Email" }, + { "field": "level", "headerName": "Level" }, + { "field": "status", "headerName": "Status" } + ], + "rows": [ + { "username": "john_doe", "email": "john@example.com", "level": 1, "status": "Active" }, + { "username": "jane_smith", "email": "jane@example.com", "level": 2, "status": "Active" }, + { "username": "spam_user", "email": "spam@bad.com", "level": 1, "status": "Suspended" } + ] + } + } + ] + } + ] + }, + { + "id": "moderation_queue", + "type": "Card", + "children": [ + { + "type": "CardHeader", + "children": [ + { "type": "Typography", "props": { "variant": "h5", "text": "Moderation Queue" } }, + { "type": "Typography", "props": { "variant": "body2", "text": "Review flagged content and take action.", "className": "text-muted-foreground" } } + ] + }, + { + "type": "CardContent", + "children": [ + { + "type": "List", + "children": [ + { + "type": "ListItem", + "children": [ + { "type": "Icon", "props": { "name": "Warning" } }, + { "type": "ListItemText", "props": { "primary": "Inappropriate comment on post #1234", "secondary": "Reported 2 hours ago" } }, + { "type": "Button", "props": { "variant": "outlined", "size": "small", "children": "Review" } } + ] + }, + { + "type": "ListItem", + "children": [ + { "type": "Icon", "props": { "name": "Warning" } }, + { "type": "ListItemText", "props": { "primary": "Spam content detected", "secondary": "Reported 5 hours ago" } }, + { "type": "Button", "props": { "variant": "outlined", "size": "small", "children": "Review" } } + ] + } + ] + } + ] + } + ] + }, + { + "id": "reports_panel", + "type": "Card", + "children": [ + { + "type": "CardHeader", + "children": [ + { "type": "Typography", "props": { "variant": "h5", "text": "Reports" } }, + { "type": "Typography", "props": { "variant": "body2", "text": "User-submitted reports for review.", "className": "text-muted-foreground" } } + ] + }, + { + "type": "CardContent", + "children": [ + { + "type": "Alert", + "props": { "severity": "info" }, + "children": [ + { "type": "Typography", "props": { "text": "No pending reports. Great job keeping the community clean!" } } + ] + } + ] + } + ] + } +] diff --git a/packages/ui_level6/seed/metadata.json b/packages/ui_level6/seed/metadata.json index 39ff45524..dac5be920 100644 --- a/packages/ui_level6/seed/metadata.json +++ b/packages/ui_level6/seed/metadata.json @@ -7,13 +7,24 @@ "author": "MetaBuilder", "category": "ui", "minLevel": 6, - "dependencies": ["ui_permissions", "ui_header", "ui_intro"], + "dependencies": [ + "ui_permissions", + "ui_header", + "ui_intro" + ], "devDependencies": [ "lua_test" ], "exports": { - "pages": ["level6"], - "scripts": ["layout", "tenants", "transfer", "system"], + "pages": [ + "level6" + ], + "scripts": [ + "layout", + "tenants", + "transfer", + "system" + ], "components": [] }, "tests": { @@ -25,5 +36,32 @@ "cases": [ "tests/transfer.cases.json" ] + }, + "primary": true, + "permissions": { + "level6.tenants.create": { + "minLevel": 6, + "description": "Create tenants" + }, + "level6.ownership.transfer": { + "minLevel": 6, + "description": "Transfer ownership" + }, + "level6.tenants.manage": { + "minLevel": 6, + "description": "Manage tenants" + }, + "level6.panel.view": { + "minLevel": 6, + "description": "View Supergod panel" + }, + "level6.tenants.delete": { + "minLevel": 6, + "description": "Delete tenants" + }, + "level6.system.admin": { + "minLevel": 6, + "description": "System administration" + } } } diff --git a/packages/ui_login/seed/metadata.json b/packages/ui_login/seed/metadata.json index f6494263c..5fa60950b 100644 --- a/packages/ui_login/seed/metadata.json +++ b/packages/ui_login/seed/metadata.json @@ -9,7 +9,9 @@ "dependencies": [ "ui_permissions" ], - "devDependencies": ["lua_test"], + "devDependencies": [ + "lua_test" + ], "exports": { "pages": [ "login" @@ -28,5 +30,20 @@ "tests/validate.cases.json" ] }, - "minLevel": 1 -} \ No newline at end of file + "minLevel": 1, + "primary": true, + "permissions": { + "register.submit": { + "minLevel": 1, + "description": "Submit registration" + }, + "login.submit": { + "minLevel": 1, + "description": "Submit login credentials" + }, + "login.view": { + "minLevel": 1, + "description": "View login page" + } + } +} diff --git a/packages/ui_pages/seed/metadata.json b/packages/ui_pages/seed/metadata.json index b09e3d704..118ad649b 100644 --- a/packages/ui_pages/seed/metadata.json +++ b/packages/ui_pages/seed/metadata.json @@ -19,7 +19,9 @@ "ui_level5", "ui_level6" ], - "devDependencies": ["lua_test"], + "devDependencies": [ + "lua_test" + ], "exports": { "pages": [], "scripts": [], @@ -35,5 +37,12 @@ "tests/components.cases.json" ] }, - "minLevel": 1 -} \ No newline at end of file + "minLevel": 1, + "primary": false, + "permissions": { + "pages.bundle.access": { + "minLevel": 1, + "description": "Access bundled UI pages" + } + } +} diff --git a/packages/ui_permissions/seed/metadata.json b/packages/ui_permissions/seed/metadata.json index 486187921..bcea9321b 100644 --- a/packages/ui_permissions/seed/metadata.json +++ b/packages/ui_permissions/seed/metadata.json @@ -7,7 +7,9 @@ "author": "MetaBuilder", "category": "ui", "dependencies": [], - "devDependencies": ["lua_test"], + "devDependencies": [ + "lua_test" + ], "exports": { "scripts": [ "permissions" @@ -24,5 +26,16 @@ "tests/levels.cases.json" ] }, - "minLevel": 1 -} \ No newline at end of file + "minLevel": 1, + "primary": false, + "permissions": { + "permissions.check": { + "minLevel": 1, + "description": "Check user permissions" + }, + "permissions.level.read": { + "minLevel": 1, + "description": "Read permission levels" + } + } +} diff --git a/packages/user_manager/seed/metadata.json b/packages/user_manager/seed/metadata.json index e68cb345f..616bf4a3d 100644 --- a/packages/user_manager/seed/metadata.json +++ b/packages/user_manager/seed/metadata.json @@ -10,7 +10,9 @@ "ui_permissions", "data_table" ], - "devDependencies": ["lua_test"], + "devDependencies": [ + "lua_test" + ], "exports": { "scripts": [ "list", @@ -30,5 +32,32 @@ "tests/actions.cases.json" ] }, - "minLevel": 4 -} \ No newline at end of file + "minLevel": 4, + "primary": true, + "permissions": { + "users.delete": { + "minLevel": 5, + "description": "Delete users" + }, + "users.create": { + "minLevel": 4, + "description": "Create new users" + }, + "users.edit": { + "minLevel": 4, + "description": "Edit user profiles" + }, + "users.view": { + "minLevel": 4, + "description": "View user details" + }, + "users.level.change": { + "minLevel": 5, + "description": "Change user access levels" + }, + "users.list": { + "minLevel": 4, + "description": "List all users" + } + } +} diff --git a/packages/workflow_editor/seed/metadata.json b/packages/workflow_editor/seed/metadata.json index 10063697b..efc28d6d8 100644 --- a/packages/workflow_editor/seed/metadata.json +++ b/packages/workflow_editor/seed/metadata.json @@ -7,7 +7,9 @@ "author": "MetaBuilder", "category": "editors", "dependencies": [], - "devDependencies": ["lua_test"], + "devDependencies": [ + "lua_test" + ], "exports": { "scripts": [ "editor", @@ -32,5 +34,28 @@ "tests/run.cases.json" ] }, - "minLevel": 5 -} \ No newline at end of file + "minLevel": 5, + "primary": true, + "permissions": { + "workflow.view": { + "minLevel": 5, + "description": "View workflows" + }, + "workflow.create": { + "minLevel": 5, + "description": "Create workflows" + }, + "workflow.delete": { + "minLevel": 5, + "description": "Delete workflows" + }, + "workflow.run": { + "minLevel": 5, + "description": "Run workflows" + }, + "workflow.edit": { + "minLevel": 5, + "description": "Edit workflows" + } + } +}