feat: refine mobile prototype editing flows

This commit is contained in:
lucaronin
2026-05-05 16:16:29 +02:00
parent 8fc27e15da
commit 7a82caa80c
17 changed files with 384 additions and 365 deletions

View File

@@ -10,36 +10,17 @@ export function useMobileNoteCreateFlow({
}) {
const [failed, setFailed] = useState(false)
const [isCreating, setIsCreating] = useState(false)
const [isPromptOpen, setIsPromptOpen] = useState(false)
const [title, setTitle] = useState('')
const cancel = useCallback(() => {
if (isCreating) {
return
}
setFailed(false)
setIsPromptOpen(false)
setTitle('')
}, [isCreating])
const open = useCallback(() => {
setFailed(false)
setIsPromptOpen(true)
}, [])
const submit = useCallback(() => {
const create = useCallback(() => {
if (isCreating) {
return
}
setFailed(false)
setIsCreating(true)
void createNote(title)
void createNote('')
.then((note) => {
if (note) {
setIsPromptOpen(false)
setTitle('')
onCreated(note)
}
})
@@ -49,16 +30,11 @@ export function useMobileNoteCreateFlow({
.finally(() => {
setIsCreating(false)
})
}, [createNote, isCreating, onCreated, title])
}, [createNote, isCreating, onCreated])
return {
cancel,
create,
failed,
isCreating,
isPromptOpen,
open,
setTitle,
submit,
title,
}
}