prop/test/microwaveprop_web/live
Graham McIntire 44b169b234 CSV upload preview with duplicate detection before commit
Uploads now show a review page with three summary cards (valid,
duplicates, invalid), tables for invalid and duplicate rows, and a
sample of the first 20 valid rows. Nothing is written to the database
until the user clicks "Looks good — submit N contacts".

Duplicate detection treats two rows as the same contact if they share
the same pair of (callsign, grid) tuples (direction-agnostic), the
same band, and timestamps within 60 minutes. Dedup runs against both
existing DB contacts (single band/time-scoped query) and earlier rows
in the same upload, and the preview labels which side matched.

CsvImport grows preview/2 + commit/1; the old import/2 is kept as a
thin backward-compat wrapper that skips dedup. Added 11 new CsvImport
tests and reworked the SubmitLive CSV tests for the two-step flow.
2026-04-09 12:30:10 -05:00
..
algo_live_test.exs Show topbar loading indicator while scores are loading 2026-03-31 09:30:20 -05:00
beacon_live_test.exs Beacon improvements: anon submit, notes, /map nav, admin backfill 2026-04-08 16:23:59 -05:00
contact_live_test.exs Support two-callsign search on contacts page to find contacts between a pair 2026-04-04 09:29:32 -05:00
map_live_test.exs Rename QSO to Contact in UI, add higher bands, improve submit page 2026-04-01 12:28:24 -05:00
submit_live_test.exs CSV upload preview with duplicate detection before commit 2026-04-09 12:30:10 -05:00
user_management_live_test.exs Add /beacons CRUD and /users admin page 2026-04-08 12:01:45 -05:00