fix(roadtrip): the hotel at the edge of a day stands, drives and reads right

A hotel row now takes its position and name from the trip's place instead of the stay
row, which the planner fetches again only when a stay is edited. A moved pin no longer
seats the hotel at its old spot while the server plans from the new one. The drive out
of the morning hotel goes the way the first place is reached from it, the mode Days
draws that leg in, and it is set in the shared rule so the browser and
calculate_roadtrip agree.

On the rail, a hotel row that took in the morning marker starts the line. A day that
only drives from one stay to the next shows no stop count and takes a dropped stop as
its first. The hotel keeps its pin on the desktop map, and the switch explains itself
under its label and to screen readers. On the phone, the note about figures set on the
desktop now sits above the switch it does not cover. The hint and the refusal on the
hotel's drive say what they mean in all 23 languages. The via tools and the wiki say
that a via into a booked night is kept but not used, the wiki states the overlap rule
Days applies, and the arrived-from branch of the via anchor has tests.
This commit is contained in:
Maurice
2026-09-23 15:29:44 +02:00
parent 05651eed1a
commit e6e520b78f
46 changed files with 547 additions and 111 deletions
+3 -2
View File
@@ -115,7 +115,8 @@ const roadtrip: TranslationStrings = {
'roadtrip.line.dayColors': 'لون لكل يوم',
'roadtrip.line.hint': 'يحسب أيضًا المسافة بين يومين ويحتسبها على يوم الوصول.',
'roadtrip.line.hotelBookends': 'ابدأ كل يوم وأنهِه في مكان إقامتك',
'roadtrip.line.hotelBookendsHint': 'بعد ليلة محجوزة يبدأ اليوم حيث نمت، وقبل ليلة محجوزة ينتهي هناك.',
'roadtrip.line.hotelBookendsHint':
'بعد ليلة محجوزة يبدأ اليوم من مكان الإقامة ذاك، وقبل ليلة محجوزة ينتهي في مكان الإقامة المحجوز لتلك الليلة.',
'roadtrip.avoid.section': 'التجنب قدر الإمكان',
'roadtrip.avoid.toll': 'الطرق ذات الرسوم',
'roadtrip.avoid.motorway': 'الطرق السريعة',
@@ -289,6 +290,6 @@ const roadtrip: TranslationStrings = {
'roadtrip.bookend.from': 'من {name}',
'roadtrip.bookend.back': 'العودة إلى {name}',
'roadtrip.bookend.checkIn': 'تسجيل الوصول · {name}',
'roadtrip.bookend.noVia': 'يبقى الطريق من مكان إقامتك وإليه كما هو.',
'roadtrip.bookend.noVia': 'لا يمكن وضع نقطة عبور على الطريق من مكان إقامتك أو إليه. أضف توقفاً هناك بدلاً من ذلك.',
};
export default roadtrip;