mirror of
https://github.com/He4eT/elseifplayer.git
synced 2026-05-04 17:07:22 +00:00
Extract filename prompt
This commit is contained in:
parent
a63d013bd9
commit
e09705cf23
1 changed files with 12 additions and 21 deletions
|
|
@ -18,7 +18,7 @@ const INITIAL_STATUS = {
|
||||||
details: ['Preparing']
|
details: ['Preparing']
|
||||||
}
|
}
|
||||||
|
|
||||||
const runMachine = ({ Engine, file, handlers }) => {
|
const runMachine = ({ engine: Engine, file, handlers }) => {
|
||||||
const vm = new Engine()
|
const vm = new Engine()
|
||||||
const { glkInterface, sendFn } = CheapGlkOte(handlers)
|
const { glkInterface, sendFn } = CheapGlkOte(handlers)
|
||||||
|
|
||||||
|
|
@ -48,22 +48,15 @@ const Handlers = ({
|
||||||
onFileNameRequest: (tosave, usage, _, setFileName) => {
|
onFileNameRequest: (tosave, usage, _, setFileName) => {
|
||||||
setFileName({
|
setFileName({
|
||||||
usage,
|
usage,
|
||||||
filename: tosave ? 'save' : 'load'
|
filename: prompt('Enter the filename')
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onFileRead: ({ filename }) => {
|
onFileRead: ({ filename }) => {
|
||||||
if (filename === 'save') return null
|
const content = localStorage.getItem(`fake-fs/${filename}`)
|
||||||
|
return decode(content)
|
||||||
const lsName = prompt('Enter the name of the saved file:')
|
|
||||||
|
|
||||||
const record = localStorage.getItem(`save-${lsName}`)
|
|
||||||
return decode(record)
|
|
||||||
},
|
},
|
||||||
onFileWrite: ({ filename }, content) => {
|
onFileWrite: ({ filename }, content) => {
|
||||||
const lsName = prompt('Select a name for the saved file:')
|
localStorage.setItem(`fake-fs/${filename}`, encode(content))
|
||||||
const record = encode(content)
|
|
||||||
|
|
||||||
localStorage.setItem(`save-${lsName}`, record)
|
|
||||||
},
|
},
|
||||||
/* */
|
/* */
|
||||||
onExit: _ => setInputType(null)
|
onExit: _ => setInputType(null)
|
||||||
|
|
@ -80,17 +73,15 @@ export default function ({ vmParts: { file, engine } }) {
|
||||||
const [sendMessage, setSendMessage] = useState(null)
|
const [sendMessage, setSendMessage] = useState(null)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handlers = Handlers({
|
|
||||||
setStatus,
|
|
||||||
setCurrentWindow,
|
|
||||||
setInputType,
|
|
||||||
setInbox
|
|
||||||
})
|
|
||||||
|
|
||||||
const vm = runMachine({
|
const vm = runMachine({
|
||||||
Engine: engine,
|
engine,
|
||||||
file,
|
file,
|
||||||
handlers
|
handlers: Handlers({
|
||||||
|
setStatus,
|
||||||
|
setCurrentWindow,
|
||||||
|
setInputType,
|
||||||
|
setInbox
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
setVm(vm)
|
setVm(vm)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue