diff --git a/README.md b/README.md index fb81840..484db92 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,31 @@ # mapix +![mapix screenshot](./screenshot.png) + A browser-based photo mapping prototype that reads EXIF/GPS data and shows images on OpenStreetMap. ## Features - Nextcloud public share import through a local proxy -- Client-side EXIF and GPS extraction -- Map markers with photo thumbnails -- Fullscreen photo viewer -- Timeline view with zoomable time ranges -- Progressive loading with cancel support +- Client-side EXIF and GPS extraction where possible +- Map markers with thumbnail previews +- Thumbnail-backed photo list with lazy full-size image loading +- Fullscreen photo viewer with loading state +- Zoomable timeline with selectable ranges +- Route line toggle on the map +- Dark and light mode that follows the client OS preference and can be toggled manually - Local browser dependency bundle for Leaflet and EXIF parsing +- Local brand assets and favicon + +## Recent Changes + +- Image handling now keeps thumbnails in the browser for markers and the photo list, while full-size images are loaded only on demand. +- The photo viewer now shows a loading indicator before the full image is ready. +- The sidebar header now includes the brand logo, and the logo switches with the active theme. +- The top-right controls include a route visibility toggle and a theme toggle with compact icon-only buttons. +- Browser dependencies and static assets are served locally to avoid CDN-related failures. +- The timeline keeps its selected range visible again during drag selection. +- The photo list now uses compact thumbnail tiles and stable wrapping for large result sets. ## Start @@ -25,4 +40,5 @@ npm start - Photos are not stored on the server. - The UI and processing run in the browser where possible. - Browser dependencies are installed through npm and copied into `dist/vendor` during `npm run build`; the runtime serves them locally instead of loading third-party CDNs. +- Static brand assets are copied from `src/assets` into `dist/assets` during the build. - Future auth can be forwarded by a reverse proxy via HTTP headers. diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..3c90016 Binary files /dev/null and b/screenshot.png differ