feat: Firebase integration, 3-step new trip form, full country list, and UI polish

- Connect Firestore for journal entries and visited countries (real-time onSnapshot)
- Connect Firebase Storage for photo uploads
- Add NewEntryForm: 3-step flow (trip details → photos → reflection questions)
- Expand country list to full world-atlas dataset (~240 countries) matching the map
- Filter city suggestions by selected country in both NewEntryForm and EditForm
- Redesign StatsPanel as floating horizontal card with donut chart and progress bar
- Center timeline layout with responsive side margins
- Replace "entry" language with "trip" throughout (Add trip, Save trip, Delete trip)
- Remove footer from Layout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
haerikimmm
2026-06-15 19:15:31 +09:00
parent 40e75f30e8
commit dd7932ea4e
12 changed files with 884 additions and 544 deletions

View File

@@ -4,7 +4,7 @@
<div class="overlay" role="dialog" aria-modal="true">
<div class="dialog">
<h2 class="title">Delete entry?</h2>
<h2 class="title">Delete trip?</h2>
<p class="body">
<strong>{entry.location.cities.join(', ')}, {entry.location.country}</strong>{entry.date.slice(0, 4)} will be permanently removed.
</p>