Commit graph

564 commits

Author SHA1 Message Date
Daniel Friesel
901cfc50d8 connection view: small QoS icons, order by priority 2020-03-03 19:34:14 +01:00
Daniel Friesel
e6b74ef087 show QoS pictograms in connection list 2020-03-03 18:29:37 +01:00
Daniel Friesel
adaf9f7c0c landingpage: API also supports checkin 2020-02-26 20:38:01 +01:00
Daniel Friesel
5c05ed609f journey details: show route on map if available 2020-02-23 19:04:05 +01:00
Daniel Friesel
cb53a18898 Release v1.15 2020-02-20 21:02:52 +01:00
Daniel Friesel
32a68b46f1 add _cancelled_departure template
was missing from cc7439dd5e
2020-02-20 20:59:29 +01:00
Daniel Friesel
57f686b688 allow showing past journeys on shared status page 2020-02-19 20:58:38 +01:00
Daniel Friesel
cc7439dd5e handle departure cancellation after checkin 2020-02-17 21:13:07 +01:00
Daniel Friesel
a1865fa69e add privacy setting for showing history and latest arrival timestamp 2020-02-14 16:29:44 +01:00
Daniel Friesel
6cbbc2b16f avoid stale data when marking cancelled arrivals 2020-02-13 18:35:42 +01:00
Daniel Friesel
a830acc698 Handle cancelled arrival at checkout when departure at checkin is not cancelled 2020-02-12 20:38:24 +01:00
Daniel Friesel
3ddd1a1cf4 Improve map performance by passing actual polylines for train routes 2020-02-07 23:19:01 +01:00
Daniel Friesel
5392f654e2 disclaimer 2020-02-04 18:20:25 +01:00
Daniel Friesel
ea05b0629a update autocomplete list 2020-02-01 16:20:10 +01:00
Daniel Friesel
eb3f4aed05 allow checkin and checkout station to be edited 2020-02-01 16:15:20 +01:00
Daniel Friesel
aa7a7db2bc map: show polylines by default 2020-01-31 18:16:00 +01:00
Daniel Friesel
993f6be6c9 map: set bounds on stations; move polyline feature to staging 2020-01-29 18:48:58 +01:00
Daniel Friesel
6b1aa9cd39 Release import API 2020-01-28 20:32:39 +01:00
Daniel Friesel
78c80d773c new asset version 2020-01-28 20:27:14 +01:00
Daniel Friesel
bd8a825138 Add aria labels where needed, commit 1 of many (#37) 2020-01-28 20:26:15 +01:00
Daniel Friesel
47171500b7 fix bugs related to users without past journeys 2020-01-27 20:25:02 +01:00
Daniel Friesel
556bafffcf more API documentation 2020-01-26 16:12:31 +01:00
Daniel Friesel
d7c69acf41 import API: route -> intermediateStops 2020-01-26 10:50:21 +01:00
Daniel Friesel
c31254e996 import API: Add deprecated field, remove development check 2020-01-26 10:47:51 +01:00
Daniel Friesel
ce6237b9fb status API: nextStops -> intermediateStops; documentation 2020-01-26 09:59:45 +01:00
Daniel Friesel
384dc57291 Surely a little bit of colour won't hurt. 2020-01-25 17:01:35 +01:00
Daniel Friesel
1028e47a35 map: list skipped journeys 2020-01-25 14:55:51 +01:00
Daniel Friesel
ee1285e8fa map: support multiple polyline groups with different colors 2020-01-25 14:41:33 +01:00
Daniel Friesel
c6a0c76092 checked in view: Add details panel 2020-01-09 18:13:37 +01:00
Daniel Friesel
873a4dc082 map: show checkin and checkout location 2020-01-08 21:31:28 +01:00
Daniel Friesel
8f79a004fd public status card: fix map link 2020-01-08 20:33:45 +01:00
Daniel Friesel
2aba2b6522 move links to card-actions for public, hide in app view for now 2020-01-08 19:12:03 +01:00
Daniel Friesel
9697279aeb add links to complete route and map for checked-in trains 2020-01-08 19:01:19 +01:00
Daniel Friesel
f99e069928 Move ICE names to a separate JSON file 2020-01-06 17:59:40 +01:00
Daniel Friesel
62b68b5010 map ICE train numbers to names where possible 2020-01-04 18:48:46 +01:00
Daniel Friesel
a9a7fa4492 Release Travel API 2019-12-31 13:27:14 +01:00
Daniel Friesel
86a991c28c always show QoS messages in public status 2019-12-31 13:04:03 +01:00
Knuspel
bf86fb95f4 changed color of symbol in legend 2019-12-29 15:39:21 +01:00
Daniel Friesel
0ec82a5102 map: improve line color 2019-12-28 22:21:17 +01:00
Daniel Friesel
97d771f55e Formulierungsdetails 2019-12-28 15:02:03 +01:00
Knuspel
eec69680c4 Added note about Trainnumbers for non DB trains. 2019-12-28 14:36:52 +01:00
Daniel Friesel
74a1f731c8 Use #travelynx hashtag 2019-12-28 11:03:03 +01:00
Daniel Friesel
d9126b927f fix connections display 2019-12-26 22:48:50 +01:00
Daniel Friesel
f2f58ab507 Changelog / v1.12 2019-12-26 17:30:06 +01:00
Daniel Friesel
e7f278574f more travel API documentation 2019-12-20 18:33:59 +01:00
Daniel Friesel
11a2e94a04 travel API: more helpful errors on invalid input 2019-12-20 16:39:15 +01:00
Daniel Friesel
bd372d57e2 Travel API: Add "deprecated" field 2019-12-20 16:23:41 +01:00
Daniel Friesel
d0589781be account: use correct token type for travel API 2019-12-20 16:23:05 +01:00
Daniel Friesel
2831fbdfb7 public status card: link to marudor.de for train details 2019-12-20 14:51:50 +01:00
Daniel Friesel
837e3a949e move wagon group display to sub-template 2019-12-19 20:25:38 +01:00
Daniel Friesel
e0a2b9aa26 save all the wagon orders we can get 2019-12-19 20:16:10 +01:00
Daniel Friesel
69f961a23c disable import and checkin API endpoints in production mode 2019-12-19 19:20:06 +01:00
Daniel Friesel
ae21896982 API: Add lax option 2019-12-17 20:01:39 +01:00
Daniel Friesel
7ae60f2ea4 Travel API: comment support 2019-12-14 23:46:36 +01:00
Daniel Friesel
46fc64de48 Add travel (checkin/checkout/undo) API 2019-12-14 21:53:23 +01:00
Daniel Friesel
5fe4174feb Add API entry point for journey import 2019-12-14 20:46:02 +01:00
Daniel Friesel
1d589fa0b7 departures: show orientation bar dividing past from future 2019-12-14 08:52:44 +01:00
Daniel Friesel
fc9595e99c improve wagon output in journey details 2019-12-14 06:47:21 +01:00
Daniel Friesel
22b0e98b9c preliminary wagon view 2019-12-13 17:59:12 +01:00
Daniel Friesel
875dd4e0b5 confirm undo of checkins after 15 minutes 2019-12-08 21:04:34 +01:00
Daniel Friesel
315a94affe allow a journey's cancellation status to be edited
Closes #27
2019-12-08 19:46:45 +01:00
Daniel Friesel
561ff4574b Allow status visibility to be limited to travelynx users 2019-12-08 11:06:17 +01:00
Daniel Friesel
2bee9077ba account: typo 2019-12-08 10:32:07 +01:00
Daniel Friesel
17ce377307 release v1.11 2019-12-06 21:56:19 +01:00
Daniel Friesel
ededbef98f use comment in share text (if public) 2019-12-06 21:56:06 +01:00
Daniel Friesel
fb126c6928 optionally show journey comment in public user status
Closes #19
2019-12-06 21:44:31 +01:00
Daniel Friesel
094c536eb4 Allow comments to be entered while still in transit 2019-12-06 21:40:51 +01:00
Daniel Friesel
424897fcc3 improve cancellation mark in connections overview 2019-11-27 18:32:13 +01:00
Daniel Friesel
0e2e8cd78e history map: Add checkbox to display manually added journeys 2019-11-27 18:26:15 +01:00
Daniel Friesel
5e03718f14 public_status_card: fix uninitialized value warning 2019-11-26 18:35:51 +01:00
Daniel Friesel
4f0fee7783 show cancelled trains in connections list 2019-11-25 21:18:57 +01:00
Daniel Friesel
b3b0a055b9 improve get_user_travels performance, most notably when rendering map
only create DateTime objects when needed
2019-11-24 20:29:52 +01:00
Daniel Friesel
57f47d2a3c allow routes to be edited after recording a journey 2019-11-20 17:41:21 +01:00
Daniel Friesel
b80613b8a8 allow route input when adding journeys manually (#26) 2019-11-19 19:46:39 +01:00
Daniel Friesel
13e59b3aa1 add journey: make realtime data optional (default to schedule data)
Closes #25
2019-11-18 21:02:57 +01:00
Daniel Friesel
ff2a3afe34 Release v1.10
Release early, release often
2019-11-18 17:40:35 +01:00
Daniel Friesel
563ceb131e history_map: note that inconsistent and manually entered routes are special
See #26
2019-11-18 17:33:15 +01:00
Daniel Friesel
783a540cb0 history map: show time range; handle users with no journeys 2019-11-16 23:47:18 +01:00
Daniel Friesel
733fe2d853 map: add legend, link to history map from history page 2019-11-16 15:57:09 +01:00
Daniel Friesel
45f747961e map: add station names to points 2019-11-16 14:50:07 +01:00
Daniel Friesel
0bfb71d78d add map view of past journeys. unfinished and unreferenced. 2019-11-16 00:01:50 +01:00
Daniel Friesel
35e9dae349 include URL in copied share text if enabled 2019-11-14 18:23:21 +01:00
Daniel Friesel
3e61b9de48 Copy share text to clipboard if sharing API is unavailable
Closes #24
2019-11-14 17:47:06 +01:00
Daniel Friesel
4483073539 update asset version 2019-10-30 20:46:19 +01:00
Daniel Friesel
b05b535ae7 remove 'next stop' header to align with JS 2019-10-30 20:45:51 +01:00
Daniel Friesel
663b4dc6d8 live update of next station via javascript 2019-10-29 21:18:46 +01:00
Daniel Friesel
780cdafcf5 show related stations in departure list 2019-10-19 10:15:18 +02:00
Daniel Friesel
daa05870fd improve undo/share button layout on small screens
should fix #22
2019-10-14 15:45:10 +02:00
Daniel Friesel
6d45533c14 mark cancelled stops in checkin view 2019-10-04 23:27:45 +02:00
Daniel Friesel
3582ba317b checked in view: link to marudor.de detail view for wagon order 2019-09-20 19:39:14 +02:00
Daniel Friesel
1cb26e2053 handle substitute connections in passenger rights form 2019-09-18 20:21:16 +02:00
Daniel Friesel
8e6ee729e0 passengerrights: improve support for cancelled trains
To do: also do so in form generation
2019-09-18 18:19:54 +02:00
Daniel Friesel
aac8e2a0e1 Save scheduled arrival time for cancelled trains 2019-09-18 18:08:06 +02:00
Daniel Friesel
2075c89655 landingpage: Add passengerrights support 2019-09-16 17:20:37 +02:00
Daniel Friesel
b8f00bcf98 make 'missed connection' passengerrights message less confusing 2019-09-15 15:58:15 +02:00
Daniel Friesel
5f7933cffb pasengerrights: link to both journeys on connection miss 2019-09-14 12:32:28 +02:00
Daniel Friesel
35cc18dfae add passenger rights heuristic for missed connections 2019-09-13 23:39:28 +02:00
Daniel Friesel
29d99fe140 show arrival times in destination selection 2019-09-13 11:54:19 +02:00
Daniel Friesel
c891da97fb Explicitly set passenger rights form filename 2019-09-12 18:23:23 +02:00
Daniel Friesel
0822cfc993 add auto-generated passenger rights forms 2019-09-12 18:07:21 +02:00
Daniel Friesel
628a5c705b turn force checkout into a proper button 2019-08-25 09:00:59 +02:00
Daniel Friesel
74f2132c2e declutter Checked In-panel 2019-08-23 22:54:59 +02:00
Daniel Friesel
a40aa1936b Allow comments to be edited 2019-08-23 12:02:22 +02:00
Daniel Friesel
f6d56d3134 Add proper journey comment support 2019-08-23 10:34:02 +02:00
Daniel Friesel
d08c1ead33 update autocomplete station list 2019-08-22 13:41:31 +02:00
Daniel Friesel
c9592e3f76 show boarding countdown in departure overview 2019-08-06 20:21:57 +02:00
Daniel Friesel
0439aa8b02 use the same direction for wagon order and direction indicator 2019-08-03 15:09:15 +02:00
Daniel Friesel
a48352ada4 also show train direction on departure 2019-08-03 12:35:47 +02:00
Daniel Friesel
b12b5a821b Show departures of all linked stations
Not well-tested yet, deployment will have to wait a bit. Issue #15
2019-07-14 21:29:52 +02:00
Daniel Friesel
8e5a8fad93 indicate whether a connecting train is cancelled or not 2019-07-07 08:10:05 +02:00
Daniel Friesel
29958c1968 wagon order detail has been deployed on marudor.de 2019-06-25 20:19:45 +02:00
Daniel Friesel
7ef47cdbf9 wagon order: link to marudor.de for details 2019-06-24 21:11:02 +02:00
Daniel Friesel
36121ccffc show wagon order before departure 2019-06-24 18:02:45 +02:00
Daniel Friesel
590b27f2ca also show exit direction for regional trains at select stations 2019-06-23 18:46:25 +02:00
Daniel Friesel
b3b0823829 show exit direction on kopfgleis platforms 2019-06-22 17:02:04 +02:00
Daniel Friesel
ee24664ee9 make share button link to status page if share API is unavailable 2019-06-19 21:04:36 +02:00
Daniel Friesel
c35548e909 re-phrase auto checkout notice 2019-06-10 19:22:41 +02:00
Daniel Friesel
b54c977e08 increase checkout delay to work around IRIS information lag 2019-06-10 18:09:54 +02:00
Daniel Friesel
2d250d02bc use a distinct 'offline' icon 2019-06-05 18:49:13 +02:00
Daniel Friesel
7be3a4219e checked in: Show QoS messages before departure and HIM messages at all times 2019-06-04 21:12:36 +02:00
Daniel Friesel
ac3abd5c51 v1.7 2019-06-01 12:08:00 +02:00
Daniel Friesel
b1591eed54 show current/next stop while checked in 2019-05-31 20:18:22 +02:00
Daniel Friesel
155f9f39cc use journey-specific status links -> one twitter card per journey 2019-05-29 20:01:52 +02:00
Daniel Friesel
146b3a2682 add twitter preview tags to public user status page 2019-05-29 18:11:25 +02:00
Daniel Friesel
22eee81c1c fix email fields in dark mode 2019-05-28 22:24:44 +02:00
Daniel Friesel
7fe95532c1 Use JSON for messages and route storage, prepare for extended route data 2019-05-26 17:28:21 +02:00
Daniel Friesel
45a4089431 Handle missing platform numbers 2019-05-25 23:04:36 +02:00
Daniel Friesel
302a6a144e Remove apple-mobile-web-app-capable tag to work around Safari session issues
iOS Safari does not send session cookies when following links to PWAs using
the apple-mobile-web-app-capable tag. This is not documented on
<https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html>,
though I can't say whether it is a bug in Safari or lacking documentation.

See <https://github.com/foosel/OctoPrint/issues/1792> for a more detailed
description of this type of issue.
2019-05-25 13:21:03 +02:00
Daniel Friesel
1dc04eb45a show journey suggestions on departure board as well 2019-05-20 19:15:21 +02:00
Daniel Friesel
8a43c4073f changelog 2019-05-19 10:37:59 +02:00
Daniel Friesel
d9d3aac792 allow checkin from connections view 2019-05-19 10:32:57 +02:00
Daniel Friesel
7960114f71 Work in progress: show connections when arriving soon
At the moment, the heuristic used to determine connection targets is quite
simple: $station is a target iff there were at least two trips in the past
6 weeks with checkin at the current destination station and checkout at
$station.

Todo / enhanhement options:

* Consider current origin station as well, i.e.: $station is a target
  iff there were at least two trips in the past 6 weeks which are preceded by
  a trip from the current origin station and (same as above)
* Make connection links clickable once the current journey has ended.
  Connections need to be added to _checked_out as well for this to work.
2019-05-19 08:55:23 +02:00
Daniel Friesel
e68043b8fb Show arrival/departure platform in journey card 2019-05-18 17:10:53 +02:00
Daniel Friesel
b4676c11fb Fix progress bar colours 2019-05-18 10:16:49 +02:00
Daniel Friesel
b9f8d536b5 fix input background color in dark theme 2019-05-18 08:49:28 +02:00
Daniel Friesel
99d0339602 changelog 2019-05-18 08:32:49 +02:00
Daniel Friesel
c3071d54eb Merge branch 'marudor-darkMode' 2019-05-18 08:31:13 +02:00
Daniel Friesel
2107c0bbaf release new asset version 2019-05-18 08:30:36 +02:00
Daniel Friesel
283f5aad04 remove debug output 2019-05-18 08:29:39 +02:00
Daniel Friesel
fa98aba3d3 Pre-select theme css in backend 2019-05-18 08:23:59 +02:00
Daniel Friesel
3668c69d1f correctly show departure station in cancelled view 2019-05-16 20:51:31 +02:00
Daniel Friesel
681ecabdf6 Provide light theme by default, avoid re-styling unless dark theme is active
This eliminates a large portion of main-thread work on page load
2019-05-16 20:39:54 +02:00
Daniel Friesel
6457ef2f9d fix typo in color scheme preference query 2019-05-16 20:32:58 +02:00
marudor
84b32b28e9
Further color improvements 2019-05-16 16:10:53 +02:00
marudor
87e74ca90d
Add color switcher to toolbar 2019-05-16 15:22:47 +02:00
marudor
5c2388d3a2
Add dark mode (only available with prefers-color-scheme currently) 2019-05-16 15:04:08 +02:00
Daniel Friesel
b85db3a10d Show web-hook test result immediately after saving it
Closes #12
2019-05-14 20:05:45 +02:00
Daniel Friesel
5c3a0a562a oops 2 (asset release) 2019-05-12 11:48:17 +02:00
Daniel Friesel
e171616c6f oops 2019-05-12 11:46:55 +02:00
Daniel Friesel
82297687ed social sharing for current journey 2019-05-12 11:44:28 +02:00
Daniel Friesel
42eafec28d update landingpage 2019-05-11 15:45:16 +02:00
Daniel Friesel
48fede41aa checked in: clarify checkout / update actions 2019-05-11 15:42:10 +02:00
marudor
94febe86cd
Release version 19, fix asset-release for macos 2019-05-11 12:51:41 +02:00
marudor
d2f01f963a
Do not nag directly for geolocation 2019-05-11 12:43:13 +02:00
Daniel Friesel
098d02972a switch to a less generic icon 2019-05-11 11:52:47 +02:00
Daniel Friesel
93c6e85f60 footer: Link to "about" page for travelynx 2019-05-11 10:10:07 +02:00
Daniel Friesel
736e36d45c account: fix uninitialized value warning 2019-05-11 01:42:14 +02:00
Daniel Friesel
b0397e50b4 add custom not_found and exception templates 2019-05-11 01:29:21 +02:00
Daniel Friesel
fc4cfade14 version bump 2019-05-10 19:07:37 +02:00
Daniel Friesel
269b8536f4 Add webhook to account page 2019-05-10 19:03:18 +02:00
Daniel Friesel
25c460a34a public status: Do not overwrite line name 2019-05-10 18:16:45 +02:00
Daniel Friesel
f6800c8668 javascript-based refresh of journey progress and countdown 2019-05-10 17:58:13 +02:00
Daniel Friesel
374da87182 hide status countdown when offline 2019-05-09 18:14:16 +02:00
Daniel Friesel
76bd6763df only show loading animation on links without custom animation 2019-05-07 17:56:40 +02:00
Daniel Friesel
bd676674e9 always show navbar, even when scrolling 2019-05-06 18:14:30 +02:00
Daniel Friesel
18df44cc71 add loading indicator to nav 2019-05-06 18:07:53 +02:00
Daniel Friesel
2ddab75644 basic webhook support, onwards to betatesting 2019-05-06 16:59:48 +02:00
Daniel Friesel
b36ba45aef WiP webhook support 2019-05-05 18:09:11 +02:00
Daniel Friesel
55581d1f25 update asset version 2019-05-05 12:41:06 +02:00
Daniel Friesel
4696f8d68e update material icons 2019-05-04 08:55:21 +02:00
Daniel Friesel
507ed344c3 checked in view: update sync_problem marker color 2019-05-04 08:30:18 +02:00
Daniel Friesel
a7b899dcc0 migrate to jQuery 3 2019-05-04 08:30:05 +02:00
Daniel Friesel
2810eb490c do not mange journey edit link on small devices 2019-05-03 21:39:50 +02:00
Daniel Friesel
1694026c86 add a description 2019-05-03 21:13:22 +02:00
Daniel Friesel
cdbb3ee45b use versioning for service worker and web app manifest 2019-05-03 21:02:24 +02:00
Daniel Friesel
5178e58c0c add apple mobile web app foo 2019-05-03 20:59:14 +02:00
Daniel Friesel
709919a962 Experimental PWA support (#13) 2019-05-03 20:43:46 +02:00
Daniel Friesel
9f3b80a859 use /account/... links for mail/password change 2019-05-03 18:57:24 +02:00
Daniel Friesel
03a6780405 checked_in menu: purple, not green 2019-05-03 18:34:18 +02:00
Daniel Friesel
545796c4a1 changelog: Do not include imprint 2019-05-03 12:31:57 +02:00
Daniel Friesel
973cccd494 checkin: lighter background color, more prominent destination selection 2019-05-03 10:49:14 +02:00
Daniel Friesel
bf2dae7c45 Add changelog 2019-05-03 10:32:58 +02:00
Daniel Friesel
be1e5dda23 Public API documentation 2019-05-02 11:29:43 +02:00
Daniel Friesel
3068652d35 oops 2019-05-02 10:24:05 +02:00
Daniel Friesel
3de5de7db2 Finish public-facing exposed user status (opt-in) 2019-05-02 10:05:15 +02:00
Daniel Friesel
1bf128936d account: move edit links to the left 2019-05-02 09:13:21 +02:00
Daniel Friesel
f0d61a4083 Prepare settings and templates for opt-in public travel status 2019-04-30 23:23:49 +02:00
Daniel Friesel
ddea9abc6e show imprint/privacy/version on all public-facing pages 2019-04-30 18:24:30 +02:00
Daniel Friesel
2d7c75f877 show imprint and version on landing page 2019-04-30 18:18:09 +02:00
Daniel Friesel
048767149e use a separate table for registration tokens 2019-04-30 18:05:07 +02:00
Daniel Friesel
99aa3a4a0d Implement deletion of inactive accounts 2019-04-30 12:48:23 +02:00
Daniel Friesel
867a5d4afb allow users to change their mail address
Closes #6
2019-04-30 12:08:51 +02:00
Daniel Friesel
4ad1a1d20e Move invalid input errors into common sub-template 2019-04-30 10:46:46 +02:00
Daniel Friesel
25d0530e86 Add password reset functionality
Closes #5
2019-04-29 20:12:59 +02:00
Daniel Friesel
fd6d12d355 Handle inconsistent data when calculating monthly/yearly stats
Closes #11
2019-04-28 22:33:09 +02:00
Daniel Friesel
cc1a620041 checked_in: make sync-failed marker less obtrusive 2019-04-27 10:48:47 +02:00
Daniel Friesel
d6e6c9992e History: Only show months and years with logged journeys 2019-04-27 09:11:42 +02:00
Daniel Friesel
8c1888263b show marker when unable to sync 2019-04-26 22:27:07 +02:00
Daniel Friesel
e07063c52c Add manual journey entry
Closes #3
2019-04-26 19:53:01 +02:00
Daniel Friesel
1e2e33399f checked_in: distinguish between unknown and not-yet-known arrival 2019-04-25 07:52:51 +02:00
Daniel Friesel
35b3fc44e9 history: Use buttons for links 2019-04-24 15:15:53 +02:00
Daniel Friesel
aa0f9fdeea show recent delay/qos messages in checked_in view 2019-04-24 14:58:08 +02:00
Daniel Friesel
501038ce11 _checked_in: Do not skip last two minutes of departure countdown 2019-04-24 12:15:26 +02:00
Daniel Friesel
b992a6dc75 $render(status => ...) is a special variable. derp. 2019-04-24 09:00:30 +02:00
Daniel Friesel
14d2dd52eb _checked_out: Link to destination station 2019-04-24 07:58:22 +02:00
Daniel Friesel
49f81c0c52 oops 2019-04-24 07:52:37 +02:00
Daniel Friesel
def2fedf98 _checked_in: Clarify checkout/interchange UI 2019-04-24 07:50:31 +02:00
Daniel Friesel
e726d076c3 _checked_in: Fix misleading output on arrival_countdown == 0 2019-04-24 07:38:45 +02:00
Daniel Friesel
438319e63a Bump API to v1 2019-04-24 07:34:41 +02:00
Daniel Friesel
79dcd4677e _checked_in: Fix uninitialized value warning 2019-04-23 23:03:02 +02:00
Daniel Friesel
6c1cae86f4 Primitive auto-refresh of current journey status
Todo: Redirect user to destination station upon arrival
2019-04-23 22:27:13 +02:00
Daniel Friesel
ffaa0c44a7 Automatic checkout \o/ 2019-04-23 21:30:31 +02:00
Daniel Friesel
5af134ef1e landingpage: Fix plural for "0 minutes" 2019-04-23 20:00:03 +02:00
Daniel Friesel
e168d9cd39 Use one row per journey instead of split checkin/checkout entries
Whether a user is in transit or not is now determined by an entry in the
in_transit table instead of a dangling checkin.

All completed journeys are stored in the "journeys" table.

This does most of the work needed for automatic checkout. However, note that
the corresponding worker process is not implemented yet.
2019-04-23 18:08:07 +02:00
Daniel Friesel
07c6e8878b journey detail: gps_off -> location_off 2019-04-21 17:25:22 +02:00
Daniel Friesel
78b2d995ef Ignore stations without coordinates in distance calculation
Reported by @marudor
2019-04-21 15:46:19 +02:00
Daniel Friesel
c6812f6083 Print db and host in development mode 2019-04-13 18:59:46 +02:00
Daniel Friesel
80a6317ac5 Use travelynx.conf for configuration and secrets
This avoids having to specify secrets in the environment, where they can leak
easily.
2019-04-13 12:18:26 +02:00
Daniel Friesel
9df9f7c845 edit journey: use link to cancel
This bypasses form element validation, which doesn't make sense for
"cancel edit"
2019-04-13 10:45:57 +02:00
Daniel Friesel
1ee185d26b work-in-progress manual journey entry. incomplete and not enabled yet. 2019-04-13 10:43:05 +02:00
Daniel Friesel
863a33b111 landingpage: Fix typo in required form element tag 2019-04-11 20:42:38 +02:00
Daniel Friesel
40d926e62d decrease minimum history width by hiding train number if line is available 2019-04-11 18:09:02 +02:00
Daniel Friesel
e91c540c8e history: Show time next to station 2019-04-10 17:51:51 +02:00
Daniel Friesel
bba6721754 Allow journey editing, keep track of edited journey attributes
Provides a workaround for #2
2019-04-09 18:37:21 +02:00
Daniel Friesel
c0c7b1a589 Work-in-progress journey editor. Not ready for deployment. 2019-04-08 21:20:04 +02:00
Daniel Friesel
beb17acb84 Prepare forms for manual journey entry and editing 2019-04-07 20:20:37 +02:00
Daniel Friesel
d4269a8fe4 journey: Fix typo in HTML tag 2019-04-07 19:19:50 +02:00
Daniel Friesel
ffee7177ac Refactor history template, add yearly stats 2019-04-07 18:44:33 +02:00
Daniel Friesel
216dd7c7ad history: Fix missing months for users registered on the 29th/30th/31st 2019-04-06 23:57:54 +02:00
Daniel Friesel
a1109bfce0 landingpage: Features++ 2019-04-06 21:32:18 +02:00
Daniel Friesel
4e33f1e706 hide unimplemented API endpoints in account view 2019-04-06 21:23:21 +02:00
Daniel Friesel
4e7f7a1d0e detect development mode for travelynx_dev* databases 2019-04-06 21:21:35 +02:00
Daniel Friesel
1405eb6ea3 Add password change form 2019-04-06 11:20:10 +02:00
Daniel Friesel
e2598df25b Allow journey deletion
See issue #3
2019-04-04 18:26:53 +02:00
Daniel Friesel
8883b02fe4 register: Explicitly state that the account was not created 2019-04-02 20:10:55 +02:00
Daniel Friesel
68718860e2 login, register; Do not doule-nest row/col classes 2019-04-02 19:40:04 +02:00
Daniel Friesel
d90734e2ec about: Add contact link 2019-04-01 20:59:03 +02:00
Daniel Friesel
335ab8209f statistics: Add interchange wait time and journey count 2019-04-01 20:28:06 +02:00
Daniel Friesel
3ce1cfc55f Select journeys by ID 2019-03-31 19:32:41 +02:00
Daniel Friesel
a8a3aa17ce Perform undo by deleting the erroneous database entry 2019-03-31 08:45:51 +02:00
Daniel Friesel
df34c58cc5 history: move time column next to date 2019-03-28 19:21:52 +01:00
Daniel Friesel
eb929811b2 add per-month links to history 2019-03-27 21:46:52 +01:00
Daniel Friesel
343e9ef20c history: more smartphone-friendly 2019-03-27 21:26:37 +01:00
Daniel Friesel
1aa5e786ed add history per month 2019-03-27 21:20:59 +01:00
Daniel Friesel
a30970eb8b distinguish prod/dev in nav bar 2019-03-25 21:34:49 +01:00
Daniel Friesel
0a9d2e4c88 journey: show average speed 2019-03-20 18:33:51 +01:00
Daniel Friesel
2366b193fe journey: show distance 2019-03-20 18:20:23 +01:00
Daniel Friesel
2e1cf30231 Show negative delay as "-X", not "+-X" 2019-03-20 17:50:14 +01:00
Daniel Friesel
0226713c1d use camelCase instead of snake_case in public API 2019-03-20 17:45:41 +01:00
Daniel Friesel
531f3b0a68 show cancelled trains in history 2019-03-19 21:23:06 +01:00
Daniel Friesel
01df965d66 support logging of cancelled journeys 2019-03-19 18:20:05 +01:00
Daniel Friesel
25f75928e7 add marker for cancelled departures 2019-03-19 17:17:53 +01:00
Daniel Friesel
9c32677365 API: Status: group properties, add station UIC/lon/lat 2019-03-19 17:02:30 +01:00
Daniel Friesel
56342f21d2 demand a valid password for account deletion 2019-03-18 18:55:39 +01:00
Daniel Friesel
07b3ea19a6 never call get_user_data directly 2019-03-18 18:49:00 +01:00
Daniel Friesel
b15d3456ac journey view: Move line break inside of message loop 2019-03-17 18:36:29 +01:00
Daniel Friesel
11d77d4bb9 add journey detail view 2019-03-17 18:34:33 +01:00
Daniel Friesel
629ca9e9f6 Show backend errors on station selection page 2019-03-16 21:49:47 +01:00
Daniel Friesel
42bb5cc493 add autocomplete for station form 2019-03-16 21:37:57 +01:00
Daniel Friesel
c8f9fc901b allow manual input of station name
Closes #1
2019-03-16 21:33:19 +01:00
Daniel Friesel
26da2b598c landing page: I can haz API! 2019-03-16 14:36:35 +01:00
Daniel Friesel
2bc167da9e Account: Wording 2019-03-16 14:17:02 +01:00
Daniel Friesel
d6264b5ca8 Add JSON API 2019-03-16 13:56:56 +01:00
Daniel Friesel
532fadabb4 fix failraptor.png for guests. derp. 2019-03-12 22:09:16 +01:00
Daniel Friesel
6ac88f4018 implement account deletion 2019-03-12 21:49:26 +01:00
Daniel Friesel
2604abad4e Allow two regstration attempts per mail 2019-03-11 17:17:15 +01:00
Daniel Friesel
558585895f oops 2019-03-10 19:34:10 +01:00
Daniel Friesel
5970a5a350 redirect users after login to protected page 2019-03-10 19:32:45 +01:00
Daniel Friesel
3ae14d47f9 add JSON export for history 2019-03-09 14:35:23 +01:00
Daniel Friesel
6f1b488d26 Slightly more helpful texts for checkin/checkout pages 2019-03-09 12:17:59 +01:00
Daniel Friesel
0f51f40661 show separate errors for 'invalid credentials' and 'not confirmed yet' 2019-03-09 08:40:46 +01:00
Daniel Friesel
844a95f77f registration form: note that user name must be alphanumeric 2019-03-09 08:30:18 +01:00
Daniel Friesel
98fc5a3aba add password manager hints to login/registration forms 2019-03-08 21:07:54 +01:00
Daniel Friesel
13d81d72ee show hint in case of geolocation error 2019-03-08 19:40:57 +01:00
Daniel Friesel
a0040bceb6 checkout UX 2019-03-08 19:12:45 +01:00
Daniel Friesel
c2be5fe97b account: Note that deletion is not implemented yet 2019-03-08 19:12:32 +01:00
Daniel Friesel
42385e4d55 add link to github issues 2019-03-08 19:12:23 +01:00
Daniel Friesel
ff6a7512d5 do not allow multiple pending registrations for one mail 2019-03-08 18:52:12 +01:00
Daniel Friesel
6e961420aa departures: Add hint (tap == checkin) 2019-03-08 18:02:18 +01:00
Daniel Friesel
da4f532fb3 add logout link to account page 2019-03-08 17:59:48 +01:00
Daniel Friesel
6f4a5cef71 add intro blurb and login/register links for landing page 2019-03-08 17:16:19 +01:00
Daniel Friesel
bf4ccb0eab Logout: Use a POST form as it's a stateful action 2019-03-08 16:54:54 +01:00
Daniel Friesel
fd60839116 switch from HTTP Auth to Cookie Auth 2019-03-07 18:36:11 +01:00
Daniel Friesel
ba6b517e5b working registration and verification 2019-03-06 20:48:21 +01:00
Daniel Friesel
8057c16cc4 enable form validation for login page 2019-03-05 22:18:11 +01:00
Daniel Friesel
4dc0a90ef8 register: Add simple client-side validation 2019-03-05 18:29:25 +01:00
Daniel Friesel
8d353fcf9d registration: more error handling 2019-03-05 18:19:14 +01:00
Daniel Friesel
a47d76958c Use proper Mojolicious input fields (-> no need to re-type everything on errors) 2019-03-04 19:28:57 +01:00
Daniel Friesel
5b523ff2f0 prepare registration support 2019-03-04 19:22:40 +01:00
Daniel Friesel
8adca327fd prepare DB schema for public registration 2019-03-04 18:17:03 +01:00
Daniel Friesel
3096091f11 do not show username in navbar (won't fit on small screens otherwise) 2019-03-04 17:14:03 +01:00
Daniel Friesel
40fe8db0c4 Add account info and data export 2019-03-03 22:35:20 +01:00
Daniel Friesel
41076aafd5 history: Fix typo in HTML element name 2019-03-03 22:19:57 +01:00
Daniel Friesel
833c8878d1 add logout link 2019-03-03 21:46:06 +01:00
Daniel Friesel
c6532906df add imprint 2019-03-02 18:12:10 +01:00
Daniel Friesel
856a66c0be implement user/password/csrf checks for login form 2019-03-02 18:08:48 +01:00
Daniel Friesel
d32c2ad1b9 prepare account support 2019-02-22 21:56:19 +01:00
Daniel Friesel
b41a64bd7f add undo for checkouts 2018-11-02 22:29:12 +01:00
Daniel Friesel
f87306dc34 allow undo for checkins 2018-11-02 21:35:53 +01:00
Daniel Friesel
95cbc500ae Minify JS 2018-10-21 16:27:32 +02:00