Skip to content

Add an Android app for viewing trips offline - #9

Merged
Torgh merged 1 commit into
mainfrom
mobile-app
Oct 16, 2026
Merged

Torgh merged 1 commit into
mainfrom
mobile-app

Conversation

@Torgh

@Torgh Torgh commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

A first version of TripDeck on the phone: a native Android app (Capacitor) that works fully offline, with no server or website.

  • Import: on the PC choose Export → JSON; on the phone tap Import trip file and pick the .tripdeck.json (OneDrive, Drive, Downloads, email). A newer export of the same trip replaces it. Trips are stored on the phone (Capacitor Preferences).
  • Day view: opens on today during the trip; swipe or use the date strip to change days. Shows times, travel between stops, where you wake up / check out / sleep, rentals in use and their return, booking references and prices, opening-hours and dive-safety warnings, and Ideas.
  • 🧭 Navigate: opens the Google Maps app with directions in the leg's travel mode.
  • Light and dark mode, Android back button, TripDeck launcher icon and splash screen.

Code

  • mobile/ – Vite + React UI; mobile/android/ – Capacitor Android project. capacitor.config.ts sits at the repo root because the Capacitor CLI must run next to package.json.
  • Shares lib/ (timeline, stays, rentals, dive safety). parseTripFile moved from the browser store into pure tripOps and gained keepId; the desktop behaviour is unchanged.
  • New lib/itinerary.ts (today's day, trip status, Maps link) with tests.
  • Scripts: bun run android, dev:mobile, build:mobile, icons:mobile. README updated.

Test plan

  • bun run check (typecheck, lint, 174 tests with coverage, Next build)
  • Built the APK and ran it on the Android 17 emulator: demo trip import, swiping between days, Ideas, no-fly warning, check-out strip, dark mode, back button, data kept after reinstall
  • Navigate hands Google Maps …/maps/dir/?api=1&destination=lat,lng&travelmode=driving (the emulator had no internet, so the route itself was not shown)
  • Import a real .tripdeck.json from OneDrive on a phone

🤖 Generated with Claude Code

mobile/ is a Vite + React app that Capacitor wraps into an Android APK.
It imports a trip from its .tripdeck.json export and shows it day by day
without a connection: times, travel between stops, stays, rentals,
bookings, opening-hours and dive-safety warnings, Ideas, and a Navigate
button that opens Google Maps. It reuses the trip logic in lib/.

- parseTripFile moves to tripOps (pure) and gains keepId, so the phone
  can replace a trip when a newer export is imported
- lib/itinerary.ts: today's day, trip status, Google Maps directions link
- launcher icons and splash screens generated from public/icon.svg
  (bun run icons:mobile)
- bun run android / dev:mobile / build:mobile, README section

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Torgh
Torgh merged commit c73a279 into main Oct 16, 2026
2 checks passed
@Torgh
Torgh deleted the mobile-app branch October 20, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant