From b579ba8c0af42720e7dd140fbebcaaea0505b8c9 Mon Sep 17 00:00:00 2001 From: Arnaud Gissinger Date: Wed, 8 Apr 2026 18:59:36 +0200 Subject: [PATCH] feat: distinct CardSolution variant with lifecycle meter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Solutions no longer render with the same CardIssue component as issues. A near-clone CardSolution inherits the card chrome, vote pill, and author block, with tiny differentiators: a lightbulb-prefixed #id, a three-step Plan→In progress→Done lifecycle meter in the location-row slot, and an optional "in response to #N" link. Also prevent the card header from wrapping the title onto its own flex line — the title text now wraps inside its own link while the prefix and badges stay baseline-aligned. Co-Authored-By: Claude Opus 4.6 (1M context) --- app/components/card/Issue.vue | 6 +- app/components/card/Solution.vue | 208 ++++++++++++++++++++++++ app/pages/issue/[issueId]/solutions.vue | 4 +- app/pages/user/[id].vue | 5 +- 4 files changed, 216 insertions(+), 7 deletions(-) create mode 100644 app/components/card/Solution.vue diff --git a/app/components/card/Issue.vue b/app/components/card/Issue.vue index 1768657..b105038 100644 --- a/app/components/card/Issue.vue +++ b/app/components/card/Issue.vue @@ -75,12 +75,12 @@ async function handleShare() {