diff --git a/src/context/intermediate/Modals.tsx b/src/context/intermediate/Modals.tsx index ce4e62ce..5839c664 100644 --- a/src/context/intermediate/Modals.tsx +++ b/src/context/intermediate/Modals.tsx @@ -17,7 +17,7 @@ export interface Props { export default function Modals({ screen, openScreen }: Props) { const onClose = () => - isModalClosing + isModalClosing || screen.id === "onboarding" ? openScreen({ id: "none" }) : internalEmit("Modal", "close"); diff --git a/src/context/intermediate/modals/Onboarding.tsx b/src/context/intermediate/modals/Onboarding.tsx index 160f5212..8ca93995 100644 --- a/src/context/intermediate/modals/Onboarding.tsx +++ b/src/context/intermediate/modals/Onboarding.tsx @@ -28,7 +28,7 @@ export function OnboardingModal({ onClose, callback }: Props) { const onSubmit: SubmitHandler = ({ username }) => { setLoading(true); callback(username, true) - .then(onClose) + .then(() => onClose()) .catch((err: any) => { setError(takeError(err)); setLoading(false); diff --git a/src/context/revoltjs/RevoltClient.tsx b/src/context/revoltjs/RevoltClient.tsx index b4574464..6c8b3ace 100644 --- a/src/context/revoltjs/RevoltClient.tsx +++ b/src/context/revoltjs/RevoltClient.tsx @@ -116,7 +116,7 @@ function Context({ auth, children }: Props) { if (onboarding) { openScreen({ id: "onboarding", - callback: (username: string) => + callback: async (username: string) => onboarding(username, true).then(login), }); } else {