From 16366ec7f3afbd493ae2791df71d5587f7a4e40c Mon Sep 17 00:00:00 2001 From: Ollie Taylor <13766232+OllieJT@users.noreply.github.com> Date: Mon, 10 Jul 2023 16:35:58 +0100 Subject: [PATCH] Headless Improvements (#41) --- .changeset/five-seas-leave.md | 5 + CHANGELOG.md | 14 +- package.json | 1 - src/components/example-player/index.ts | 3 + .../example-player/player-stack.svelte | 426 ++++++++++++++++++ .../example-player/player-widget.svelte | 341 ++++++++++++++ .../example-player}/utility/a11y-icon.svelte | 0 .../example-player}/utility/index.ts | 0 .../example-player}/utility/skip.svelte | 0 .../example-player}/utility/spinner.svelte | 0 .../example-player}/utility/timestamp.svelte | 4 +- .../preview-component.svelte | 0 .../preview-data-code.svelte | 0 .../demo => components}/preview-data.svelte | 0 src/content/example/add-loader.svelte | 4 +- .../{audio-loader.svelte => component.svelte} | 11 +- src/lib/audio/episode-data.ts | 138 ------ src/lib/audio/episode-details.ts | 4 - src/lib/audio/index.ts | 6 +- src/lib/audio/{ => stores}/audio-element.ts | 2 +- src/lib/audio/stores/episode-data.ts | 207 +++++++++ src/lib/audio/stores/episode-details.ts | 12 + .../audio/{ => stores}/episode-progress.ts | 27 +- src/lib/audio/stores/index.ts | 4 + src/lib/components/headless-timeline.svelte | 145 ------ src/lib/components/index.ts | 5 +- src/lib/components/player-stack.svelte | 322 ------------- src/lib/components/player-widget.svelte | 235 ---------- src/lib/components/player.svelte | 86 ++++ src/lib/components/progress.svelte | 51 +++ src/lib/index.ts | 1 + src/lib/types.ts | 28 -- src/lib/user/index.ts | 4 +- src/lib/user/preferences.ts | 21 - src/lib/user/progress.ts | 27 -- src/lib/user/user-preferences.ts | 49 ++ src/lib/user/user-progress.ts | 53 +++ src/lib/utility/announce.ts | 49 ++ src/lib/utility/get-pathname-from-url.ts | 4 - src/lib/utility/index.ts | 3 +- src/lib/utility/package/log.ts | 25 - src/lib/utility/package/type-guards.ts | 7 - src/lib/utility/seconds-to-timestamp.ts | 43 +- src/lib/utility/use-url.ts | 23 + src/{routes => markdown}/hljs-svelte.ts | 0 src/markdown/index.ts | 1 + src/{routes => markdown}/use-markdown.ts | 0 src/routes/{+layout.ts => +layout.server.ts} | 0 src/routes/+layout.svelte | 4 +- src/routes/+page.server.ts | 2 +- src/routes/+page.svelte | 16 +- src/routes/demo/+page.svelte | 16 +- tailwind.config.cjs | 6 +- yarn.lock | 5 - 54 files changed, 1406 insertions(+), 1034 deletions(-) create mode 100644 .changeset/five-seas-leave.md create mode 100644 src/components/example-player/index.ts create mode 100644 src/components/example-player/player-stack.svelte create mode 100644 src/components/example-player/player-widget.svelte rename src/{lib/components => components/example-player}/utility/a11y-icon.svelte (100%) rename src/{lib/components => components/example-player}/utility/index.ts (100%) rename src/{lib/components => components/example-player}/utility/skip.svelte (100%) rename src/{lib/components => components/example-player}/utility/spinner.svelte (100%) rename src/{lib/components => components/example-player}/utility/timestamp.svelte (69%) rename src/{routes/demo => components}/preview-component.svelte (100%) rename src/{routes/demo => components}/preview-data-code.svelte (100%) rename src/{routes/demo => components}/preview-data.svelte (100%) rename src/lib/audio/{audio-loader.svelte => component.svelte} (91%) delete mode 100644 src/lib/audio/episode-data.ts delete mode 100644 src/lib/audio/episode-details.ts rename src/lib/audio/{ => stores}/audio-element.ts (94%) create mode 100644 src/lib/audio/stores/episode-data.ts create mode 100644 src/lib/audio/stores/episode-details.ts rename src/lib/audio/{ => stores}/episode-progress.ts (55%) create mode 100644 src/lib/audio/stores/index.ts delete mode 100644 src/lib/components/headless-timeline.svelte delete mode 100644 src/lib/components/player-stack.svelte delete mode 100644 src/lib/components/player-widget.svelte create mode 100644 src/lib/components/player.svelte create mode 100644 src/lib/components/progress.svelte delete mode 100644 src/lib/types.ts delete mode 100644 src/lib/user/preferences.ts delete mode 100644 src/lib/user/progress.ts create mode 100644 src/lib/user/user-preferences.ts create mode 100644 src/lib/user/user-progress.ts create mode 100644 src/lib/utility/announce.ts delete mode 100644 src/lib/utility/get-pathname-from-url.ts delete mode 100644 src/lib/utility/package/log.ts delete mode 100644 src/lib/utility/package/type-guards.ts create mode 100644 src/lib/utility/use-url.ts rename src/{routes => markdown}/hljs-svelte.ts (100%) create mode 100644 src/markdown/index.ts rename src/{routes => markdown}/use-markdown.ts (100%) rename src/routes/{+layout.ts => +layout.server.ts} (100%) diff --git a/.changeset/five-seas-leave.md b/.changeset/five-seas-leave.md new file mode 100644 index 0000000..0c5a32e --- /dev/null +++ b/.changeset/five-seas-leave.md @@ -0,0 +1,5 @@ +--- +'svelte-podcast': minor +--- + +improvements to headless components diff --git a/CHANGELOG.md b/CHANGELOG.md index bdc7cdf..afab2c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,14 +4,14 @@ ### Minor Changes -- 9232f4d: Improves theming with css variables - Improves developer logs - Fixes various package export issues - Adds player components: +- 9232f4d: Improves theming with css variables + Improves developer logs + Fixes various package export issues + Adds player components: - - Player: `` - - Player: `` - - Utility: `` + - Player: `` + - Player: `` + - Utility: `` ## 0.5.0 diff --git a/package.json b/package.json index 1ce69d1..1b08cf2 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,6 @@ "@sveltejs/kit": "^1.22.1", "@sveltejs/package": "^2.1.0", "@tailwindcss/forms": "^0.5.3", - "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.9", "@typescript-eslint/eslint-plugin": "^5.61.0", "@typescript-eslint/parser": "^5.61.0", diff --git a/src/components/example-player/index.ts b/src/components/example-player/index.ts new file mode 100644 index 0000000..5eeb5a7 --- /dev/null +++ b/src/components/example-player/index.ts @@ -0,0 +1,3 @@ +export { default as HeadlessTimeline } from './headless-timeline.svelte'; +export { default as PlayerStack } from './player-stack.svelte'; +export { default as PlayerWidget } from './player-widget.svelte'; diff --git a/src/components/example-player/player-stack.svelte b/src/components/example-player/player-stack.svelte new file mode 100644 index 0000000..0705150 --- /dev/null +++ b/src/components/example-player/player-stack.svelte @@ -0,0 +1,426 @@ + + + +
+
+ + + + {#if episode.is_loaded} + + {:else} +
+ +
+ {/if} + + +
+ +
+ + +
+ +
+
+
+ +
+ +
+ + {#if !hide_timestamps || !hide_playback_rate} +
+ {#if !hide_timestamps} +
+ +
+ +
+ +
+ +
+ {/if} + + {#if !hide_playback_rate} + + {/if} +
+ {/if} +
+ + + diff --git a/src/components/example-player/player-widget.svelte b/src/components/example-player/player-widget.svelte new file mode 100644 index 0000000..cb6dbd4 --- /dev/null +++ b/src/components/example-player/player-widget.svelte @@ -0,0 +1,341 @@ + + + +
+ {#if !hide_skip_back} + + {/if} + + + {#if episode.is_loaded} + + {:else} +
+ +
+ {/if} + + {#if !hide_skip_forward} + + {/if} + + {#if !hide_current_time} +
+ +
+ {/if} + +
+ +
+ + {#if !hide_duration} +
+ +
+ {/if} + + {#if !hide_playback_rate} + + {/if} +
+
+ + diff --git a/src/lib/components/utility/a11y-icon.svelte b/src/components/example-player/utility/a11y-icon.svelte similarity index 100% rename from src/lib/components/utility/a11y-icon.svelte rename to src/components/example-player/utility/a11y-icon.svelte diff --git a/src/lib/components/utility/index.ts b/src/components/example-player/utility/index.ts similarity index 100% rename from src/lib/components/utility/index.ts rename to src/components/example-player/utility/index.ts diff --git a/src/lib/components/utility/skip.svelte b/src/components/example-player/utility/skip.svelte similarity index 100% rename from src/lib/components/utility/skip.svelte rename to src/components/example-player/utility/skip.svelte diff --git a/src/lib/components/utility/spinner.svelte b/src/components/example-player/utility/spinner.svelte similarity index 100% rename from src/lib/components/utility/spinner.svelte rename to src/components/example-player/utility/spinner.svelte diff --git a/src/lib/components/utility/timestamp.svelte b/src/components/example-player/utility/timestamp.svelte similarity index 69% rename from src/lib/components/utility/timestamp.svelte rename to src/components/example-player/utility/timestamp.svelte index 72fe553..41ba760 100644 --- a/src/lib/components/utility/timestamp.svelte +++ b/src/components/example-player/utility/timestamp.svelte @@ -1,10 +1,10 @@ {timestamp} diff --git a/src/routes/demo/preview-component.svelte b/src/components/preview-component.svelte similarity index 100% rename from src/routes/demo/preview-component.svelte rename to src/components/preview-component.svelte diff --git a/src/routes/demo/preview-data-code.svelte b/src/components/preview-data-code.svelte similarity index 100% rename from src/routes/demo/preview-data-code.svelte rename to src/components/preview-data-code.svelte diff --git a/src/routes/demo/preview-data.svelte b/src/components/preview-data.svelte similarity index 100% rename from src/routes/demo/preview-data.svelte rename to src/components/preview-data.svelte diff --git a/src/content/example/add-loader.svelte b/src/content/example/add-loader.svelte index c01c0e7..1bdecd7 100644 --- a/src/content/example/add-loader.svelte +++ b/src/content/example/add-loader.svelte @@ -1,8 +1,8 @@ - +