moved uid to a derived store

This commit is contained in:
2020-10-04 16:41:18 +02:00
parent b0c7aa402b
commit f9ec1419ab
4 changed files with 10 additions and 9 deletions

View File

@@ -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

View File

@@ -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 @@
<svelte:window on:keydown={handleKeyDown} />
<main>
{#key uid}
<YouTube bind:this={video} videoId={uid} />
{#key $uid}
<YouTube bind:this={video} videoId={$uid} />
{/key}
<Modules
on:repositionInModule={onRepositionInModule}

View File

@@ -1,4 +1,5 @@
import { writable } from 'svelte/store'
import { writable, derived } from 'svelte/store'
export const currentModule = writable(null)
export const position = writable(0)
export const uid = derived(currentModule, $currentModule => $currentModule && $currentModule.uid)

View File

@@ -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
}