Path: blob/1.0-develop/resources/scripts/components/auth/LoginFormContainer.tsx
10264 views
import React, { forwardRef } from 'react';1import { Form } from 'formik';2import styled from 'styled-components/macro';3import { breakpoint } from '@/theme';4import FlashMessageRender from '@/components/FlashMessageRender';5import tw from 'twin.macro';67type Props = React.DetailedHTMLProps<React.FormHTMLAttributes<HTMLFormElement>, HTMLFormElement> & {8title?: string;9};1011const Container = styled.div`12${breakpoint('sm')`13${tw`w-4/5 mx-auto`}14`};1516${breakpoint('md')`17${tw`p-10`}18`};1920${breakpoint('lg')`21${tw`w-3/5`}22`};2324${breakpoint('xl')`25${tw`w-full`}26max-width: 700px;27`};28`;2930export default forwardRef<HTMLFormElement, Props>(({ title, ...props }, ref) => (31<Container>32{title && <h2 css={tw`text-3xl text-center text-neutral-100 font-medium py-4`}>{title}</h2>}33<FlashMessageRender css={tw`mb-2 px-1`} />34<Form {...props} ref={ref}>35<div css={tw`md:flex w-full bg-white shadow-lg rounded-lg p-6 md:pl-0 mx-1`}>36<div css={tw`flex-none select-none mb-6 md:mb-0 self-center`}>37<img src={'/assets/svgs/pterodactyl.svg'} css={tw`block w-48 md:w-64 mx-auto`} />38</div>39<div css={tw`flex-1`}>{props.children}</div>40</div>41</Form>42<p css={tw`text-center text-neutral-500 text-xs mt-4`}>43© 2015 - {new Date().getFullYear()} 44<a45rel={'noopener nofollow noreferrer'}46href={'https://pterodactyl.io'}47target={'_blank'}48css={tw`no-underline text-neutral-500 hover:text-neutral-300`}49>50Pterodactyl Software51</a>52</p>53</Container>54));555657