diff --git a/modules/mining-checker/assets/css/app.css b/modules/mining-checker/assets/css/app.css index d5b58b31..c5759ad9 100644 --- a/modules/mining-checker/assets/css/app.css +++ b/modules/mining-checker/assets/css/app.css @@ -1,17 +1,17 @@ #mining-checker-app { - --mc-surface: var(--surface); - --mc-surface-strong: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,252,252,0.92)); - --mc-line: var(--line); - --mc-line-strong: color-mix(in srgb, var(--brand-accent) 28%, transparent); - --mc-text: var(--text); - --mc-text-muted: var(--muted); - --mc-accent: var(--brand-accent); - --mc-accent-strong: var(--brand-accent-3); + --mc-surface: #ffffff; + --mc-surface-strong: #ffffff; + --mc-line: rgba(148, 163, 184, 0.24); + --mc-line-strong: rgba(37, 99, 235, 0.24); + --mc-text: #0f172a; + --mc-text-muted: #475569; + --mc-accent: #2563eb; + --mc-accent-strong: #1d4ed8; --mc-danger: #d92d20; --mc-success: #14804a; --mc-warning: #b54708; min-height: 0; - background: none; + background: #f8fafc; color: var(--mc-text); font-family: inherit; max-width: 100%; @@ -50,10 +50,9 @@ #mining-checker-app .mc-table-shell, #mining-checker-app .mc-display-field { border: 1px solid var(--mc-line); - border-radius: 22px; + border-radius: 16px; background: var(--mc-surface); - /* box-shadow: 0 12px 30px rgba(1, 22, 32, 0.08); */ - backdrop-filter: blur(8px); + box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06); } #mining-checker-app .mc-panel, @@ -204,7 +203,7 @@ text-transform: uppercase; letter-spacing: 0.18em; border: 1px solid var(--mc-line-strong); - background: color-mix(in srgb, var(--mc-accent) 16%, transparent); + background: #eff6ff; color: var(--mc-accent-strong); } @@ -214,7 +213,7 @@ } #mining-checker-app .mc-badge--info { - background: color-mix(in srgb, var(--mc-accent) 16%, transparent); + background: #eff6ff; color: var(--mc-accent-strong); } @@ -238,8 +237,8 @@ #mining-checker-app .mc-button { border: 1px solid transparent; - border-radius: 16px; - padding: 12px 16px; + border-radius: 999px; + padding: 11px 16px; cursor: pointer; text-decoration: none; transition: 160ms ease; @@ -256,13 +255,14 @@ } #mining-checker-app .mc-button--primary { - background: linear-gradient(135deg, var(--mc-accent), var(--mc-accent-strong)); - color: #05121f; + background: var(--mc-accent); + color: #f8fafc; font-weight: 700; } #mining-checker-app .mc-button--secondary { - background: rgba(255, 255, 255, 0.92); + background: #ffffff; + border-color: #cbd5e1; color: var(--mc-text); font-weight: 700; } @@ -274,8 +274,8 @@ } #mining-checker-app .mc-button--ghost { - background: color-mix(in srgb, var(--mc-accent) 14%, transparent); - border-color: color-mix(in srgb, var(--mc-accent) 34%, transparent); + background: #eff6ff; + border-color: rgba(37, 99, 235, 0.18); color: var(--mc-accent-strong); } @@ -313,9 +313,9 @@ #mining-checker-app .mc-debug-entry { border: 1px solid var(--mc-line); - border-radius: 18px; + border-radius: 16px; padding: 14px 16px; - background: color-mix(in srgb, var(--brand-accent-2) 8%, var(--mc-surface)); + background: #f8fafc; } #mining-checker-app .mc-field { @@ -334,11 +334,11 @@ #mining-checker-app .mc-textarea, #mining-checker-app .mc-file { width: 100%; - border: 1px solid var(--mc-line); - border-radius: 16px; - padding: 13px 15px; + border: 1px solid #cbd5e1; + border-radius: 12px; + padding: 11px 12px; color: var(--mc-text); - background: rgba(255, 255, 255, 0.72); + background: #ffffff; outline: none; } @@ -361,8 +361,8 @@ #mining-checker-app .mc-select:focus, #mining-checker-app .mc-textarea:focus, #mining-checker-app .mc-file:focus { - border-color: rgba(125, 211, 252, 0.5); - box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.12); + border-color: var(--mc-accent); + box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12); } #mining-checker-app .mc-checkbox { @@ -370,9 +370,9 @@ align-items: center; gap: 12px; border: 1px solid var(--mc-line); - border-radius: 16px; + border-radius: 12px; padding: 14px 16px; - background: rgba(255, 255, 255, 0.05); + background: #ffffff; } #mining-checker-app .mc-inline-fields { @@ -387,21 +387,21 @@ } #mining-checker-app .mc-alert--error { - border-color: rgba(251, 113, 133, 0.28); - background: rgba(127, 29, 29, 0.35); - color: #ffe4e6; + border-color: rgba(185, 28, 28, 0.18); + background: #fef2f2; + color: #991b1b; } #mining-checker-app .mc-alert--warning { - border-color: rgba(245, 158, 11, 0.28); - background: rgba(120, 53, 15, 0.34); - color: #fef3c7; + border-color: rgba(217, 119, 6, 0.18); + background: #fff7ed; + color: #b45309; } #mining-checker-app .mc-alert--success { - border-color: rgba(52, 211, 153, 0.28); - background: rgba(6, 78, 59, 0.34); - color: #d1fae5; + border-color: rgba(5, 150, 105, 0.18); + background: #ecfdf5; + color: #047857; } #mining-checker-app .mc-table-shell { @@ -417,13 +417,13 @@ #mining-checker-app .mc-table th, #mining-checker-app .mc-table td { padding: 14px 16px; - border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-bottom: 1px solid rgba(148, 163, 184, 0.18); text-align: left; vertical-align: top; } #mining-checker-app .mc-table thead { - background: rgba(255, 255, 255, 0.04); + background: #f8fafc; } #mining-checker-app .mc-empty { @@ -432,9 +432,9 @@ #mining-checker-app details { border: 1px solid var(--mc-line); - border-radius: 18px; + border-radius: 16px; padding: 16px; - background: rgba(255, 255, 255, 0.04); + background: #ffffff; } #mining-checker-app pre { @@ -452,7 +452,7 @@ #mining-checker-app .mc-mini-card, #mining-checker-app .mc-display-field { padding: 12px 14px; - background: rgba(255, 255, 255, 0.04); + background: #ffffff; } #mining-checker-app .mc-code-block { @@ -460,7 +460,7 @@ padding: 12px 14px; border: 1px solid var(--mc-line); border-radius: 16px; - background: rgba(255, 255, 255, 0.03); + background: #f8fafc; white-space: pre-wrap; word-break: break-word; font-family: "JetBrains Mono", "SFMono-Regular", monospace; @@ -490,10 +490,9 @@ overflow: auto; padding: 24px; border: 1px solid var(--mc-line); - border-radius: 28px; - background: rgba(9, 17, 31, 0.96); - box-shadow: 0 28px 60px rgba(0, 0, 0, 0.34); - backdrop-filter: blur(14px); + border-radius: 20px; + background: #ffffff; + box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18); } #mining-checker-app .mc-chart path, diff --git a/modules/mining-checker/assets/js/app.js b/modules/mining-checker/assets/js/app.js index 0c3caf40..7a73d562 100644 --- a/modules/mining-checker/assets/js/app.js +++ b/modules/mining-checker/assets/js/app.js @@ -15,7 +15,7 @@ const h = React.createElement; const { useEffect, useMemo, useRef, useState } = React; const normalizedOptions = options && typeof options === 'object' ? options : {}; - const apiBase = normalizedOptions.apiBase || root.dataset.apiBase || '/api/mining-checker/v1'; + const apiBase = normalizedOptions.apiBase || root.dataset.apiBase || '/api/mining-checker/index.php?path=v1'; const initialProjectKey = normalizedOptions.defaultProjectKey || root.dataset.defaultProjectKey || 'doge-main'; const initialActiveTab = String(normalizedOptions.activeView || root.dataset.activeView || 'overview').trim() || 'overview'; const configuredSections = (() => { diff --git a/modules/mining-checker/desktop.php b/modules/mining-checker/desktop.php index 98d4aec6..d90bc1b2 100644 --- a/modules/mining-checker/desktop.php +++ b/modules/mining-checker/desktop.php @@ -44,7 +44,7 @@ return [ 'native_module' => [ 'initializer' => 'initMiningCheckerApp', 'options' => [ - 'apiBase' => '/api/mining-checker/index.php/v1', + 'apiBase' => '/api/mining-checker/index.php?path=v1', 'defaultProjectKey' => getenv('MINING_CHECKER_DEFAULT_PROJECT_KEY') ?: 'doge-main', 'activeView' => 'overview', 'sections' => $sections, diff --git a/modules/mining-checker/pages/index.php b/modules/mining-checker/pages/index.php index be753831..f2ed32ff 100644 --- a/modules/mining-checker/pages/index.php +++ b/modules/mining-checker/pages/index.php @@ -90,7 +90,7 @@ $sectionsJson = json_encode($sections, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_S