prop/lib/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
..
beacon_live Compact beacon detail page, toggleable coverage, About page formatting 2026-04-09 09:12:32 -05:00
contact_live Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00
user_management_live Add /beacons CRUD and /users admin page 2026-04-08 12:01:45 -05:00
about_live.ex Add /privacy page with shared footer across non-map pages 2026-04-09 09:54:54 -05:00
algo_live.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00
backfill_live.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00
contact_map_live.ex Add interactive popups to contact map, dedup reciprocals, darken line colors 2026-04-01 12:39:02 -05:00
map_live.ex Map UX polish and populated About page 2026-04-08 17:06:53 -05:00
path_live.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00
privacy_live.ex Add /privacy page with shared footer across non-map pages 2026-04-09 09:54:54 -05:00
rover_live.ex Show grid squares by default on rover planner 2026-04-08 10:21:40 -05:00
submit_live.ex CSV upload preview with duplicate detection before commit 2026-04-09 12:30:10 -05:00
weather_map_live.ex Map UX polish and populated About page 2026-04-08 17:06:53 -05:00