Commit Graph

5 Commits

Author SHA1 Message Date
florian.berthold efa05b2d44 Add bilingual description fields (description_de, description_en)
Species and Cultivar structs + SQL queries now support separate
German and English descriptions for the language toggle feature.
2026-03-15 12:56:59 +01:00
florian.berthold 14b63f00af Simplify species list filtering with IS NULL pattern
Replaced dynamic WHERE clause builder + macro with static SQL using
($N::type IS NULL OR column = $N) pattern. Always binds all 9 filter
params + limit/offset. Supports: family, search, plant_layer,
nitrogen_fixer, dynamic_accumulator, drought_tolerance, native_status,
min_nectar, min_bees.
2026-03-15 00:58:47 +01:00
florian.berthold 97f651572b Add 13 structured wildlife fields to Species API
nectar_value, pollen_value, wild_bee_count, wild_bee_specialist_count,
butterfly_moth_count, caterpillar_host_count, caterpillar_specialist_count,
hoverfly_count, beetle_count, bird_count, mammal_count, native_status, naturadb_tags
2026-03-15 00:55:29 +01:00
florian.berthold 42906efd90 Frontend overhaul: NetBox-style detail pages, selectable columns, data sources
- Cultivar/species detail pages rewritten with two-column card layout, attribute tables, em-dash placeholders
- Column toggle + per-page selector on all list pages (families, species, cultivars, suppliers)
- Species list: table/card view toggle with family, layer, N-fixer, uses columns
- Cultivar detail: supplier links with SKU/price/product URL, species info section
- Data sources page (/sources) with attribution for all 10 data sources
- Fixed Cultivar/Species structs with #[serde(default)] for API compatibility
- Added table_controls component (reusable column toggle + per-page selector)
- Removed max-width constraint on content area for full-width tables
- Fixed route conflicts: merged {slug}/{id} into single {ref} routes
- Removed PostgreSQL enum types (plant_layer, drought_tolerance, etc.) in favor of TEXT
- Fixed API per_page parameter support across all list endpoints
2026-03-15 00:53:06 +01:00
florian.berthold 484979ad53 Initial HerbAPI implementation
Rust/Axum REST API (herbapi-api) with PostgreSQL, S3/Garage, OIDC auth.
Dioxus 0.7 WASM frontend (herbapi-ui) with sidebar layout and botanical reference style.
9 SQL migrations covering families, species, cultivars, suppliers, companions, images, users, API tokens.
2026-03-14 00:02:29 +01:00