From 022031245683617efffe9dbf565282e48c2af233 Mon Sep 17 00:00:00 2001 From: Ed Asriyan Date: Sun, 25 Feb 2024 09:51:09 +0400 Subject: [PATCH] Refactor: split in components --- src/constants.scss | 2 + src/routes/+page.svelte | 134 ++++-------------- src/routes/1-video-selector.svelte | 78 ++++++++++ .../{copy-url.svelte => 2-copy-url.svelte} | 0 src/routes/3-video-viewer.svelte | 21 +++ ...ector.svelte => video-selector-btn.svelte} | 0 src/routes/video-view.svelte | 5 +- 7 files changed, 136 insertions(+), 104 deletions(-) create mode 100644 src/constants.scss create mode 100644 src/routes/1-video-selector.svelte rename src/routes/{copy-url.svelte => 2-copy-url.svelte} (100%) create mode 100644 src/routes/3-video-viewer.svelte rename src/routes/{video-selector.svelte => video-selector-btn.svelte} (100%) diff --git a/src/constants.scss b/src/constants.scss new file mode 100644 index 0000000..574d0c9 --- /dev/null +++ b/src/constants.scss @@ -0,0 +1,2 @@ +$purple-color: rgba(255, 0, 0, 0.015); +$red-color: #f0731e; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 87d299a..0fc09a2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -4,15 +4,12 @@ import { browser } from '$app/environment'; import { page } from '$app/stores'; import randomStr from '../random-str'; - import { trackClick } from '../google-analytics'; - import VideoView from './video-view.svelte'; import Loader from './loader.svelte'; - import VideoSelector from './video-selector.svelte'; import { RemoteRoom } from '../remote-room'; import { LocalRoom } from '../local-room'; - import normalizeLink from './normalize-link'; - import videoExample from '../video-example'; - import CopyUrl from './copy-url.svelte'; + import VideoSelector from './1-video-selector.svelte'; + import CopyUrl from './2-copy-url.svelte'; + import VideoViewer from './3-video-viewer.svelte'; let roomId = $page.url.hash?.slice(1); if (!roomId) { @@ -27,25 +24,8 @@ let isLoading = true; $: remoteRoom.load().finally(() => isLoading = false); $: localRoom = new LocalRoom(remoteRoom); - let blobUrl: string; - let fileName: string; - $: playUrl = $localRoom?.isLocalMode ? blobUrl : normalizeLink($localRoom?.url); - - const selectExample = function () { - $localRoom.url = videoExample(); - trackClick('example'); - }; - - const selectOnlineMode = function () { - $localRoom.isLocalMode = false; - trackClick('select_online_mode'); - }; - - const selectLocalMode = function () { - $localRoom.isLocalMode = true; - trackClick('select_local_mode'); - }; + let playUrl: string | null; @@ -63,41 +43,7 @@
Watch movies together anytime, anywhere

-

1. Select a video

- - {#if $localRoom.isLocalMode} -
- You all downloaded a movie already!? Well done! Everyone should select the same video file, please. -
- - {:else} -
- Insert a link to YouTube, Vimeo, HLS playlist, video or audio file. The input is synchronized with everyone in the room. -
- - {/if} +
@@ -108,19 +54,7 @@
-

3. Watch the movie together!

-
- Playback, time, and video scrolling are synchronized with everyone who has the page open. -
-
- {#if playUrl} - - {:else} -
- Video player will appear here when you insert a link or select a video -
- {/if} -
+
Powered by @@ -135,40 +69,18 @@ {/if} diff --git a/src/routes/1-video-selector.svelte b/src/routes/1-video-selector.svelte new file mode 100644 index 0000000..bfae2cb --- /dev/null +++ b/src/routes/1-video-selector.svelte @@ -0,0 +1,78 @@ + + +

1. Select a video

+ +{#if $room.isLocalMode} +
+ You all downloaded a movie already!? Well done! Everyone should select the same video file, please. +
+ +{:else} +
+ Insert a link to YouTube, Vimeo, HLS playlist, video or audio file. The input is synchronized with everyone in the room. +
+
+ {#if !playUrl} + + paste random example + + {/if} + +
+{/if} + + \ No newline at end of file diff --git a/src/routes/copy-url.svelte b/src/routes/2-copy-url.svelte similarity index 100% rename from src/routes/copy-url.svelte rename to src/routes/2-copy-url.svelte diff --git a/src/routes/3-video-viewer.svelte b/src/routes/3-video-viewer.svelte new file mode 100644 index 0000000..07d7337 --- /dev/null +++ b/src/routes/3-video-viewer.svelte @@ -0,0 +1,21 @@ + + +

3. Watch the movie together!

+
+ Playback, time, and video scrolling are synchronized with everyone who has the page open. +
+
+ {#if playUrl} + + {:else} +
+ Video player will appear here when you insert a link or select a video +
+ {/if} +
\ No newline at end of file diff --git a/src/routes/video-selector.svelte b/src/routes/video-selector-btn.svelte similarity index 100% rename from src/routes/video-selector.svelte rename to src/routes/video-selector-btn.svelte diff --git a/src/routes/video-view.svelte b/src/routes/video-view.svelte index 3773d96..cbde099 100644 --- a/src/routes/video-view.svelte +++ b/src/routes/video-view.svelte @@ -58,7 +58,7 @@ \ No newline at end of file