Wave-5 refinement round 3 (owner): SVG answer marks + uniform input sizes

- ✓/✗ in the answered card: replaced literal glyphs with lucide CheckIcon/
  XIcon (strokeWidth 2.5) inside a fixed size-4 flex box — text elements
  never carried the right size/vertical alignment, vectors do. Test pins
  updated (lucide-check/lucide-x classes).
- All user-typed INPUT text now matches markdown output: lh-prose class
  replaces the earlier font-prose (family-only) band-aid on the composer,
  question-dock text/thinking/Other fields, home topic input, model search
  box, and answered-card 'your thinking'/free-text records. lh-prose sets
  family+size (16.5px) so placeholders inherit correctly.
This commit is contained in:
amosblomqvist
2026-09-13 01:20:07 +03:00
parent f1433306db
commit d4212cecf2
6 changed files with 17 additions and 16 deletions
+3 -2
View File
@@ -168,7 +168,8 @@ describe("render smoke tests", () => {
const html = renderToStaticMarkup(<AnsweredCard answer={answer} />);
assert.match(html, /incorrect/);
assert.match(html, /innermost/, "explanation renders post-answer");
assert.ok(html.includes("✓") && html.includes("✗"));
// Vector marks (lucide SVG) — not glyphs — sized like the row text (owner).
assert.ok(html.includes("lucide-check") && html.includes("lucide-x"));
});
it("AnsweredCard renders the learner's own Other answer AS an option row", () => {
@@ -213,7 +214,7 @@ describe("render smoke tests", () => {
};
const answer = buildAnswer(qd, { values: ["Somewhat"] });
const html = renderToStaticMarkup(<AnsweredCard answer={answer} />);
assert.ok(!html.includes("incorrect") && !html.includes("✗"), "ask answers never get quiz grading UI");
assert.ok(!html.includes("incorrect") && !html.includes("lucide-x"), "ask answers never get quiz grading UI");
assert.match(html, /Somewhat/);
});