mirror of
https://github.com/Myzel394/kleckrelay-website.git
synced 2025-06-20 16:25:26 +02:00
fixed paths
This commit is contained in:
parent
da3805d22e
commit
38a6ded8ae
@ -11,7 +11,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mui/lab": "^5.0.0-alpha.103",
|
"@mui/lab": "^5.0.0-alpha.103",
|
||||||
"@mui/material": "^5.10.9",
|
"@mui/material": "^5.10.9",
|
||||||
|
"@tanstack/react-query": "^4.12.0",
|
||||||
"axios": "^1.1.2",
|
"axios": "^1.1.2",
|
||||||
|
"crypto-js": "^4.1.1",
|
||||||
"formik": "^2.2.9",
|
"formik": "^2.2.9",
|
||||||
"openpgp": "^5.5.0",
|
"openpgp": "^5.5.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
@ -34,7 +36,7 @@
|
|||||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"@vitejs/plugin-react": "^2.1.0",
|
"@vitejs/plugin-react": "^2.1.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "8.22.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-plugin-compat": "^4.0.2",
|
"eslint-plugin-compat": "^4.0.2",
|
||||||
"eslint-plugin-react": "^7.31.10",
|
"eslint-plugin-react": "^7.31.10",
|
||||||
|
24
src/App.tsx
Normal file
24
src/App.tsx
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import {createBrowserRouter, RouterProvider} from "react-router-dom";
|
||||||
|
import RootRoute from "~/routes/Root";
|
||||||
|
import React, {ReactElement} from "react";
|
||||||
|
import {QueryClientProvider} from "@tanstack/react-query";
|
||||||
|
import {queryClient} from "~/constants/react-query";
|
||||||
|
|
||||||
|
const router = createBrowserRouter([
|
||||||
|
{
|
||||||
|
path: "/",
|
||||||
|
element: <RootRoute />,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
export default function App(): ReactElement {
|
||||||
|
return (
|
||||||
|
<React.StrictMode>
|
||||||
|
<QueryClientProvider client={queryClient}>
|
||||||
|
<RouterProvider router={router} />
|
||||||
|
</QueryClientProvider>
|
||||||
|
</React.StrictMode>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
11
src/LoadingScreen.tsx
Normal file
11
src/LoadingScreen.tsx
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import {Typography} from "@mui/material";
|
||||||
|
import {ReactElement} from "react";
|
||||||
|
import {SingleElementWrapper} from "~/components";
|
||||||
|
|
||||||
|
export default function LoadingScreen(): ReactElement {
|
||||||
|
return (
|
||||||
|
<SingleElementWrapper>
|
||||||
|
<Typography variant="h1" component="h1">Loading...</Typography>
|
||||||
|
</SingleElementWrapper>
|
||||||
|
)
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
import {ReactElement} from "react"
|
import {ReactElement} from "react"
|
||||||
import UAParser from "ua-parser-js"
|
import UAParser from "ua-parser-js"
|
||||||
import {Button} from "@mui/material"
|
import {Button} from "@mui/material"
|
||||||
import {APP_LINK_MAP} from "utils"
|
import {APP_LINK_MAP} from "~/utils"
|
||||||
import {IoMdMailOpen} from "react-icons/io"
|
import {IoMdMailOpen} from "react-icons/io"
|
||||||
|
|
||||||
export interface OpenMailButtonProps {
|
export interface OpenMailButtonProps {
|
||||||
|
1
src/constants/react-query.ts
Normal file
1
src/constants/react-query.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export const queryClient = new QueryClient()
|
@ -1,16 +1,7 @@
|
|||||||
import {ReactElement, useCallback, useEffect, useRef, useState} from "react"
|
import {ReactElement, useCallback, useEffect, useRef, useState} from "react"
|
||||||
import {
|
import {Alert, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Grid,} from "@mui/material"
|
||||||
Alert,
|
|
||||||
Button,
|
|
||||||
Dialog,
|
|
||||||
DialogActions,
|
|
||||||
DialogContent,
|
|
||||||
DialogContentText,
|
|
||||||
DialogTitle,
|
|
||||||
Grid,
|
|
||||||
} from "@mui/material"
|
|
||||||
import {MdCheck} from "react-icons/md"
|
import {MdCheck} from "react-icons/md"
|
||||||
import useSessionStorage from "hooks/use-session-storage"
|
import {useSessionStorage} from "react-use"
|
||||||
|
|
||||||
export interface DetectEmailAutofillServiceProps {
|
export interface DetectEmailAutofillServiceProps {
|
||||||
domains: string[]
|
domains: string[]
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import {ReactElement} from "react"
|
import {ReactElement} from "react"
|
||||||
import {useFormik} from "formik"
|
import {useFormik} from "formik"
|
||||||
import useSchema, {Form} from "./use-schema"
|
import useSchema, {Form} from "./use-schema"
|
||||||
import signup from "~/apis/signup"
|
import {signup} from "~/apis"
|
||||||
import {MdEmail} from "react-icons/md"
|
import {MdEmail} from "react-icons/md"
|
||||||
import {InputAdornment, TextField} from "@mui/material"
|
import {InputAdornment, TextField} from "@mui/material"
|
||||||
import DetectEmailAutofillService from "./DetectEmailAutofillService"
|
import DetectEmailAutofillService from "./DetectEmailAutofillService"
|
||||||
import handleErrors from "utils/handle-errors"
|
import {handleErrors} from "~/utils"
|
||||||
import {MultiStepFormElement, SimpleForm} from "components"
|
import {MultiStepFormElement, SimpleForm} from "~/components"
|
||||||
import {ServerSettings} from "~/types";
|
import {ServerSettings} from "~/types";
|
||||||
|
|
||||||
interface EmailFormProps {
|
interface EmailFormProps {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import * as yup from "yup"
|
import * as yup from "yup"
|
||||||
import {ServerSettings} from "apis/get-server-settings"
|
import {checkIsDomainDisposable} from "~/apis"
|
||||||
import checkIsDomainDisposable from "apis/check-is-domain-disposable"
|
import {ServerSettings} from "~/types";
|
||||||
|
|
||||||
export interface Form {
|
export interface Form {
|
||||||
email: string
|
email: string
|
||||||
|
@ -5,10 +5,8 @@ import {Box, Grid, InputAdornment, Typography} from "@mui/material"
|
|||||||
import {MdCheckCircle, MdChevronRight, MdLock} from "react-icons/md"
|
import {MdCheckCircle, MdChevronRight, MdLock} from "react-icons/md"
|
||||||
import {LoadingButton} from "@mui/lab"
|
import {LoadingButton} from "@mui/lab"
|
||||||
import {PasswordField} from "components"
|
import {PasswordField} from "components"
|
||||||
import handleErrors from "utils/handle-errors"
|
import {encryptString, handleErrors} from "~/utils"
|
||||||
import {generateKey} from "openpgp"
|
import {generateKey} from "openpgp"
|
||||||
import {isDev} from "constants/values"
|
|
||||||
import encryptString from "utils/encrypt-string"
|
|
||||||
|
|
||||||
export interface PasswordFormProps {
|
export interface PasswordFormProps {
|
||||||
email: string
|
email: string
|
||||||
|
@ -3,8 +3,13 @@ import SingleElementWrapper from "~/components/SingleElementWrapper";
|
|||||||
import MultiStepForm from "~/components/MultiStepForm";
|
import MultiStepForm from "~/components/MultiStepForm";
|
||||||
import EmailForm from "~/route-widgets/root/EmailForm";
|
import EmailForm from "~/route-widgets/root/EmailForm";
|
||||||
import YouGotMail from "~/route-widgets/root/YouGotMail";
|
import YouGotMail from "~/route-widgets/root/YouGotMail";
|
||||||
|
import LoadingScreen from "~/LoadingScreen";
|
||||||
|
|
||||||
export default function RootRoute(): ReactElement {
|
export default function RootRoute(): ReactElement {
|
||||||
|
return (
|
||||||
|
<LoadingScreen />
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SingleElementWrapper>
|
<SingleElementWrapper>
|
||||||
<MultiStepForm
|
<MultiStepForm
|
||||||
|
Loading…
x
Reference in New Issue
Block a user