Add instant game launch

This commit is contained in:
He4eT 2021-03-02 18:02:34 +05:00
commit 97cd8aca9e
4 changed files with 24 additions and 31 deletions

View file

@ -1,11 +1,11 @@
import { h } from 'preact'
export default function ({ setTargetName, setTargetUrl }) {
export default function ({ theme, setLocation, buildLink }) {
const fileInputHandler = ({ target }) => {
const file = target.files[0]
setTargetName(file.name)
setTargetUrl(`${URL.createObjectURL(file)}#${file.name}`)
target.value = null
const url = `${URL.createObjectURL(file)}#${file.name}`
setLocation(buildLink({ url, theme }))
}
return (

View file

@ -1,23 +1,21 @@
import { h } from 'preact'
export default function ({ setTargetName, setTargetUrl }) {
export default function ({ theme, setLocation, buildLink }) {
const urlRE = /^(http|https):\/\/[^ "]+$/
const emit = url => {
setTargetName(url)
setTargetUrl(url)
}
const onKeyPress = ({ keyCode, target }) => {
if (keyCode !== 13) return
const urlInputHandler = ({ target }) => {
const url = target.value
emit(urlRE.test(url)
? url
: null)
if (urlRE.test(url)) {
setLocation(buildLink({ url, theme }))
}
}
return (
<input
type='text'
placeholder='https://...'
onInput={urlInputHandler} />)
onKeyPress={onKeyPress} />)
}