Skip to content

refactor(ui): improve chat and node list row layout#236

Open
mikewren wants to merge 4 commits intoAvi0n:devfrom
mikewren:refactor/chat-list-row-layout
Open

refactor(ui): improve chat and node list row layout#236
mikewren wants to merge 4 commits intoAvi0n:devfrom
mikewren:refactor/chat-list-row-layout

Conversation

@mikewren
Copy link

Summary

  • Move favorite star to appear immediately after name, enlarged to 110%
  • Standardize timestamp formatting across Chats and Nodes tabs (clock time today, "Yesterday", full weekday, abbreviated date, year for old dates)
  • Replace system NavigationLink chevrons with custom positioned chevrons aligned to the top row, consistent with Apple Messages UI
  • Move unread message count to a red badge overlay on the avatar top-right, matching iOS app icon badge style

Changes

  • ConversationRow.swift, ChannelConversationRow.swift, RoomConversationRow.swift — star position, unread badge on avatar, chevron alignment
  • ContactRowView.swift — star position and size
  • ConversationTimestamp.swift — new date formatting rules
  • RelativeTimestampText.swift — matching date formatting, removed fuzzy relative times
  • ConversationListContent.swift — hidden NavigationLink pattern for custom chevron positioning
  • ContactsCompactList.swift — same hidden NavigationLink pattern
  • View+ListChevron.swift (new) — shared chevron modifier with configurable offset
  • UnreadCountBadge.swift (new) — red avatar badge component with white border
  • RelativeTimestampTextTests.swift — updated tests for new formatting

Test plan

  • Verified all changes in iPhone and iPad simulators
  • Chats tab: star position, timestamp formatting, chevron alignment, unread badge on avatar
  • Nodes tab: star position, timestamp formatting, chevron alignment
  • iPad split view: layout correct, no unwanted chevrons
  • Unread badge renders with white border fully covering avatar
  • swiftlint lint passes with no new warnings

🤖 Generated with Claude Code

mikewren and others added 4 commits February 26, 2026 15:30
- Move favorite star to appear immediately after name across all row types
  (Chats, Channels, Rooms, Contacts)
- Standardize timestamp formatting: clock time for today, "Yesterday",
  full weekday name for 2-6 days, "Feb 8" for this year, "Dec 25, 2025"
  for previous years
- Replace system NavigationLink chevrons with custom positioned chevrons
  aligned to the top row, consistent with Apple Messages UI
- Remove fuzzy relative timestamps ("2 min ago") in favor of clock time

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace inline UnreadBadges with red count badge on avatar top-right,
  matching iOS app icon badge style
- Increase favorite star size to 110% across all row types

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Align badge style with the tab bar badges in the Chats/Nodes selector
for visual consistency across the app.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant