diff --git a/src/App.svelte b/src/App.svelte index d3d6df7..d6a918d 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,5 +1,5 @@
diff --git a/src/lib/Counter.svelte b/src/lib/Counter.svelte deleted file mode 100644 index 20bf4c9..0000000 --- a/src/lib/Counter.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/src/lib/JournalDetail.svelte b/src/lib/JournalDetail.svelte deleted file mode 100644 index a00c0b0..0000000 --- a/src/lib/JournalDetail.svelte +++ /dev/null @@ -1,313 +0,0 @@ - - -
- - - - {#if entry.photos.length > 0} - - {/if} - -
-
- 📍 {entry.location.city}, {entry.location.country} - - {entry.tripType === 'solo' ? '🧍 Solo' : '👥 With Friends'} - -
- -

{entry.title}

- -
-
- Date - -
-
-
- Duration - {entry.days} {entry.days === 1 ? 'day' : 'days'} -
-
- -
-

{entry.memo}

-
- -
- -
- Soundtrack - {entry.song.title} - {entry.song.artist} -
-
-
-
- - diff --git a/src/lib/TimelineView.svelte b/src/lib/TimelineView.svelte deleted file mode 100644 index 25a2e6d..0000000 --- a/src/lib/TimelineView.svelte +++ /dev/null @@ -1,349 +0,0 @@ - - -{#if selected} - (selected = null)} /> -{:else} -
- -
-
-

Travel Journal

-

My Journey

-
-
- - -
-
- - {#if sortedEntries.length === 0} -

No journal entries yet.

- {:else} -
    - {#each sortedEntries as entry (entry.id)} - {@const idx = photoIdx[entry.id] ?? 0} -
  1. - -
    -
    - - · - {entry.location.city}, {entry.location.country} - · - {entry.days} {entry.days === 1 ? 'day' : 'days'} -
    -
    (selected = entry)} - onkeydown={(e) => e.key === 'Enter' && (selected = entry)}> - - {#if entry.photos.length > 0} - - {/if} - -
    -

    {entry.title}

    - {#if entry.memo} -

    {entry.memo}

    - {/if} -
    - - - - - - {entry.song.title} - · - {entry.song.artist} - - {entry.tripType === 'solo' ? 'Solo' : 'With Friends'} - -
    -
    -
    -
    -
  2. - {/each} -
- {/if} - -
- {sortedEntries.length} {sortedEntries.length === 1 ? 'entry' : 'entries'} -
-
-{/if} - - diff --git a/src/lib/shared/PhotoGallery.svelte b/src/lib/shared/PhotoGallery.svelte new file mode 100644 index 0000000..8eb37cf --- /dev/null +++ b/src/lib/shared/PhotoGallery.svelte @@ -0,0 +1,167 @@ + + +{#if photos.length > 0} + +{/if} + + diff --git a/src/lib/timeline/JournalDetail.svelte b/src/lib/timeline/JournalDetail.svelte new file mode 100644 index 0000000..e09bd2f --- /dev/null +++ b/src/lib/timeline/JournalDetail.svelte @@ -0,0 +1,156 @@ + + +
+ + + + + +
+
+ 📍 {entry.location.city}, {entry.location.country} + + {entry.tripType === 'solo' ? '🧍 Solo' : '👥 With Friends'} + +
+ +

{entry.title}

+ +
+
+ Date + +
+
+
+ Duration + {entry.days} {entry.days === 1 ? 'day' : 'days'} +
+
+ +
+

{entry.memo}

+
+ +
+ +
+ Soundtrack + {entry.song.title} + {entry.song.artist} +
+
+
+
+ + diff --git a/src/lib/timeline/TimelineCard.svelte b/src/lib/timeline/TimelineCard.svelte new file mode 100644 index 0000000..3af7554 --- /dev/null +++ b/src/lib/timeline/TimelineCard.svelte @@ -0,0 +1,148 @@ + + +
  • + +
    +
    + + · + {entry.location.city}, {entry.location.country} + · + {entry.days} {entry.days === 1 ? 'day' : 'days'} +
    + +
    e.key === 'Enter' && onClick()}> + + + +
    +

    {entry.title}

    + {#if entry.memo} +

    {entry.memo}

    + {/if} +
    + + + + + + {entry.song.title} + · + {entry.song.artist} + + {entry.tripType === 'solo' ? 'Solo' : 'With Friends'} + +
    +
    +
    +
    +
  • + + diff --git a/src/lib/timeline/TimelineToolbar.svelte b/src/lib/timeline/TimelineToolbar.svelte new file mode 100644 index 0000000..93900ec --- /dev/null +++ b/src/lib/timeline/TimelineToolbar.svelte @@ -0,0 +1,77 @@ + + +
    +
    +

    Travel Journal

    +

    My Journey

    +
    +
    + + +
    +
    + + diff --git a/src/lib/timeline/TimelineView.svelte b/src/lib/timeline/TimelineView.svelte new file mode 100644 index 0000000..cb54b78 --- /dev/null +++ b/src/lib/timeline/TimelineView.svelte @@ -0,0 +1,94 @@ + + +{#if selected} + (selected = null)} /> +{:else} +
    + (sortKey = k)} /> + + {#if sortedEntries.length === 0} +

    No journal entries yet.

    + {:else} +
      + {#each sortedEntries as entry (entry.id)} + (selected = entry)} /> + {/each} +
    + {/if} + +
    + {sortedEntries.length} {sortedEntries.length === 1 ? 'entry' : 'entries'} +
    +
    +{/if} + +