Commit graph

10 commits

Author SHA1 Message Date
b4ed4812fc Show the deployed build version in the app
Bakes the git short commit hash into the client bundle at build time and
exposes the same info from the server via GET /api/version. The header
displays the loaded build's commit and flags when it no longer matches
what the server is running, so a stale open tab is easy to spot after a
deploy. The Docker build now includes .git so the hash can be resolved
during the image build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 12:12:30 +02:00
0b73929fea Allow moving a saved city's pin to update its coordinates
In edit mode, the coordinate text is replaced with a small map showing
a draggable marker; dropping it autosaves the new lat/lng. Name and
country stay editable via text fields only. New-city creation still
uses the search box and shows plain coordinates.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-28 21:12:51 +02:00
11b6d493e7 Make CityTracker installable as a PWA
Adds a web app manifest, Workbox service worker (via vite-plugin-pwa),
and placeholder icons so the app can be installed to a home screen /
app window. App shell is precached for offline load; API and upload
requests stay network-only so city data and photos are never served
stale. Desktop browser access is unaffected.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 17:16:25 +02:00
1cb9a2e133 Streamline UI: hide map filters on mobile, icon-only buttons, collapse multilingual country names
Reduces clutter on small screens and in the header/toolbar by trimming labels down to icons, and shows a single primary country name instead of full slash-separated translations.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 14:48:45 +02:00
8d4448b28c Add admin backup export/import
Admins can export all cities, users, links, participants, and photos
as a zip for backups, and restore from one later. Import replaces all
existing data and clears sessions, so the admin has to log back in
afterward.
2026-07-21 20:38:37 +02:00
9b35f6222f Add a city list view
New nav item between Map and Users shows every tracked city as a
table (photo, name, country, status, visit dates, co-travellers),
ordered with planned trips first and newest visits on top within
each group.
2026-07-21 20:23:14 +02:00
3555972bfd Open add-city form only via the Add city button, not map clicks
Map clicks were navigating straight to the new-city form, which made it
easy to open by accident while panning/zooming.
2026-07-21 20:09:18 +02:00
ce16de8504 Autosave city form, heart-style likes, social link handles, map polish
- Admin: allow editing a user's display name
- Map: zoom to ~500km around the most recently added city on load;
  marker popups show the photo and links, and fix the unreadable
  black-on-black "View details" button
- City form: autosave on every change (debounced for text, immediate
  for status/heart/participants) instead of an explicit Save button;
  a new city is created as soon as name, country, and location are set
- Replace the "Liked" checkbox with a heart toggle (outline vs. filled)
- Links: add a platform selector (Instagram/X/Facebook/TikTok/YouTube/
  LinkedIn) so a handle auto-generates the profile URL, alongside plain
  website links; links autosave too, no separate Save button

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-20 21:24:47 +02:00
3debb1ce1e Add CityTracker v1: map-based city tracker with multi-user support
React/Vite frontend and Express/SQLite backend for tracking visited and
planned cities on a map, with per-city notes, photos, links, and
participant-based sharing between family members. Includes session auth
with admin-managed user accounts, an OSM/Nominatim geocoding proxy, and a
single-image Docker deployment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-20 20:29:25 +02:00
65c41d594b Initial commit 2026-07-20 15:06:56 +00:00