···6363 `onSurfaceVariant`
6464- Body text: `bodySmall`, `line-clamp: 2` (via `maxLines: 2, overflow: ellipsis`)
6565- Action bar: move inside a top-bordered footer area
6666- (`border-t outlineVariant`). Icons only (chat, repeat, favorite) in a left-aligned
6767- row. Timestamp right-aligned in the same row
6666+ (`border-t outlineVariant`). Icons only (chat, repeat, favorite, save) in a
6767+ left-aligned row. Timestamp right-aligned in the same row
6868+- Save icon: bookmark icon that opens local/cloud save options on tap (same
6969+ behaviour as the previous action bar). Active state: amber for local-only saves,
7070+ `primary` for cloud saves
6871- Embed images: keep existing grid logic, but use square aspect ratio in grid view
69727073## Post Card — Grid Layout
···79822. **Content region** (padding `16`):
8083 - Author row: `5×5` square avatar + handle (same style as linear)
8184 - Body text: `bodySmall`, `maxLines: 2`, ellipsis
8282- - Footer: top-bordered, icons left, relative timestamp right
8585+ - Footer: top-bordered, icons left (chat, repeat, favorite, save), relative timestamp right
83868487Text-only variant (no image): content region expands to fill the card with
8588larger body text (`titleMedium`, `tracking: tight`). Secondary text below in
+6-6
docs/tasks/ui-refactor.md
···21212222## M2 — Post Card Variants
23232424-- [ ] Refactor `PostCard` to the linear variant: square avatars, uppercase handle, bordered footer
2525-- [ ] New `GridPostCard` widget — image region, content region, footer
2626-- [ ] Text-only grid card variant (no image — expanded body text)
2727-- [ ] Shared `PostCardFooter` widget (action icons left, timestamp right, top border)
2828-- [ ] Wire both variants to `PostCardWithActions` for action state management
2929-- [ ] Tests for both card variants (golden or widget tests)
2424+- [x] Refactor `PostCard` to the linear variant: square avatars, uppercase handle, bordered footer
2525+- [x] New `GridPostCard` widget — image region, content region, footer
2626+- [x] Text-only grid card variant (no image — expanded body text)
2727+- [x] Shared `PostCardFooter` widget (action icons left, timestamp right, top border)
2828+- [x] Wire both variants to `PostCardWithActions` for action state management
2929+- [x] Tests for both card variants
30303131## M3 — Home Feed Grid Layout
3232