Add AI auto-check worker, share link message/link fields, and update journal/settings UI
This commit is contained in:
@@ -232,6 +232,9 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
|
||||
.page-head h2{font-size:1.3rem;font-weight:600;margin:0}
|
||||
.page-sub{color:var(--muted);font-size:.85rem}
|
||||
.settings-stack{display:flex;flex-direction:column;gap:20px;max-width:680px}
|
||||
.link-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
|
||||
.link-fields > .full{grid-column:1/-1}
|
||||
@media(max-width:600px){.link-fields{grid-template-columns:1fr}}
|
||||
.settings-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;max-width:1200px}
|
||||
.settings-stack-grid > .settings-card{max-width:none;height:100%}
|
||||
.settings-stack-grid > .settings-card.wide{grid-column:1/-1}
|
||||
@@ -352,3 +355,29 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
|
||||
.ai-btn:hover{color:var(--accent);background:rgba(37,99,235,.1)}
|
||||
.ai-btn:disabled{opacity:.5;cursor:not-allowed}
|
||||
#aiSuggestion{font-size:.9rem;line-height:1.5}
|
||||
|
||||
/* --- AI auto-check --- */
|
||||
.ai-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle;background:rgba(37,99,235,.1);color:var(--accent);white-space:nowrap}
|
||||
.ai-badge-done{background:rgba(22,163,74,.12);color:#16a34a}
|
||||
.ai-badge-error{background:rgba(239,68,68,.12);color:#ef4444}
|
||||
.ai-badge-skipped,.ai-badge-reverted{background:rgba(148,163,184,.18);color:var(--muted)}
|
||||
.ai-status{margin-top:6px;font-size:.78rem;color:var(--muted)}
|
||||
.ai-queue{margin-top:8px;font-size:.78rem;color:var(--muted)}
|
||||
|
||||
/* --- AI worker monitor --- */
|
||||
.worker-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;background:#94a3b8}
|
||||
.worker-dot.on{background:#16a34a;animation:wpulse 1.6s infinite}
|
||||
.worker-dot.busy{background:#f59e0b;animation:wpulse 1.2s infinite}
|
||||
.worker-dot.err{background:#ef4444}
|
||||
@keyframes wpulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
|
||||
.worker-state{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600}
|
||||
.worker-counts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
|
||||
.worker-counts .chip{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:.8rem;color:var(--text);display:inline-flex;align-items:center;gap:6px}
|
||||
.worker-counts .chip b{font-weight:700}
|
||||
.worker-counts .chip.pending b{color:#f59e0b}
|
||||
.worker-counts .chip.done b{color:#16a34a}
|
||||
.worker-counts .chip.error b{color:#ef4444}
|
||||
.worker-counts .chip.skipped b{color:var(--muted)}
|
||||
.worker-counts .chip.reverted b{color:var(--accent)}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user