()
@@ -44,6 +40,11 @@ function MultiStepForm(
return $timeout.current?.cancel!
}, [index, currentIndex])
+ const hasSize = Boolean(
+ (currentSize?.width || nextSize?.width) &&
+ (currentSize?.height || nextSize?.height),
+ )
+
return (
- {steps[currentIndex]()}
+ {steps[currentIndex]}
{currentIndex === steps.length - 1
? null
- : steps[currentIndex + 1]()}
+ : steps[currentIndex + 1]}
)
}
-export default forwardRef(MultiStepForm)
+export default MultiStepForm
diff --git a/src/constants/themes.ts b/src/constants/themes.ts
new file mode 100644
index 0000000..2438f6c
--- /dev/null
+++ b/src/constants/themes.ts
@@ -0,0 +1,11 @@
+import {createTheme} from "@mui/material"
+
+export const lightTheme = createTheme({
+ palette: {
+ mode: "dark",
+ secondary: {
+ main: "#ACF",
+ contrastText: "#FFF",
+ },
+ },
+})
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
new file mode 100644
index 0000000..91eaee6
--- /dev/null
+++ b/src/hooks/index.ts
@@ -0,0 +1,2 @@
+export * from "./use-server-settings"
+export {default as useServerSettings} from "./use-server-settings"
diff --git a/src/hooks/use-server-settings.ts b/src/hooks/use-server-settings.ts
new file mode 100644
index 0000000..3e2b7d0
--- /dev/null
+++ b/src/hooks/use-server-settings.ts
@@ -0,0 +1,10 @@
+import {useContext} from "react"
+
+import {ServerSettings} from "~/types"
+import ServerSettingsContext from "~/ServerSettingsContext"
+
+export default function useServerSettings(): ServerSettings {
+ const {serverSettings} = useContext(ServerSettingsContext)
+
+ return serverSettings
+}
diff --git a/src/route-widgets/root/EmailForm/EmailForm.tsx b/src/route-widgets/root/EmailForm/EmailForm.tsx
index 4d715c2..a434753 100644
--- a/src/route-widgets/root/EmailForm/EmailForm.tsx
+++ b/src/route-widgets/root/EmailForm/EmailForm.tsx
@@ -5,22 +5,19 @@ import React, {ReactElement} from "react"
import {InputAdornment, TextField} from "@mui/material"
import {MultiStepFormElement, SimpleForm} from "~/components"
-import {ServerSettings} from "~/types"
import {signup} from "~/apis"
import {handleErrors} from "~/utils"
+import {useServerSettings} from "~/hooks"
import DetectEmailAutofillService from "./DetectEmailAutofillService"
import useSchema, {Form} from "./use-schema"
interface EmailFormProps {
- serverSettings: ServerSettings
onSignUp: (email: string) => void
}
-export default function EmailForm({
- serverSettings,
- onSignUp,
-}: EmailFormProps): ReactElement {
+export default function EmailForm({onSignUp}: EmailFormProps): ReactElement {
+ const serverSettings = useServerSettings()
const schema = useSchema(serverSettings)
const formik = useFormik