Files
metabuilder/packages/github_tools/seed/components.json
JohnDoe6345789 73913a6161 feat: Add 12 new admin/storage icons, media_center tests, github_tools package
Icons (12 new):
- AccountTree, AdminPanelSettings, ManageAccounts (admin)
- Backup, Restore, Storage (storage)
- Domain, SecurityUpdate, VerifiedUser, VpnKey (security)
- Policy, Help (utility)

Tests:
- media_center: helpers.test.lua + helpers.cases.json
- TV, Radio, Retro, Document helper test coverage

Packages:
- github_tools: new package scaffold with seed data
2025-12-30 13:04:47 +00:00

168 lines
4.0 KiB
JSON

[
{
"id": "github_viewer",
"name": "GitHubViewer",
"type": "github_viewer",
"description": "Main GitHub Actions viewer component",
"props": {
"owner": "",
"repo": "",
"workflow": "",
"token": ""
},
"layout": {
"type": "Card",
"children": [
{
"type": "CardHeader",
"children": [
{ "type": "CardTitle", "props": { "text": "GitHub Actions" } }
]
},
{
"type": "CardContent",
"children": [
{ "type": "RunFilters", "props": {} },
{ "type": "RunList", "props": {} }
]
}
]
},
"scripts": {
"init": "init.initialize",
"fetchRuns": "fetch_runs.fetchRuns",
"filterRuns": "filter.filterRuns"
}
},
{
"id": "run_list",
"name": "RunList",
"type": "run_list",
"description": "List of workflow runs with status badges",
"props": {
"runs": [],
"loading": false,
"onSelect": "selectRun"
},
"layout": {
"type": "Stack",
"props": { "spacing": 2 },
"children": []
}
},
{
"id": "run_details",
"name": "RunDetails",
"type": "run_details",
"description": "Detailed view of a single workflow run",
"props": {
"run": null,
"jobs": [],
"logs": ""
},
"layout": {
"type": "Card",
"children": [
{
"type": "CardHeader",
"children": [
{ "type": "CardTitle", "props": { "text": "Run Details" } }
]
},
{
"type": "CardContent",
"children": [
{ "type": "StatusBadge", "props": {} },
{ "type": "JobsList", "props": {} },
{ "type": "LogViewer", "props": {} }
]
}
]
}
},
{
"id": "analysis_panel",
"name": "AnalysisPanel",
"type": "analysis_panel",
"description": "Statistics and analysis of workflow runs",
"props": {
"stats": {},
"timeRange": "7d"
},
"layout": {
"type": "Card",
"children": [
{
"type": "CardHeader",
"children": [
{ "type": "CardTitle", "props": { "text": "Run Analysis" } }
]
},
{
"type": "CardContent",
"children": [
{ "type": "StatGrid", "props": {} },
{ "type": "SuccessRateChart", "props": {} }
]
}
]
},
"scripts": {
"calculate": "analyze.calculateStats"
}
},
{
"id": "run_filters",
"name": "RunFilters",
"type": "run_filters",
"description": "Filter controls for workflow runs",
"props": {
"status": "all",
"branch": "",
"dateRange": "7d"
},
"layout": {
"type": "Stack",
"props": { "direction": "row", "spacing": 2 },
"children": [
{
"type": "Select",
"props": {
"label": "Status",
"name": "status",
"options": [
{ "value": "all", "label": "All" },
{ "value": "success", "label": "Success" },
{ "value": "failure", "label": "Failure" },
{ "value": "pending", "label": "Pending" }
]
}
},
{
"type": "Input",
"props": {
"label": "Branch",
"name": "branch",
"placeholder": "main"
}
},
{
"type": "Select",
"props": {
"label": "Time Range",
"name": "dateRange",
"options": [
{ "value": "1d", "label": "Last 24 hours" },
{ "value": "7d", "label": "Last 7 days" },
{ "value": "30d", "label": "Last 30 days" }
]
}
}
]
},
"scripts": {
"onChange": "filter.applyFilters"
}
}
]