- plant_detail.html: add card photos section with crop_thumbnail link (above photo gallery), satisfying test_card_button_shown_when_card_photos_exist
- identify_fields.html: replace Bootstrap data-bs-toggle dropdown with plain HTML <select> + onchange form submit, styled with Tailwind
- test_views.py: remove test_indoor_filter which tested ?filter=indoor that no longer exists
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers visual system (Tailwind, Great Vibes/Timeless font, coral palette),
5-tab bottom nav, all screen designs, Location.cover_photo model change,
and file change summary.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds /locations/ page with full CRUD for plant areas. Edit redirects
to dedicated form; delete unlinks plants and shows confirm dialog if
area has plants. Gear icon in plant list filter bar links to management.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Small Google favicon icon next to the scientific name (falls back to
plant name if no species). Opens google.com/search in a new tab.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
xcaddy build with caddy-dns/cloudflare for DNS-01 TLS. Host network mode
so Caddy can reach other Docker stacks on localhost. Designed as general
reverse proxy — add new site blocks to Caddyfile for future services.
Deployed to dockerhost:/home/stephan/stacks/caddy/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Done items stay open in Forgejo until Naomi ticks the new Verified
checkbox in Notion. Shows '⏳ Awaiting Naomi's verification' or
'✅ Verified by Naomi' in the issue body accordingly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Extract image_url from Pl@ntNet API response (medium size). Show thumbnail
in each match card on identify_confirm. On plant creation, download the
selected match's reference image and save as PlantPhoto thumbnail. Scan
photos saved as gallery photos (non-thumbnail) with fallback to first scan
photo as thumbnail when Pl@ntNet has no image.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Idempotent sync via notion-id marker in issue body.
Initial 10 issues already created from BloomBase Notion workspace.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rename Django project module plantdb/ → bloombase/, update all
references in manage.py, docker-compose.yml, wsgi/asgi/settings.
Replace PlantDB with BloomBase in all template titles and navbar.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Temp images uploaded during Pl@ntNet identification are now copied to
PlantPhoto records when the plant is created in step 3. First image is
auto-set as thumbnail. Temp files still deleted after transfer.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Nav '+' button now links to identify_upload instead of plant_add
- Remove Perenual toggle, results section, and 'Also search Perenual'
link from species_results partial
- Wrap Plant card / Crop thumbnail / Delete plant buttons in flex
container for consistent mobile alignment
- Fix pre-existing test assertion to match actual crop-thumbnail URL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>