diff --git a/app/components/form-elements.tsx b/app/components/form-elements.tsx index 9cf4c499a..4b678137c 100644 --- a/app/components/form-elements.tsx +++ b/app/components/form-elements.tsx @@ -1,19 +1,26 @@ import * as React from 'react' +import clsx from 'clsx' -function Label(props: JSX.IntrinsicElements['label']) { +function Label({className, ...labelProps}: JSX.IntrinsicElements['label']) { return ( ) } -function Input(props: JSX.IntrinsicElements['input']) { +function Input({className, ...inputProps}: JSX.IntrinsicElements['input']) { return ( ) } diff --git a/app/components/icons/logout-icon.tsx b/app/components/icons/logout-icon.tsx new file mode 100644 index 000000000..10c2611b1 --- /dev/null +++ b/app/components/icons/logout-icon.tsx @@ -0,0 +1,31 @@ +import * as React from 'react' + +function LogoutIcon() { + return ( + + ) +} + +export {LogoutIcon} diff --git a/app/routes/me.tsx b/app/routes/me.tsx index 44b66a190..c1b544070 100644 --- a/app/routes/me.tsx +++ b/app/routes/me.tsx @@ -1,11 +1,19 @@ import * as React from 'react' import type {ActionFunction, LoaderFunction} from 'remix' -import {Form, useRouteData, json, redirect} from 'remix' +import {Form, json, redirect, useRouteData} from 'remix' +import {Link} from 'react-router-dom' import {getQrCodeDataURL} from '../utils/qrcode.server' import {getDiscordAuthorizeURL, getDomainUrl} from '../utils/misc' import {useRequestInfo, useUser, useUserInfo} from '../utils/providers' import {getMagicLink, updateUser} from '../utils/prisma.server' import {requireUser, rootStorage, signOutSession} from '../utils/session.server' +import {H2, H6} from '../components/typography' +import {Grid} from '../components/grid' +import {Input, Label} from '../components/form-elements' +import {Button} from '../components/button' +import {CheckIcon} from '../components/icons/check-icon' +import {LogoutIcon} from '../components/icons/logout-icon' +import {TEAM_MAP} from '../utils/onboarding' type LoaderData = {message?: string; qrLoginCode: string} export const loader: LoaderFunction = ({request}) => { @@ -61,57 +69,144 @@ function YouScreen() { const userInfo = useUserInfo() const requestInfo = useRequestInfo() const authorizeURL = getDiscordAuthorizeURL(requestInfo.origin) + return (