diff --git a/ci-requirements.md b/ci-requirements.md index 217dbf4..ee09c7e 100644 --- a/ci-requirements.md +++ b/ci-requirements.md @@ -22,7 +22,7 @@ real Postgres), build (docker buildx). - uv (test + integration jobs run `uv sync --locked`; installed in the image since the ci-python Dockerfile started pip-installing it) - docker CLI + buildx (build job pushes the production image to the - Forgejo registry) + Fabled-Git registry) ## Per-job tool installs diff --git a/frontend/src/assets/components.css b/frontend/src/assets/components.css new file mode 100644 index 0000000..2b9c148 --- /dev/null +++ b/frontend/src/assets/components.css @@ -0,0 +1,193 @@ +/* Shared component styles — the house recipes, in one place. + * =========================================================================== + * + * WHY THIS FILE EXISTS + * + * `.btn-primary` was defined five times, in five scoped stylesheets, and all + * five had drifted: three paddings, three font sizes, three disabled opacities, + * and one view with no disabled style at all (#2273). Nothing detected that, + * because a scoped duplicate is invisible to every tool — it isn't a rule + * violation, isn't a broken reference, and isn't a recorded snippet. + * + * GEOMETRY LIVES HERE. Every value is a design-system token, so a palette or + * scale change moves the buttons rather than stranding a copy that no longer + * matches. + * + * A button is `variant + size`, composed in the template: + * btn-primary a page action + * btn-primary btn-compact a row action + * btn-ghost btn-inline an affordance inside a card + * btn-primary btn-block a form's single submitting action + * Semantic per-view names (.btn-save, .btn-delete-task, …) were the thing that + * drifted, because a name says what a button is FOR and nothing about what it + * should look like — so two buttons doing the same job in two views had no + * reason to match, and didn't. + * + * MIGRATION NOTE — this file is deliberately safe to land ahead of the removals. + * These are plain selectors (specificity 0,1,0); a Vue ` diff --git a/frontend/src/components/ShareDialog.vue b/frontend/src/components/ShareDialog.vue index f68d8b8..a76278d 100644 --- a/frontend/src/components/ShareDialog.vue +++ b/frontend/src/components/ShareDialog.vue @@ -117,7 +117,7 @@ onMounted(async () => {
@@ -162,7 +162,7 @@ onMounted(loadLogs); />