import { writable } from 'svelte/store'; /** * @typedef {{ * id: string, * title: string, * date: string, * location: { country: string, city: string }, * photos: string[], * song: { title: string, artist: string }, * tripType: 'solo' | 'friends', * days: number, * memo: string * }} JournalEntry */ /** @type {JournalEntry[]} */ const mockEntries = [ { id: '1', title: 'First Day in Tokyo', date: '2024-03-15', location: { country: 'Japan', city: 'Tokyo' }, photos: [ 'https://images.unsplash.com/photo-1540959733332-eab4deabeeaf?w=600&q=80', 'https://images.unsplash.com/photo-1513407030348-c983a97b98d8?w=600&q=80', 'https://images.unsplash.com/photo-1490806843957-31f4c9a91c65?w=600&q=80', ], song: { title: 'Tokyo', artist: 'Imagine Dragons' }, tripType: 'solo', days: 5, memo: 'Got completely lost in Shinjuku — stumbled into a tiny ramen shop with no English menu. The chashu just melted. Worth every wrong turn.', }, { id: '2', title: 'Arashiyama Bamboo Grove', date: '2024-03-18', location: { country: 'Japan', city: 'Kyoto' }, photos: [ 'https://images.unsplash.com/photo-1528360983277-13d401cdc186?w=600&q=80', 'https://images.unsplash.com/photo-1545569341-9eb8b30979d9?w=600&q=80', ], song: { title: 'Spirited Away Suite', artist: 'Joe Hisaishi' }, tripType: 'friends', days: 3, memo: 'Arrived at 6am before the crowds. Just me and the wind moving through the bamboo. One of those moments you keep coming back to.', }, { id: '3', title: 'Sunset on Montmartre', date: '2024-06-02', location: { country: 'France', city: 'Paris' }, photos: [ 'https://images.unsplash.com/photo-1502602898657-3e91760cbb34?w=600&q=80', 'https://images.unsplash.com/photo-1499856871958-5b9627545d1a?w=600&q=80', 'https://images.unsplash.com/photo-1511739001486-6bfe10ce785f?w=600&q=80', ], song: { title: 'La Vie en Rose', artist: 'Édith Piaf' }, tripType: 'solo', days: 7, memo: 'Watched the whole city turn orange from the steps of Sacré-Cœur. A street musician was playing La Vie en Rose. Cliché, perfect.', }, { id: '4', title: 'Inside La Sagrada Família', date: '2024-06-10', location: { country: 'Spain', city: 'Barcelona' }, photos: [ 'https://images.unsplash.com/photo-1523531294919-4bcd7c65e216?w=600&q=80', 'https://images.unsplash.com/photo-1583422409516-2895a77efded?w=600&q=80', ], song: { title: 'Spain', artist: 'Chick Corea' }, tripType: 'friends', days: 4, memo: 'Nothing prepares you for the light inside. The stained glass turns the whole nave into a kaleidoscope. Gaudí was building a forest.', }, { id: '5', title: 'Central Park in Fall', date: '2023-10-20', location: { country: 'USA', city: 'New York' }, photos: [ 'https://images.unsplash.com/photo-1534430480872-3498386e7856?w=600&q=80', 'https://images.unsplash.com/photo-1485871981521-5b1fd3805345?w=600&q=80', 'https://images.unsplash.com/photo-1522083165195-3424ed129620?w=600&q=80', ], song: { title: 'New York, New York', artist: 'Frank Sinatra' }, tripType: 'friends', days: 6, memo: 'Peak foliage. Joggers, picnics, a guy playing saxophone near Bethesda Fountain. Hard to believe a city this big wraps around this much quiet.', }, { id: '6', title: 'Wat Pho Reclining Buddha', date: '2024-01-08', location: { country: 'Thailand', city: 'Bangkok' }, photos: [ 'https://images.unsplash.com/photo-1563492065599-3520f775eeed?w=600&q=80', 'https://images.unsplash.com/photo-1552465011-b4e21bf6e79a?w=600&q=80', ], song: { title: 'Elephant', artist: 'Tame Impala' }, tripType: 'solo', days: 2, memo: 'Stood in front of the 45m golden Buddha for a long time. The mother-of-pearl inlay on the soles of the feet is impossibly detailed.', }, ]; export const journals = writable(mockEntries); /** @param {Omit} entry */ export function addJournal(entry) { journals.update((entries) => [...entries, { ...entry, id: crypto.randomUUID() }]); } /** @param {string} id */ export function removeJournal(id) { journals.update((entries) => entries.filter((e) => e.id !== id)); }