import type { Destination, TripItem } from "@/lib/types"; import { loadTrip, saveTrip } from "@/lib/tripStorage"; export function destToTripItem(d: Destination, months = 1): TripItem { return { slug: d.slug, name: d.name, country: d.country, emoji: d.emoji, cost: d.cost, months, note: "", }; } /** Merge destinations into local trip. Skips cities already present. */ export function mergeDestinationsIntoTrip( dests: Destination[], months = 1 ): { trip: TripItem[]; added: number; skipped: number } { const trip = loadTrip(); const existing = new Set(trip.map((t) => t.slug)); let added = 0; let skipped = 0; for (const d of dests) { if (existing.has(d.slug)) { skipped += 1; continue; } trip.push(destToTripItem(d, months)); existing.add(d.slug); added += 1; } if (added > 0) saveTrip(trip); return { trip, added, skipped }; }