{item.name}
{/* ★ why·audience 는 첫 장만 — 다 채우면 같은 문구가 이틀·사흘 반복된다. */} {first && item.audience &&{item.audience}
} {first && item.why &&{item.why}
} {/* ★ 출발지 — 첫 장만(위 audience·why 와 같은 규칙). day.from 은 planDay 가 계산한 출발 시각(item.startTime)이라 시간표의 첫 줄과 정확히 이어진다. */} {first &&{placeName}에서 출발 · {day.from}
}-
{day.stops.map((planned, index) => (
-
{/* 시각 열 — 왼쪽에 붙어 정렬돼야 '시간표'로 읽힌다. */}
{planned.time}
{/*
★ 정거장 사이를 벌린다 (2026-09-09, 간격 감사)
pb-2 였을 때 정거장 사이가 13px 인데 정거장 **안**의 줄간격이 10px 이라,
둘이 거의 같아 시간표가 한 덩이 글로 뭉갰다 — 어디까지가 한 정거장인지
눈으로 안 갈렸다. 안(10px)보다 뚜렷하게 넓어야 목록으로 읽힌다.
★ 사이를 선으로 끊지 않는다. 왼쪽 `border-l` 이 이미 하루를 잇는 세로 레일이라
가로 선을 더하면 레일이 토막나고, 시간표가 아니라 표가 된다.
*/}
{planned.move > 0 &&
↓ {planned.move}분 이동
}{/* 사진은 있을 때만. 없으면 빈 회색 상자 대신 활자만 선다(이 팩의 규칙). */} {planned.stop.imageUrl && ()}
{planned.stop.name} {planned.stop.note && ( {planned.stop.note} )} {planned.time}–{planned.until} {planned.stop.searchQuery && ` · 지도 검색 ${planned.stop.searchQuery}`}
))}