Extract URL loader component

This commit is contained in:
He4eT 2021-02-24 23:04:41 +05:00
commit eb8025791b
3 changed files with 37 additions and 21 deletions

View file

@ -1,31 +1,15 @@
import { h } from 'preact'
import { useState, useEffect } from 'preact/hooks'
import { prepareVM } from '~/src/common/if'
const INITIAL_STATUS = {
level: 'loading',
details: 'Loading...'
}
import UrlPlayer from '~/src/components/player/UrlPlayer'
export default function ({setTheme, theme, encodedUrl}) {
const [url] = useState(decodeURIComponent(encodedUrl))
const [status, setStatus] = useState(INITIAL_STATUS)
const [vm, setVM] = useState(null)
useEffect(() => setTheme(theme), [theme])
useEffect(prepareVM({
url,
setStatus,
setVM
}), [url])
useEffect(() => {
if (vm) console.log('success', vm)
}, [vm])
return (
<main>
{status.details}
<UrlPlayer url={url} />
</main>)
}