mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-13 07:40:59 +00:00
37a4e84360
"Add to Apple Wallet" on a booking in the iOS app turns it into a TREK pass: a boarding pass from and to for flights, trains, buses and boats, check-in and check-out for a stay, pickup and drop-off for a car, the time for anything else, with the confirmation code as a QR code. Wallet brings it up on the lock screen around its time and place: times carry the offset of the endpoint's zone (looked up from the coordinates where the endpoint has none), stays and restaurants their place's coordinates. The labels come from the booking forms' own strings, so nothing new to translate on the pass. Only liketrek holds the Pass Type ID certificate, so the server sends the pass's texts to the TREK services' signer (TREK_WALLET_PASS_URL, push.liketrek.com) once per tap; it stores nothing, and TREK_SERVICES=off turns it off with the other services. Texts are cleaned of links and shortened here, the answer must be a .pkpass within 512 KB, and a user gets 20 passes a minute. - New wallet-pass domain: GET /api/trips/:tripId/reservations/:id/wallet-pass behind the trip guard, the booking checked to belong to the trip; trip title and place come from the reservations domain (findPassContext) - MWalletButton in the transport and booking sheets, only where the app binary has the wallet feature; undated bookings and failures are told apart - TREK_WALLET_PASS_URL in .env.example, compose, Helm and the wiki
78 lines
3.5 KiB
JSON
78 lines
3.5 KiB
JSON
{
|
|
"components/Admin/GitHubPanel.tsx": 3,
|
|
"components/Admin/PluginPoiCategoryList.tsx": 1,
|
|
"components/Admin/useCategoryAdmin.ts": 1,
|
|
"components/Budget/CostsPanel.tsx": 1,
|
|
"components/Budget/CostsToolbar.tsx": 1,
|
|
"components/Collab/CollabNotesFilePreviewPortal.tsx": 3,
|
|
"components/Collections/AddPlaceToCollectionModal.tsx": 1,
|
|
"components/Collections/BulkAssignLabelModal.tsx": 1,
|
|
"components/Collections/CollectionPicker.tsx": 1,
|
|
"components/Collections/ImportCollectionModal.tsx": 1,
|
|
"components/Collections/MoveToListModal.tsx": 1,
|
|
"components/Collections/SaveTripPlacesToListModal.tsx": 1,
|
|
"components/Dawarich/DawarichAtlasSidePanel.tsx": 1,
|
|
"components/Files/FileManagerImageLightbox.tsx": 1,
|
|
"components/Files/FileManagerRow.tsx": 3,
|
|
"components/Files/FileManagerToolbar.tsx": 1,
|
|
"components/Help/HelpNav.tsx": 1,
|
|
"components/Journey/journeyPhotoLayer.ts": 2,
|
|
"components/Map/DawarichTrailLayer.tsx": 1,
|
|
"components/Map/dawarichTrail.ts": 10,
|
|
"components/Map/markerLook.ts": 1,
|
|
"components/Map/useDawarichTrailGL.ts": 1,
|
|
"components/Packing/PackingBringersCard.tsx": 1,
|
|
"components/Planner/DayReorderPopup.tsx": 1,
|
|
"components/Planner/bookings/bookingsModel.ts": 1,
|
|
"components/Planner/bookings/transitParts.tsx": 1,
|
|
"components/Planner/usePlaceForm.ts": 1,
|
|
"components/Roadtrip/RangeStrip.tsx": 1,
|
|
"components/Roadtrip/RoadtripAlternativesBar.tsx": 1,
|
|
"components/Roadtrip/RoadtripCategoryPicker.tsx": 2,
|
|
"components/Roadtrip/RoadtripCorridorPanel.tsx": 3,
|
|
"components/Roadtrip/RoadtripSidebarStopRows.tsx": 4,
|
|
"components/Roadtrip/RoadtripTrackModal.tsx": 1,
|
|
"components/Roadtrip/StopKindPicker.tsx": 2,
|
|
"components/Roadtrip/dayColors.ts": 8,
|
|
"components/Roadtrip/nightBookend.ts": 1,
|
|
"components/Roadtrip/stopKinds.ts": 1,
|
|
"components/Settings/AboutTab.tsx": 5,
|
|
"components/Settings/AccountTab.tsx": 2,
|
|
"components/Settings/AppearanceSettingsTab.tsx": 1,
|
|
"components/Settings/PasskeysSection.tsx": 1,
|
|
"components/Studio/BookSheetsView.tsx": 1,
|
|
"components/Studio/PhotoView.tsx": 1,
|
|
"components/Studio/SpreadView.tsx": 1,
|
|
"components/Studio/StudioElementsPanel.tsx": 2,
|
|
"components/Studio/StudioSwatches.tsx": 1,
|
|
"components/Studio/TravelElements.tsx": 3,
|
|
"components/Studio/peerColour.ts": 1,
|
|
"components/Studio/printSheets.ts": 4,
|
|
"components/Studio/travel/badgeLook.ts": 2,
|
|
"components/Trips/TripMemberAvatar.tsx": 2,
|
|
"components/Vacay/VacayPersons.tsx": 1,
|
|
"components/shared/DialogShell.tsx": 2,
|
|
"components/shared/PasswordChecklist.tsx": 2,
|
|
"mobile/components/MSheet.tsx": 1,
|
|
"mobile/components/MWalletButton.tsx": 1,
|
|
"mobile/screens/atlas/MAtlas.tsx": 1,
|
|
"mobile/screens/atlas/MAtlasCountryPopup.tsx": 2,
|
|
"mobile/screens/atlas/MAtlasSearch.tsx": 1,
|
|
"mobile/screens/collections/MCollEditSheet.tsx": 2,
|
|
"mobile/screens/collections/MCollPlaceSheet.tsx": 2,
|
|
"mobile/screens/collections/MCollShareSheet.tsx": 1,
|
|
"mobile/screens/collections/collectionsMobileModel.ts": 15,
|
|
"mobile/screens/dashboard/MDashboard.tsx": 3,
|
|
"mobile/screens/journey/MJourney.tsx": 2,
|
|
"mobile/screens/trip/roadtrip/MRoadtripRows.tsx": 2,
|
|
"mobile/screens/trip/roadtrip/MRtAlternativesBar.tsx": 1,
|
|
"mobile/screens/trip/roadtrip/MRtCorridorSheet.tsx": 1,
|
|
"mobile/screens/trip/roadtrip/MRtKindSheet.tsx": 1,
|
|
"mobile/screens/trip/roadtrip/MRtStopSheet.tsx": 1,
|
|
"mobile/screens/trip/sheets/MCostSheet.tsx": 1,
|
|
"pages/AtlasPage.tsx": 1,
|
|
"pages/admin/AdminUserModals.tsx": 1,
|
|
"pages/sharedTrip/SharedChrome.tsx": 4,
|
|
"pages/sharedTrip/SharedMap.tsx": 2
|
|
}
|