Existing frontend: detect, report, then keep or restyle (ticket 03)
- templates/detect_frontend.py: finds plain HTML, React/Vue/Angular/Svelte apps and PyQt web views; prints location, stack, main colours, font and every token block (CSS custom properties, <style> tags, Tailwind config). - templates/frontend.md: shared report / keep / restyle procedure, written so rpa-dashboard-ai can point to it. - SKILL.md steps 1, 2 and 6 point to it. - tests: detection self-check; fixture c-web-existing-frontend; eval entries c-keep and c-restyle (new pages only, per-question grading, checks on what changed in the existing files), both passing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3eb3fdf00e
commit
f11bddd958
15 files changed
+1210
-12
No files matched your search
@@ -0,0 +1,18 @@
|
||||
/* Layout and components. Colours and fonts come from theme.css. */
|
||||
* { box-sizing: border-box; margin: 0; }
|
||||
body { font-family: var(--font-sans); background: var(--color-bg); color: var(--color-text); }
|
||||
h1, h2 { font-family: var(--font-heading); }
|
||||
.topbar { display: flex; align-items: center; gap: 16px; padding: 14px 24px; background: var(--color-brand); color: #ffffff; }
|
||||
.topbar nav { margin-left: auto; display: flex; gap: 12px; }
|
||||
.topbar a { color: #ffffff; text-decoration: none; }
|
||||
.page { max-width: 960px; margin: 24px auto; padding: 0 16px; }
|
||||
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 20px; }
|
||||
.button { background: var(--color-brand); color: #ffffff; border: 0; border-radius: var(--radius); padding: 8px 14px; cursor: pointer; }
|
||||
.button.secondary { background: var(--color-brand-tint); color: var(--color-brand-strong); }
|
||||
table { width: 100%; border-collapse: collapse; margin-top: 12px; }
|
||||
th { text-align: left; background: var(--color-surface-alt); color: var(--color-text-muted); }
|
||||
th, td { padding: 8px 10px; border-bottom: 1px solid var(--color-border); }
|
||||
.tag { padding: 2px 8px; border-radius: 999px; color: #ffffff; font-size: 12px; }
|
||||
.tag.ok { background: var(--color-success); }
|
||||
.tag.late { background: var(--color-warning); }
|
||||
.tag.failed { background: var(--color-danger); }
|
||||
@@ -0,0 +1,33 @@
|
||||
/* Field Ops Portal theme. Every colour and font the site uses comes from here. */
|
||||
:root {
|
||||
--color-brand: #0f766e;
|
||||
--color-brand-strong: #115e59;
|
||||
--color-brand-tint: #ccfbf1;
|
||||
--color-bg: #f8fafc;
|
||||
--color-surface: #ffffff;
|
||||
--color-surface-alt: #f1f5f9;
|
||||
--color-border: #e2e8f0;
|
||||
--color-text: #0f172a;
|
||||
--color-text-muted: #64748b;
|
||||
--color-success: #15803d;
|
||||
--color-warning: #b45309;
|
||||
--color-danger: #b91c1c;
|
||||
--font-sans: "Trebuchet MS", "Segoe UI", sans-serif;
|
||||
--font-heading: Georgia, "Times New Roman", serif;
|
||||
--radius: 6px;
|
||||
}
|
||||
|
||||
[data-theme="dark"] {
|
||||
--color-brand: #0d9488;
|
||||
--color-brand-strong: #134e4a;
|
||||
--color-brand-tint: #134e4a;
|
||||
--color-bg: #0b1120;
|
||||
--color-surface: #111827;
|
||||
--color-surface-alt: #1f2937;
|
||||
--color-border: #334155;
|
||||
--color-text: #e2e8f0;
|
||||
--color-text-muted: #94a3b8;
|
||||
--color-success: #22c55e;
|
||||
--color-warning: #f59e0b;
|
||||
--color-danger: #ef4444;
|
||||
}
|
||||
Reference in new issue
Block a user