mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-21 14:21:46 +00:00
feat: optimize routes around accommodation, confirm note deletions (#1123)
Optimize day routes around the accommodation
When a day has an accommodation set, the route optimizer now treats it as
the day's home base: it optimizes a loop that leaves the hotel and returns
to it, so the stop nearest the hotel comes first. On a transfer day -
checking out of one hotel and into another - the route runs from the first
hotel to the second instead.
The optimizer also gained a 2-opt pass on top of the nearest-neighbor
ordering, which removes the crossings the greedy pass used to leave behind.
A new display setting ("optimize route from accommodation", on by default)
lets you turn the anchoring off.
Confirm before deleting notes
Deleting a plan note or a collab note now asks for confirmation first. On
phones and tablets the edit and delete icons sit close together and were
easy to mis-tap, which deleted notes with no way back.
This commit is contained in:
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'キャンセル',
|
||||
'collab.notes.edit': '編集',
|
||||
'collab.notes.delete': '削除',
|
||||
'collab.notes.confirmDeleteTitle': 'メモを削除しますか?',
|
||||
'collab.notes.confirmDeleteBody': 'このメモは完全に削除されます。',
|
||||
'collab.notes.pin': '固定',
|
||||
'collab.notes.unpin': '固定を解除',
|
||||
'collab.notes.daysAgo': '{n}日前',
|
||||
|
||||
@@ -8,6 +8,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'この場所には固定時刻({time})があります。移動すると時刻が削除され、自由に並び替えできます。',
|
||||
'dayplan.confirmRemoveTimeAction': '時刻を削除して移動',
|
||||
'dayplan.confirmDeleteNoteTitle': 'メモを削除しますか?',
|
||||
'dayplan.confirmDeleteNoteBody': 'このメモは完全に削除されます。',
|
||||
'dayplan.cannotDropOnTimed': '時刻指定の項目の間には配置できません',
|
||||
'dayplan.cannotBreakChronology': '時刻指定の項目や予約の時系列が崩れます',
|
||||
'dayplan.addNote': 'メモを追加',
|
||||
@@ -28,6 +30,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.routeError': 'ルートの計算に失敗しました',
|
||||
'dayplan.toast.needTwoPlaces': 'ルート最適化には2つ以上の場所が必要です',
|
||||
'dayplan.toast.routeOptimized': 'ルートを最適化しました',
|
||||
'dayplan.toast.routeOptimizedFromHotel': '宿泊先を起点にルートを最適化しました',
|
||||
'dayplan.toast.noGeoPlaces': '座標付きの場所がありません',
|
||||
'dayplan.confirmed': '確定',
|
||||
'dayplan.pendingRes': '保留',
|
||||
|
||||
@@ -64,6 +64,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'地図に駅・空港名を表示。オフ時はアイコンのみ。',
|
||||
'settings.blurBookingCodes': '予約コードをぼかす',
|
||||
'settings.optimizeFromAccommodation': '宿泊先を起点にルートを最適化',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'その日を最適化する際、朝に目覚める宿泊先を起点にし、その晩にチェックインする宿泊先を終点としてルートを組みます。',
|
||||
'settings.notifications': '通知',
|
||||
'settings.notifyTripInvite': '旅行の招待',
|
||||
'settings.notifyBookingChange': '予約の変更',
|
||||
|
||||
Reference in New Issue
Block a user