PlayerView: add MenuOverlay

This commit is contained in:
He4eT 2023-05-29 00:07:02 +03:00 committed by Alexey
commit 2b344f7cd9
4 changed files with 46 additions and 41 deletions

View file

@ -25,9 +25,9 @@ function App () {
const playerView = (themeEngine, singleWindow) => const playerView = (themeEngine, singleWindow) =>
function view (params) { function view (params) {
return (<PlayerView {...{ return (<PlayerView {...{
...themeEngine, themeEngine,
...params,
singleWindow, singleWindow,
...params,
}} />) }} />)
} }

View file

@ -93,12 +93,47 @@ button {
border: 2px solid var(--main-color); border: 2px solid var(--main-color);
background-color: var(--bg-color); background-color: var(--bg-color);
color: var(--main-color); color: var(--main-color);
padding: var(--inner-padding); padding: var(--inner-padding) calc(4 * var(--inner-padding));
font-family: inherit; font-family: inherit;
font-size: inherit; font-size: inherit;
cursor: pointer; cursor: pointer;
} }
input,
select {
box-sizing: border-box;
padding: 4px 8px;
color: var(--main-color);
background-color: var(--bg-color);
border: 2px solid var(--main-color);
font: inherit;
}
select {
cursor: pointer;
appearance: none;
-webkit-appearance: none;
border-radius: 0;
width: 200px;
}
label {
display: inline-block;
width: 100%;
max-width: 400px;
}
label input {
width: 100%;
}
input[type='file'] {
position: relative;
font-size: 0;
text-indent: -100%;
cursor: pointer;
}
/* */ /* */
.status { .status {

View file

@ -1,39 +1,3 @@
.app > .view.home { .app > .view.home {
padding: var(--inner-padding); padding: var(--inner-padding);
} }
.view.home input,
.view.home select {
box-sizing: border-box;
padding: 4px 8px;
color: var(--main-color);
background-color: var(--bg-color);
border: 2px solid var(--main-color);
font: inherit;
}
.view.home select {
cursor: pointer;
appearance: none;
-webkit-appearance: none;
border-radius: 0;
width: 200px;
}
.view.home label {
display: inline-block;
width: 100%;
max-width: 400px;
}
.view.home label input {
width: 100%;
}
.view.home input[type='file'] {
position: relative;
font-size: 0;
text-indent: -100%;
cursor: pointer;
}

View file

@ -2,15 +2,18 @@ import { h } from 'preact'
import { useState, useEffect } from 'preact/hooks' import { useState, useEffect } from 'preact/hooks'
import UrlPlayer from '~/src/components/Player/UrlPlayer' import UrlPlayer from '~/src/components/Player/UrlPlayer'
import MenuOverlay from '~/src/components/Player/MenuOverlay'
import './PlayerView.css' import './PlayerView.css'
const decode = (encodedUrl) => decodeURIComponent(encodedUrl) const decode = (encodedUrl) => decodeURIComponent(encodedUrl)
export default function PlayerView ({ export default function PlayerView ({
setTheme, theme, encodedUrl, singleWindow, theme, themeEngine, encodedUrl, singleWindow,
}) { }) {
useEffect(() => setTheme(theme), [setTheme, theme]) useEffect(() => {
themeEngine.setTheme(theme)
}, [theme, themeEngine])
const [targetUrl, setTargetUrl] = useState(decode(encodedUrl)) const [targetUrl, setTargetUrl] = useState(decode(encodedUrl))
@ -20,6 +23,9 @@ export default function PlayerView ({
return ( return (
<main> <main>
<MenuOverlay {...{
themeEngine,
}}/>
<UrlPlayer {...{ <UrlPlayer {...{
url: targetUrl, url: targetUrl,
singleWindow, singleWindow,