From f9ec1419abeb4e71654833b5360b87e4042924fa Mon Sep 17 00:00:00 2001 From: zevav Date: Sun, 4 Oct 2020 16:41:18 +0200 Subject: [PATCH] moved uid to a derived store --- modulearn/TODO.md | 1 + modulearn/src/App.svelte | 11 ++++------- modulearn/src/stores.js | 3 ++- modulearn/src/utils.js | 4 +++- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/modulearn/TODO.md b/modulearn/TODO.md index ef9df0d..ed31012 100644 --- a/modulearn/TODO.md +++ b/modulearn/TODO.md @@ -21,3 +21,4 @@ doesn't advance - [ ] bug: when you go backwards on the YouTube timeline, it doesn't update the selected module (forwards is fine) +- [ ] show the module name in a header diff --git a/modulearn/src/App.svelte b/modulearn/src/App.svelte index a4d0610..f3c2c2d 100644 --- a/modulearn/src/App.svelte +++ b/modulearn/src/App.svelte @@ -3,13 +3,11 @@ import Modules from './Modules.svelte' import YouTube from './YouTube.svelte' - import { position, currentModule } from './stores' + import { position, currentModule, uid } from './stores' import { getModule } from './utils' import { modules } from './data' - let video; let interval; let timeout; let uid = modules[0].uid; - - $: if ($currentModule) uid = $currentModule.uid + let video; let interval; let timeout; const positionUpdater = () => { interval = setInterval(() => { @@ -20,7 +18,6 @@ if ((newModule && !$currentModule) || (newModule && $currentModule && newModule.id !== $currentModule.id)) { currentModule.update(() => newModule) - uid = newModule.uid } }, 100) } @@ -111,8 +108,8 @@
- {#key uid} - + {#key $uid} + {/key} $currentModule && $currentModule.uid) diff --git a/modulearn/src/utils.js b/modulearn/src/utils.js index f324cef..8181324 100644 --- a/modulearn/src/utils.js +++ b/modulearn/src/utils.js @@ -1,8 +1,10 @@ import { modules } from './data' +import { uid } from './stores' +import { get } from 'svelte/store'; export const getModule = (position, currentModule) => { if (!currentModule) return modules[0] - if (position < currentModule.end) { + if (position < currentModule.end && currentModule.uid != get(uid).value) { return currentModule }