diff --git a/src/lib/components/MemoryCard.svelte b/src/lib/components/MemoryCard.svelte new file mode 100644 index 0000000..dc548a0 --- /dev/null +++ b/src/lib/components/MemoryCard.svelte @@ -0,0 +1,70 @@ + + +
+
+ + {#if !image} +
+ +
+ {/if} +
+
+

{destination}

+

{startDate} - {endDate}

+
+
+ + \ No newline at end of file diff --git a/src/lib/components/Nav.svelte b/src/lib/components/Nav.svelte index b5194d9..92f9b95 100644 --- a/src/lib/components/Nav.svelte +++ b/src/lib/components/Nav.svelte @@ -1,37 +1,48 @@ @@ -114,11 +135,59 @@ opacity: 1; } + .dropdown { + position: absolute; + top: 3.5rem; + right: 2rem; + background: var(--white); + border: 1px solid var(--gray-200); + border-radius: 0.5rem; + padding: 0.5rem 0; + z-index: 999; + display: flex; + flex-direction: column; + min-width: 150px; + } + + .dropdown button { + background: none; + border: none; + padding: 0.75rem 1rem; + font-size: 0.9rem; + text-align: left; + color: var(--black); + cursor: pointer; + transition: background 0.2s ease; + } + + .dropdown button:hover { + background-color: var(--gray-100); + } + + nav.dark-mode .dropdown { + background: var(--gray-900); + border: 1px solid var(--gray-700); + } + + nav.dark-mode .dropdown button { + color: var(--white); + } + + nav.dark-mode .dropdown button:hover { + background-color: var(--gray-800); + } + nav.dark-mode { background-color: var(--black); border-bottom: 1px solid var(--gray-200); } + nav.dark-mode .logo { + font-size: 1.5rem; + font-weight: bold; + color: var(--white); + } + nav.dark-mode .menu button { color: var(--gray-400); } diff --git a/src/lib/components/NewMemoryPopup.svelte b/src/lib/components/NewMemoryPopup.svelte index fa185db..6772114 100644 --- a/src/lib/components/NewMemoryPopup.svelte +++ b/src/lib/components/NewMemoryPopup.svelte @@ -66,6 +66,10 @@ return selectedLocation === 'custom'; } + function removeImage(imageToRemove: File) { + images = images.filter(img => img !== imageToRemove); + } + let showLocationError = false; let showImageError = false; @@ -155,6 +159,7 @@
{#each images as img}
+ {img.name}

{img.name}

@@ -286,6 +291,7 @@ } .preview-item { + position: relative; width: 80px; display: flex; flex-direction: column; @@ -305,6 +311,22 @@ color: var(--gray-400); } + .delete-button { + position: absolute; + top: 4px; + right: 4px; + background: rgba(38, 38, 38, 0.5); + border: none; + color: var(--white); + border-radius: 50%; + width: 18px; + height: 18px; + font-size: 0.9rem; + cursor: pointer; + z-index: 2; + } + + .drop-area { width: 100%; min-height: 120px; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index c2ff168..919fecf 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -17,7 +17,7 @@
-