Make invite errors crash things less

This commit is contained in:
Jacob Karlsson 2024-04-18 13:11:13 +02:00
parent eddecbe017
commit d91adaa005
2 changed files with 13 additions and 2 deletions

View File

@ -16,6 +16,7 @@ function App() {
const [excalidrawAPI, setExcalidrawAPI] = useState(null) const [excalidrawAPI, setExcalidrawAPI] = useState(null)
const [inviteCode, setInviteCode] = useState(null) const [inviteCode, setInviteCode] = useState(null)
const [inviteErr, setInviteErr] = useState(null)
const [inviteModalOpen, setInviteModalOpen] = useState(false) const [inviteModalOpen, setInviteModalOpen] = useState(false)
const openInviteModal = () => setInviteModalOpen(true) const openInviteModal = () => setInviteModalOpen(true)
@ -45,7 +46,11 @@ function App() {
setInviteCode(null) setInviteCode(null)
openInviteModal() openInviteModal()
window.electronAPI.createInvite().then((invite) => { window.electronAPI.createInvite().then((invite) => {
setInviteErr(null)
setInviteCode(invite) setInviteCode(invite)
}).catch(err => {
setInviteCode(null)
setInviteErr(err)
}) })
} }
@ -102,6 +107,7 @@ function App() {
isOpen={inviteModalOpen} isOpen={inviteModalOpen}
onClose={closeInviteModal} onClose={closeInviteModal}
inviteCode={inviteCode} inviteCode={inviteCode}
inviteErr={inviteErr}
/> />
<JoinModal isOpen={joinModalOpen} onClose={closeJoinModal} /> <JoinModal isOpen={joinModalOpen} onClose={closeJoinModal} />
</div> </div>

View File

@ -1,7 +1,7 @@
import Button from './Button' import Button from './Button'
import Modal from './Modal' import Modal from './Modal'
function CreateInviteModal({ isOpen, onClose, inviteCode }) { function CreateInviteModal({ isOpen, onClose, inviteCode, inviteErr }) {
const copyInviteToClipboard = () => { const copyInviteToClipboard = () => {
window.electronAPI.copyToClipboard(inviteCode).then(() => { window.electronAPI.copyToClipboard(inviteCode).then(() => {
onClose() onClose()
@ -20,7 +20,12 @@ function CreateInviteModal({ isOpen, onClose, inviteCode }) {
return ( return (
<Modal isOpen={isOpen} onClose={onClose}> <Modal isOpen={isOpen} onClose={onClose}>
{inviteCode ? ( {inviteErr ? (
<>
<div className="text-slate-500 h-14">Got an error when creating the invite:</div>
<div className="text-slate-500 h-14">{inviteErr.toString()}</div>
</>
) : inviteCode ? (
<> <>
This is an invite code that you can send to a friend to collaborate on This is an invite code that you can send to a friend to collaborate on
this drawing with you. this drawing with you.