{#if isWarningModalOpen} (isWarningModalOpen = false)} on:confirm={deleteTransportation} /> {/if} {#if routeGeojson} {:else} {/if} {#if transportation.is_public} {:else} {/if} {#if transportation.type} {$t(`transportation.modes.${transportation.type}`)} {getTransportationIcon(transportation.type)} {/if} {transportation.name} goto(`/transportations/${transportation.id}`)} > {#if !readOnly && (transportation.user === user?.uuid || (collection && user && collection.shared_with?.includes(user.uuid)))} { if (isActionsMenuOpen) { isActionsMenuOpen = false; return; } closeAllTransportationMenus(); isActionsMenuOpen = true; }} > { isActionsMenuOpen = false; editTransportation(); }} class="flex items-center gap-2" > {$t('transportation.edit')} {#if itineraryItem && itineraryItem.id} {#if !itineraryItem.is_global} { isActionsMenuOpen = false; dispatch('moveToGlobal', { type: 'transportation', id: transportation.id }); }} class=" flex items-center gap-2" > {$t('itinerary.move_to_trip_context') || 'Move to Trip Context'} { isActionsMenuOpen = false; changeDay(); }} class=" flex items-center gap-2" > {$t('itinerary.change_day')} {/if} { isActionsMenuOpen = false; removeFromItinerary(); }} class="text-error flex items-center gap-2" > {#if itineraryItem.is_global} {$t('itinerary.remove_from_trip_context') || 'Remove from Trip Context'} {:else} {$t('itinerary.remove_from_itinerary')} {/if} {/if} { isActionsMenuOpen = false; isWarningModalOpen = true; }} > {$t('adventures.delete')} {/if} {#if routeFromLabel || routeToLabel} {#if routeFromLabel} {routeFromLabel} {/if} {#if routeFromLabel && routeToLabel} → {/if} {#if routeToLabel} {routeToLabel} {/if} {#if hasCodePair && transportation.type === 'plane' && transportation.flight_number} {transportation.flight_number} {/if} {/if} {#if transportation.date} {#if isAllDay(transportation.date) && (!transportation.end_date || isAllDay(transportation.end_date))} {formatAllDayDate(transportation.date)} {#if transportation.end_date && transportation.end_date !== transportation.date} → {formatAllDayDate(transportation.end_date)} {/if} {:else} Departure {formatDateInTimezone(transportation.date, transportation.start_timezone)} {#if hasCodePair} {transportation.start_code} → {transportation.end_code} {/if} {getTimezoneLabel(transportation.start_timezone)} {#if hasExpandableDetails} (showMoreDetails = !showMoreDetails)} type="button" > {showMoreDetails ? ($t('common.show_less') ?? 'Hide details') : ($t('common.show_more') ?? 'Show more')} {/if} {#if showMoreDetails && hasExpandableDetails} {#if transportation.end_date} Arrival {formatDateInTimezone( transportation.end_date, transportation.end_timezone ?? transportation.start_timezone )} {getTimezoneLabel( transportation.end_timezone ?? transportation.start_timezone )} {/if} {/if} {/if} {/if} {#if transportationPriceLabel} 💰 {transportationPriceLabel} {/if} {#if transportation.distance && !isNaN(+transportation.distance)} 🌍 {user?.measurement_system === 'imperial' ? `${toMiles(transportation.distance)} mi` : `${(+transportation.distance).toFixed(1)} km`} {/if} {#if travelDurationLabel} ⏱️ {travelDurationLabel} {/if} {#if transportation.rating} {#each renderStars(transportation.rating) as filled} {#if filled} {:else} {/if} {/each} ({transportation.rating}/5) {/if}