All checks were successful
Publish FaceAI Container / publish (push) Successful in 13m8s
- Created App.vue for the main application interface with localization support. - Added main.js to bootstrap the Vue application. - Introduced styles.css for application styling. - Configured Vite for development and proxying API requests. - Updated docker-compose files to include the new monitor service. - Added Dockerfile for building the monitor frontend. - Configured Nginx for serving the frontend and proxying API requests. - Updated package.json and package-lock.json to include monitor-frontend workspace. - Added initial SQLite database for audit monitoring.
1 line
6.1 KiB
CSS
1 line
6.1 KiB
CSS
:root{color-scheme:light;--canvas: #f6f1e8;--surface: rgba(255, 251, 245, .88);--surface-strong: #fffdf9;--ink: #1f1a14;--muted: #6c6258;--line: rgba(60, 43, 26, .14);--shadow: 0 24px 60px rgba(70, 49, 28, .12);--sand: #d49f61;--olive: #70835f;--sky: #5f8399;--stone: #7e6c5c;--danger: #9c3c2c;--queued: #8a6f43;--processing: #336b87;--completed: #567a46;--failed: #9a3b35;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left,rgba(212,159,97,.35),transparent 30%),radial-gradient(circle at top right,rgba(95,131,153,.22),transparent 26%),linear-gradient(180deg,#fbf6ef 0%,var(--canvas) 100%)}button,input,select{font:inherit}#app{min-height:100vh}.monitor-shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px}.hero-panel,.panel,.stat-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);gap:20px;border-radius:28px;padding:28px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--muted)}.hero-panel h1,.panel h2,.code-block h3{margin:0;font-family:Georgia,Times New Roman,serif}.hero-panel h1{max-width:12ch;font-size:clamp(2rem,4vw,3.6rem);line-height:.96}.hero-copy,.panel-header p,.mini-row p,.empty-state,.detail-grid dt,.stat-card small,.hero-meta span{color:var(--muted)}.hero-copy{margin:16px 0 0;max-width:62ch;line-height:1.55}.hero-meta{display:grid;gap:16px;align-content:start}.hero-meta div,.stat-card{padding:18px;border-radius:22px}.hero-meta .locale-field{display:grid;gap:6px}.hero-meta .locale-field select{width:100%;min-height:46px;border-radius:14px;border:1px solid var(--line);background:var(--surface-strong);padding:10px 12px;color:var(--ink)}.hero-meta strong,.stat-card strong{display:block;margin-top:6px;font-size:1.35rem}.primary-button,.secondary-button{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.primary-button{color:#fff8ef;background:linear-gradient(135deg,#8f532c,#b77436)}.secondary-button{color:var(--ink);background:#76685b1f}.primary-button:hover,.secondary-button:hover,.search-row:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.6;cursor:wait}.stat-grid,.content-grid,.split-panel,.filter-grid,.detail-grid{display:grid;gap:18px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.stat-card{min-height:154px}.stat-card strong{font-size:clamp(1.8rem,4vw,3rem)}.stat-label{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--muted)}.accent-sand{background:linear-gradient(180deg,#e9c79f6b,#fffbf5eb)}.accent-olive{background:linear-gradient(180deg,#97b08154,#fffbf5eb)}.accent-sky{background:linear-gradient(180deg,#8db4c959,#fffbf5eb)}.accent-stone{background:linear-gradient(180deg,#aa968447,#fffbf5eb)}.content-grid{grid-template-columns:minmax(360px,.95fr) minmax(0,1.35fr);align-items:start}.panel{border-radius:28px;padding:22px}.stack-gap{display:grid;gap:18px}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.panel-header.compact{margin-bottom:12px}.panel-header h2{font-size:1.55rem}.panel-header p{margin:8px 0 0;line-height:1.45}.pill,.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.pill{background:#76685b1f}.filter-grid{grid-template-columns:140px minmax(0,1fr) 120px 110px;align-items:end}.filter-grid label{display:grid;gap:6px}.filter-grid span{font-size:.82rem;color:var(--muted)}.filter-grid input,.filter-grid select{width:100%;min-height:46px;border-radius:14px;border:1px solid var(--line);background:var(--surface-strong);padding:10px 12px}.banner-error,.empty-state{margin:0;border-radius:18px;padding:14px 16px;background:#9c3c2c14}.banner-error{color:var(--danger)}.search-list,.event-list,.mini-list{display:grid;gap:12px}.search-row,.event-row,.mini-row,.code-block{border:1px solid var(--line);border-radius:20px;background:#fffdf9db}.search-row{width:100%;padding:16px;text-align:left;cursor:pointer}.search-row.selected{border-color:#8f532c6b;box-shadow:inset 0 0 0 1px #8f532c4d}.search-row-top,.search-row-meta,.search-row-bottom,.event-header,.mini-row,.mini-metrics{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.search-row-top strong,.mini-row strong,.event-header strong,.detail-grid dd,.code-block h3{color:var(--ink)}.search-row-meta,.search-row-bottom,.mini-row p,.mini-metrics,.event-row p{margin-top:8px;font-size:.92rem;color:var(--muted)}.status-badge[data-status=queued]{background:#8a6f4324;color:var(--queued)}.status-badge[data-status=processing]{background:#336b871f;color:var(--processing)}.status-badge[data-status=completed]{background:#567a4624;color:var(--completed)}.status-badge[data-status=failed]{background:#9a3b351f;color:var(--failed)}.status-badge[data-status=unknown]{background:#76685b1f;color:var(--stone)}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid div{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fffdf9d1}.detail-grid dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.detail-grid dd{margin:10px 0 0;line-height:1.4}.code-block{padding:16px}.code-block pre,.event-row pre{overflow:auto;margin:12px 0 0;padding:14px;border-radius:16px;background:#201a17;color:#f8f1e7;font-size:.82rem}.event-row{padding:14px}.event-row p{margin-bottom:0}.split-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-row{padding:14px;align-items:center}.compact-row{align-items:start}@media(max-width:1180px){.stat-grid,.detail-grid,.split-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.hero-panel{grid-template-columns:1fr}}@media(max-width:760px){.monitor-shell{width:min(100vw - 20px,100%);padding-top:12px}.panel,.hero-panel{padding:18px;border-radius:22px}.stat-grid,.detail-grid,.split-panel,.filter-grid{grid-template-columns:1fr}.panel-header{display:grid}}
|