Files
2026-07-01 10:30:32 +09:00

221 lines
8.2 KiB
JSON

{
"version": "1.0.0",
"layout_name": "errors/503",
"extends": "_user_base",
"meta": {
"title": "$t:error.503.title",
"description": "$t:error.503.description",
"is_error_layout": true,
"error_code": 503
},
"slots": {
"content": [
{
"type": "basic",
"name": "Div",
"props": {
"className": "min-h-[60vh] flex items-center justify-center"
},
"children": [
{
"type": "basic",
"name": "Div",
"props": {
"className": "text-center px-4 max-w-lg"
},
"children": [
{
"type": "basic",
"name": "Icon",
"props": {
"name": "triangle-exclamation",
"className": "w-24 h-24 mx-auto text-orange-400 dark:text-orange-500 mb-6"
}
},
{
"type": "basic",
"name": "Div",
"props": {
"className": "text-8xl font-bold text-gray-200 dark:text-gray-700 mb-4"
},
"text": "503"
},
{
"type": "basic",
"name": "H1",
"props": {
"className": "text-2xl font-bold text-gray-900 dark:text-white mb-2"
},
"text": "$t:error.503.title"
},
{
"type": "basic",
"name": "P",
"props": {
"className": "text-gray-600 dark:text-gray-400 mb-4"
},
"text": "$t:error.503.description"
},
{
"id": "dependency_info",
"type": "basic",
"name": "Div",
"if": "{{_global.errorData && ((_global.errorData.modules && _global.errorData.modules.length > 0) || (_global.errorData.plugins && _global.errorData.plugins.length > 0))}}",
"props": {
"className": "bg-orange-50 dark:bg-orange-900/20 border border-orange-200 dark:border-orange-800 rounded-lg p-4 mb-6 text-left"
},
"children": [
{
"type": "basic",
"name": "P",
"props": {
"className": "text-sm font-medium text-orange-800 dark:text-orange-200 mb-3"
},
"text": "$t:error.503.unmet_dependencies"
},
{
"id": "modules_list",
"type": "basic",
"name": "Div",
"if": "{{_global.errorData.modules && _global.errorData.modules.length > 0}}",
"props": {
"className": "mb-3"
},
"children": [
{
"type": "basic",
"name": "P",
"props": {
"className": "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-1"
},
"text": "$t:error.503.required_modules"
},
{
"type": "basic",
"name": "Div",
"props": {
"className": "flex flex-wrap gap-2"
},
"children": [
{
"type": "basic",
"name": "Span",
"iteration": {
"source": "_global.errorData.modules",
"item_var": "mod"
},
"props": {
"className": "inline-flex items-center gap-1 px-2 py-1 text-xs bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-300 rounded"
},
"children": [
{
"type": "basic",
"name": "Icon",
"props": {
"name": "x-circle",
"className": "w-3 h-3"
}
},
{
"type": "basic",
"name": "Span",
"text": "{{mod.name}}({{mod.identifier}}) ({{mod.required_version}})"
}
]
}
]
}
]
},
{
"id": "plugins_list",
"type": "basic",
"name": "Div",
"if": "{{_global.errorData.plugins && _global.errorData.plugins.length > 0}}",
"children": [
{
"type": "basic",
"name": "P",
"props": {
"className": "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-1"
},
"text": "$t:error.503.required_plugins"
},
{
"type": "basic",
"name": "Div",
"props": {
"className": "flex flex-wrap gap-2"
},
"children": [
{
"type": "basic",
"name": "Span",
"iteration": {
"source": "_global.errorData.plugins",
"item_var": "plug"
},
"props": {
"className": "inline-flex items-center gap-1 px-2 py-1 text-xs bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-300 rounded"
},
"children": [
{
"type": "basic",
"name": "Icon",
"props": {
"name": "x-circle",
"className": "w-3 h-3"
}
},
{
"type": "basic",
"name": "Span",
"text": "{{plug.name}}({{plug.identifier}}) ({{plug.required_version}})"
}
]
}
]
}
]
}
]
},
{
"type": "basic",
"name": "P",
"props": {
"className": "text-sm text-gray-500 dark:text-gray-500 mb-8"
},
"text": "$t:error.503.contact_admin"
},
{
"type": "basic",
"name": "Button",
"props": {
"className": "inline-flex items-center gap-2 px-6 py-3 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors cursor-pointer"
},
"actions": [{ "type": "click", "handler": "navigate", "params": { "path": "/" } }],
"children": [
{
"type": "basic",
"name": "Icon",
"props": {
"name": "home",
"className": "w-5 h-5"
}
},
{
"type": "basic",
"name": "Span",
"text": "$t:error.503.back_to_home"
}
]
}
]
}
]
}
]
}
}