Fix the clipped answer field + the doubled AI note; ordering only where it fits

UI bug from a phone screenshot (short answer, Czech):
- The textarea was flex-shrunk inside the slide's column (58px instead of
  ~82px), clipping the typed answer mid-line. Every direct child of a
  study/review/guide slide is now shrink-0 and the slide scrolls instead.
- Two AI disclaimers were visible at once: the activity's own after the
  grading box plus the feed's row. The activity-level copy is gone; the
  feed/guide row (which also carries the report control) is the single one.
  The phase-2 check now asserts the note sits below the graded feedback.
- The mobile suite's backdrop-tap check is deterministic too (the spring
  animation made the measured box mid-flight).

Ordering activities: the deck prompt now allows them only when the notes
hold a real sequence (chronological events, process stages, procedure steps,
a lifecycle, a ranked scale) and points at matching / multiple choice /
true-false when they do not - "sort these" was landing on decks with no
order at all.

Version 0.2.4, SW -> freezmo-v57.
This commit is contained in:
Martin Dvořák 2026-10-13 07:27:39 +00:00
commit 9b0354fb11
9 changed files with 34 additions and 15 deletions

View file

@ -7,7 +7,6 @@ import { useI18n } from "@/lib/i18n";
import { modelErrorCopy } from "@/lib/model-errors";
import type { Activity } from "@/lib/schemas";
import { cn } from "@/lib/utils";
import { AiDisclaimer } from "@/components/AiDisclaimer";
import { Button, Spinner } from "@/components/ui";
import { ModelErrorActions } from "@/components/ModelErrorActions";
@ -186,8 +185,6 @@ export function ShortAnswer({ activity, active, language, onAnswered, onNext, is
) : null}
</div>
<AiDisclaimer />
<FeedbackPanel
correct={state.correct}
explanation={activity.explanation}