Skip to content

Seed test data + natural-palette redesign for web-ui - #1

Merged
CalebLovell merged 2 commits into
mainfrom
feat/seed-data-nature-redesign
Jul 22, 2026
Merged

Seed test data + natural-palette redesign for web-ui#1
CalebLovell merged 2 commits into
mainfrom
feat/seed-data-nature-redesign

Conversation

@CalebLovell

Copy link
Copy Markdown
Owner

Summary

  • Adds scripts/seed_test_data.py, a reusable script that generates ~4 weeks of realistic BirdNET-Pi detections (dawn/dusk activity clustering, weighted Wisconsin-backyard species mix, a couple of rare recent migrants, guaranteed last-hour activity) so web-ui has real data to build against locally. Currently seeded with 4,334 detections across 26 species.
  • Restyles web-ui with a single 6-color natural palette (cream paper, forest ink, moss, sage, tan, clay) pulled from reference designs, applied uniformly through the existing shadcn token system.
  • Removes dark mode entirely: drops ThemeToggle, the theme-init script, and leftover dark: utility classes in the vendored button/badge primitives, so there's no OS-dependent theme switching anywhere.
  • Adds IBM Plex Mono for numeric data (stat counts, timestamps, confidence) as a field-journal-style texture, and a small illustrated hero band (hills/treeline/sun) on the overview page as the one distinctive signature element.

Test plan

  • biome check and tsc --noEmit clean
  • npm run build (client + SSR + Nitro) succeeds
  • Verified in a real dev server: all three routes (/, /detections, /species) render correctly against seeded data, server functions return 200, nav/active-state styling works, dark-mode toggle fully removed, mobile viewport (375px) checked

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

CalebLovell and others added 2 commits July 22, 2026 16:42
Generates ~4 weeks of realistic Wisconsin-backyard-bird detections
(dawn/dusk activity clustering, weighted species frequency, a couple
of rare recent migrants, guaranteed last-hour activity) so the web-ui
dashboard has real data to build against locally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the scaffold's default shadcn palette with a 6-color natural
theme (cream paper, forest ink, moss, sage, tan, clay) derived from
reference designs, applied uniformly through the existing token
system so every shadcn component picks it up automatically.

Remove dark mode entirely: drop ThemeToggle, the theme-init script,
and the leftover dark: utility classes in the vendored button/badge
primitives, so there's no OS-dependent theme switching anywhere.

Add IBM Plex Mono for numeric data (stat counts, timestamps,
confidence) as a field-journal-style signature texture, and a small
illustrated hero band (hills/treeline/sun) on the overview page as
the one distinctive visual moment, matching the reference art without
overdoing it elsewhere.

Verified with a production build and repeated dev-server browser
testing across all three routes, including mobile viewport.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 22, 2026 21:42
@CalebLovell
CalebLovell merged commit 794a851 into main Jul 22, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a local-dev data seeding script for birds.db and refreshes the web-ui styling to a single natural palette while removing dark mode support across the UI.

Changes:

  • Add scripts/seed_test_data.py to generate realistic detection rows for local development.
  • Redesign web-ui styling with a unified palette + IBM Plex Mono for numeric/tabular data.
  • Remove dark mode (theme init script, toggle component, and remaining dark: Tailwind usages in UI primitives).

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
web-ui/src/styles.css Replaces prior theme tokens with a new natural palette, adds mono font token, and introduces tabular-data styling.
web-ui/src/routes/species.tsx Applies tabular-data styling to date/count cells for improved numeric alignment.
web-ui/src/routes/index.tsx Adds HeroBand and applies tabular-data styling to timestamps/confidence and stat card value.
web-ui/src/routes/detections.tsx Applies tabular-data styling to date/time/confidence cells.
web-ui/src/routes/__root.tsx Removes pre-hydration theme init script and suppressHydrationWarning now that dark mode is removed.
web-ui/src/components/ui/button.tsx Removes dark:-specific Tailwind classes from button variants.
web-ui/src/components/ui/badge.tsx Removes dark:-specific Tailwind classes from badge variants.
web-ui/src/components/ThemeToggle.tsx Deletes the theme toggle component (dark mode removal).
web-ui/src/components/HeroBand.tsx Adds the decorative SVG hero band for the overview page.
web-ui/src/components/Header.tsx Removes ThemeToggle usage from the header nav.
scripts/seed_test_data.py Adds a seeding script to generate realistic dev data in scripts/birds.db.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/seed_test_data.py
import os
import random
import sqlite3
from datetime import datetime, timedelta
Comment thread scripts/seed_test_data.py
return hour, minute, second


def build_row(day: datetime, common_name: str, sci_name: str, is_nocturnal: bool, override_time: datetime | None = None):
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