From cdf36436220d065ba3031838288143089c51ed64 Mon Sep 17 00:00:00 2001 From: Haeri Kim Date: Sun, 14 Jun 2026 10:47:21 +0900 Subject: [PATCH] added edit page and revised edit form --- src/lib/shared/SearchInput.svelte | 127 ++++++++++++ src/lib/shared/countries.js | 25 +++ src/lib/stores/journalStore.js | 5 + src/lib/timeline/DeleteConfirm.svelte | 88 +++++++++ src/lib/timeline/EditForm.svelte | 268 ++++++++++++++++++++++++++ src/lib/timeline/JournalDetail.svelte | 33 ++-- src/lib/timeline/PhotoEditor.svelte | 189 ++++++++++++++++++ src/lib/timeline/TimelineCard.svelte | 23 +-- src/lib/timeline/TimelineView.svelte | 20 +- 9 files changed, 736 insertions(+), 42 deletions(-) create mode 100644 src/lib/shared/SearchInput.svelte create mode 100644 src/lib/shared/countries.js create mode 100644 src/lib/timeline/DeleteConfirm.svelte create mode 100644 src/lib/timeline/EditForm.svelte create mode 100644 src/lib/timeline/PhotoEditor.svelte diff --git a/src/lib/shared/SearchInput.svelte b/src/lib/shared/SearchInput.svelte new file mode 100644 index 0000000..bb8e0c7 --- /dev/null +++ b/src/lib/shared/SearchInput.svelte @@ -0,0 +1,127 @@ + + +
+ open = true} + onblur={onBlur} + /> + {#if open && filtered.length > 0} + + {/if} +
+ + diff --git a/src/lib/shared/countries.js b/src/lib/shared/countries.js new file mode 100644 index 0000000..a6401c4 --- /dev/null +++ b/src/lib/shared/countries.js @@ -0,0 +1,25 @@ +export const countryCodeMap = { + 'Argentina': 'AR', 'Australia': 'AU', 'Austria': 'AT', + 'Belgium': 'BE', 'Brazil': 'BR', + 'Canada': 'CA', 'Chile': 'CL', 'China': 'CN', 'Croatia': 'HR', + 'Czech Republic': 'CZ', 'Denmark': 'DK', 'Egypt': 'EG', + 'Finland': 'FI', 'France': 'FR', 'Germany': 'DE', 'Greece': 'GR', + 'Hungary': 'HU', 'India': 'IN', 'Indonesia': 'ID', 'Italy': 'IT', + 'Japan': 'JP', 'Kenya': 'KE', + 'Malaysia': 'MY', 'Mexico': 'MX', 'Morocco': 'MA', + 'Netherlands': 'NL', 'New Zealand': 'NZ', 'Norway': 'NO', + 'Peru': 'PE', 'Poland': 'PL', 'Portugal': 'PT', + 'Singapore': 'SG', 'South Africa': 'ZA', 'South Korea': 'KR', + 'Spain': 'ES', 'Sweden': 'SE', 'Switzerland': 'CH', + 'Taiwan': 'TW', 'Thailand': 'TH', 'Turkey': 'TR', + 'UK': 'GB', 'USA': 'US', 'Vietnam': 'VN', +}; + +export const countryNames = Object.keys(countryCodeMap).sort(); + +/** @param {string} country */ +export function flagEmoji(country) { + const code = countryCodeMap[country]; + if (!code) return ''; + return [...code].map(c => String.fromCodePoint(0x1F1E6 - 65 + c.charCodeAt(0))).join(''); +} diff --git a/src/lib/stores/journalStore.js b/src/lib/stores/journalStore.js index 1ef37c9..fe2c673 100644 --- a/src/lib/stores/journalStore.js +++ b/src/lib/stores/journalStore.js @@ -116,3 +116,8 @@ export function addJournal(entry) { export function removeJournal(id) { journals.update((entries) => entries.filter((e) => e.id !== id)); } + +/** @param {JournalEntry} updated */ +export function updateJournal(updated) { + journals.update((entries) => entries.map((e) => e.id === updated.id ? updated : e)); +} diff --git a/src/lib/timeline/DeleteConfirm.svelte b/src/lib/timeline/DeleteConfirm.svelte new file mode 100644 index 0000000..b602869 --- /dev/null +++ b/src/lib/timeline/DeleteConfirm.svelte @@ -0,0 +1,88 @@ + + + + + diff --git a/src/lib/timeline/EditForm.svelte b/src/lib/timeline/EditForm.svelte new file mode 100644 index 0000000..cd1f52f --- /dev/null +++ b/src/lib/timeline/EditForm.svelte @@ -0,0 +1,268 @@ + + +
+ +
+
+ +
+ Edit +
+ +
+
+ +
+
{ e.preventDefault(); save(); }}> + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + +
+
+ + (photos = p)} /> + +
+ + +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + diff --git a/src/lib/timeline/JournalDetail.svelte b/src/lib/timeline/JournalDetail.svelte index cf28b8e..6508741 100644 --- a/src/lib/timeline/JournalDetail.svelte +++ b/src/lib/timeline/JournalDetail.svelte @@ -1,19 +1,16 @@ +{#if showDeleteConfirm} + showDeleteConfirm = false} /> +{/if} + {#if lightboxSrc}
- - + +
+ + {#if photos.length === 0} + + {:else} +
+ {#each photos as src, i (src + i)} +
+ photo {i + 1} + +
+ {/each} + + +
+ {/if} + + + diff --git a/src/lib/timeline/TimelineCard.svelte b/src/lib/timeline/TimelineCard.svelte index b649034..166e5fc 100644 --- a/src/lib/timeline/TimelineCard.svelte +++ b/src/lib/timeline/TimelineCard.svelte @@ -1,28 +1,9 @@