As a user I want a swap button between the two person fields so I can flip the conversation perspective without retyping #32

Closed
opened 2026-03-20 12:30:23 +01:00 by marcel · 0 comments
Owner

Background

The sender/receiver direction determines which side of the timeline bubbles appear on. When a user wants to see the same correspondence from the other person's perspective (or simply entered the names the wrong way around), they currently have to clear both fields and re-enter them.

Desired behaviour

  • A small ↔ icon button sits between the Person A and Person B typeahead inputs
  • Clicking it swaps the senderId / receiverId values and immediately re-runs applyFilters()
  • The button is only shown (or only enabled) when both fields are filled

Implementation notes

Frontend only. The swap is two variable assignments plus applyFilters(). Place the button in the gap between the two typeahead columns — on desktop this sits in the md:grid-cols-2 gap, on mobile it can be a small full-width button between the two fields.

Keep it visually subtle (icon-only, text-gray-400 hover:text-brand-navy) so it doesn't compete with the primary inputs.

## Background The sender/receiver direction determines which side of the timeline bubbles appear on. When a user wants to see the same correspondence from the other person's perspective (or simply entered the names the wrong way around), they currently have to clear both fields and re-enter them. ## Desired behaviour - A small ↔ icon button sits between the Person A and Person B typeahead inputs - Clicking it swaps the `senderId` / `receiverId` values and immediately re-runs `applyFilters()` - The button is only shown (or only enabled) when both fields are filled ## Implementation notes **Frontend only.** The swap is two variable assignments plus `applyFilters()`. Place the button in the gap between the two typeahead columns — on desktop this sits in the `md:grid-cols-2` gap, on mobile it can be a small full-width button between the two fields. Keep it visually subtle (icon-only, `text-gray-400 hover:text-brand-navy`) so it doesn't compete with the primary inputs.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcel/familienarchiv#32