Skip to content

Conversation

@nleiby
Copy link

@nleiby nleiby commented Feb 7, 2026

. Export UI

Export button with icon in the filter row (shown when there are target species or any species from trip hotspots).

Clicking it opens a Headless UI dropdown with:

Scope: “Target species only” or “All species at trip hotspots”.

Minimum % chance: Select with 1%, 2% (default), 5%, 10%.

Download CSV button.
  1. Export logic

    Target species only: Uses targetSpecies, effective percent from speciesCoverage (or fallback target.percent), keeps rows with percent ≥ threshold, sorts by percent descending.

    All species at trip hotspots: Builds a code→name map from allTargets, iterates speciesCoverage, keeps rows with weightedAvgPercent ≥ threshold, sorts by percent descending.

  2. CSV and download

    Helpers: escapeCsvField (quotes and escapes commas/newlines), buildExportCsv (header Species,% chance and one decimal for percent), downloadCsv (Blob + object URL + ).

    Filename: birdplan-{trip-name-slug}-{date}.csv.

    If no rows pass the threshold, a toast explains and no file is downloaded.

nickleiby and others added 30 commits February 1, 2026 15:52
…ry days

Co-authored-by: Cursor <cursoragent@cursor.com>
… non-fatal upload errors

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…rsonal locations toggle; TargetRow coverage prop

Co-authored-by: Cursor <cursoragent@cursor.com>
…ching and colorIndex; Mapbox hasFrequencyData styling and legend

Co-authored-by: Cursor <cursoragent@cursor.com>
…tTargetRow

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…ocation sort and styles, Hotspot halo color, index tooltip

Co-authored-by: Cursor <cursoragent@cursor.com>
fix: render single day in ItineraryDay instead of mapping all itinera…
local dev chore: make Firebase project and storage bucket configurable via env
feat: add species coverage and hotspot importance helpers (no UI)
features: targets page UI re-work
feature: species map heatmap by frequency/recency

-Show richer data on the target species map view- heatmap sightings by frequency
-Wire toggle button to hide low-value personal hotspots
feature: hotspot importance- key targets per hotspot
…n single-day + DayImportantTargets)

Co-authored-by: Cursor <cursoragent@cursor.com>
feature: DayImportantTargets in itinerary for key targets by hotspot
…on, providing more context on date plan already there
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.

2 participants