Two related changes to the contact detail page: 1. The "Flagged invalid" badge was wrapping to two lines on narrow widths because the daisyUI badge has no explicit no-wrap class. Add `whitespace-nowrap`, drop the redundant capitalization on "Invalid", and append the flagger's callsign so the badge reads "Flagged invalid by W5XYZ". Hover tooltip carries the timestamp. 2. New `flagged_by_user_id` + `flagged_at` columns on contacts. `Radio.toggle_flagged_invalid!/2` now takes the admin User doing the flagging; on unflag it clears both fields so a subsequent re-flag gets a fresh attribution and the badge never shows a stale flagger. 3. `Radio.delete_contact!/1` + a Delete button next to Flag. Admin-only, gated in both the event handler and the template. Uses LV's `data-confirm` for the destructive-action prompt. All FK references to `contacts` already declare `on_delete: :delete_all` (terrain_profiles, contact_edits, contact_common_volume_radar) so a single Repo.delete! cascades cleanly. |
||
|---|---|---|
| .. | ||
| controllers | ||
| live | ||
| plugs | ||
| analytics_test.exs | ||
| live_helpers_test.exs | ||
| live_table_footer_test.exs | ||
| location_resolver_test.exs | ||
| metrics_log_suppression_test.exs | ||
| metrics_plug_test.exs | ||
| skew_t_property_test.exs | ||
| skew_t_test.exs | ||
| telemetry_test.exs | ||
| user_auth_test.exs | ||