{ "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" } ] } ] } ] } ] } }