feat: new login mobile device
This commit is contained in:
parent
886b2763ee
commit
4f5aa2deb8
@ -4,10 +4,20 @@ export const Container = styled.div`
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
position: relative;
|
||||||
|
top: 30%;
|
||||||
|
font-size: 150px;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const LoginWrapper = styled.div`
|
export const LoginWrapper = styled.div`
|
||||||
width: 60%;
|
width: 70%;
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
width: 90%;
|
||||||
|
margin-top: 50vh;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import Button from 'shared/components/Button';
|
import Button from 'shared/components/Button';
|
||||||
import { mixin } from 'shared/utils/styles';
|
import { mixin } from 'shared/utils/styles';
|
||||||
|
import AccessAccount from 'shared/undraw/AccessAccount';
|
||||||
|
|
||||||
export const Wrapper = styled.div`
|
export const Wrapper = styled.div`
|
||||||
background: #eff2f7;
|
background: #eff2f7;
|
||||||
@ -15,6 +16,12 @@ export const Column = styled.div`
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
svg {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const LoginFormWrapper = styled.div`
|
export const LoginFormWrapper = styled.div`
|
||||||
@ -25,18 +32,47 @@ export const LoginFormWrapper = styled.div`
|
|||||||
export const LoginFormContainer = styled.div`
|
export const LoginFormContainer = styled.div`
|
||||||
min-height: 505px;
|
min-height: 505px;
|
||||||
padding: 2rem;
|
padding: 2rem;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border: solid black 1px;
|
||||||
|
width: 600px;
|
||||||
|
height: 1100px;
|
||||||
|
box-shadow: 20px 20px 50px black;
|
||||||
|
}
|
||||||
|
@media (min-height: 641px) and (max-height: 653px) {
|
||||||
|
margin-top: 25%;
|
||||||
|
}
|
||||||
|
@media (min-height: 654px) and (max-height: 823px) and (max-width: 500px) {
|
||||||
|
margin-top: -20%;
|
||||||
|
}
|
||||||
|
@media (min-height: 480px) and (max-height: 639px) {
|
||||||
|
margin-top: 20%;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const Title = styled.h1`
|
export const Title = styled.h1`
|
||||||
color: #ebeefd;
|
color: #ebeefd;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
font-size: 38px;
|
||||||
|
margin-top: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const SubTitle = styled.h2`
|
export const SubTitle = styled.h2`
|
||||||
color: #c2c6dc;
|
color: #c2c6dc;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
margin-top: 30px;
|
||||||
|
font-size: 24.5px;
|
||||||
|
margin-bottom: 90px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
export const Form = styled.form`
|
export const Form = styled.form`
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -48,6 +84,10 @@ export const FormLabel = styled.label`
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-top: 14px;
|
margin-top: 14px;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
font-size: 35px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const FormTextInput = styled.input`
|
export const FormTextInput = styled.input`
|
||||||
@ -59,28 +99,92 @@ export const FormTextInput = styled.input`
|
|||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
color: #c2c6dc;
|
color: #c2c6dc;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
border: 5px solid rgba(0, 0, 0, 0.2);
|
||||||
|
border-radius: 5%;
|
||||||
|
font-size: 30px;
|
||||||
|
background-color: #353D64;
|
||||||
|
color: black;
|
||||||
|
padding: 0.7rem 1rem 1rem 3rem;
|
||||||
|
text-align: center;
|
||||||
|
&::placeholder {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:placeholder-shown) {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const FormIcon = styled.div`
|
export const FormIcon = styled.div`
|
||||||
top: 30px;
|
top: 30px;
|
||||||
left: 16px;
|
left: 16px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
svg {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
display: inline;
|
||||||
|
position: absolute;
|
||||||
|
top: 30px;
|
||||||
|
left: -5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const FormError = styled.span`
|
export const FormError = styled.span`
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
color: ${props => props.theme.colors.danger};
|
color: ${(props) => props.theme.colors.danger};
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const LoginButton = styled(Button)``;
|
export const LoginButton = styled(Button)`
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
span {
|
||||||
|
font-size: 40px;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
align-self: center;
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
margin-top: 40%;
|
||||||
|
width: 100%;
|
||||||
|
&:hover {
|
||||||
|
box-shadow: 5px 5px 20px white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
export const ActionButtons = styled.div`
|
export const ActionButtons = styled.div`
|
||||||
margin-top: 17.5px;
|
margin-top: 17.5px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
width: 150px;
|
||||||
|
align-content: center;
|
||||||
|
font-size: 50px;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const RegisterButton = styled(Button)``;
|
export const RegisterButton = styled(Button)`
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
span {
|
||||||
|
font-size: 40px;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
left: 0px;
|
||||||
|
margin-top: 29%;
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
export const LogoTitle = styled.div`
|
export const LogoTitle = styled.div`
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
@ -88,6 +192,9 @@ export const LogoTitle = styled.div`
|
|||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
transition: visibility, opacity, transform 0.25s ease;
|
transition: visibility, opacity, transform 0.25s ease;
|
||||||
color: #7367f0;
|
color: #7367f0;
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
font-size: 60px;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const LogoWrapper = styled.div`
|
export const LogoWrapper = styled.div`
|
||||||
@ -100,5 +207,16 @@ export const LogoWrapper = styled.div`
|
|||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
color: rgb(222, 235, 255);
|
color: rgb(222, 235, 255);
|
||||||
border-bottom: 1px solid ${props => mixin.rgba(props.theme.colors.alternate, 0.65)};
|
border-bottom: 1px solid ${(props) => mixin.rgba(props.theme.colors.alternate, 0.65)};
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
svg {
|
||||||
|
display: inline;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,7 +64,11 @@ const Login = ({ onSubmit }: LoginProps) => {
|
|||||||
<Form onSubmit={handleSubmit(loginSubmit)}>
|
<Form onSubmit={handleSubmit(loginSubmit)}>
|
||||||
<FormLabel htmlFor="username">
|
<FormLabel htmlFor="username">
|
||||||
Username
|
Username
|
||||||
<FormTextInput type="text" {...register('username', { required: 'Username is required' })} />
|
<FormTextInput
|
||||||
|
placeholder="Username"
|
||||||
|
type="text"
|
||||||
|
{...register('username', { required: 'Username is required' })}
|
||||||
|
/>
|
||||||
<FormIcon>
|
<FormIcon>
|
||||||
<User width={20} height={20} />
|
<User width={20} height={20} />
|
||||||
</FormIcon>
|
</FormIcon>
|
||||||
@ -72,7 +76,11 @@ const Login = ({ onSubmit }: LoginProps) => {
|
|||||||
{errors.username && <FormError>{errors.username.message}</FormError>}
|
{errors.username && <FormError>{errors.username.message}</FormError>}
|
||||||
<FormLabel htmlFor="password">
|
<FormLabel htmlFor="password">
|
||||||
Password
|
Password
|
||||||
<FormTextInput type="password" {...register('password', { required: 'Password is required' })} />
|
<FormTextInput
|
||||||
|
placeholder="Password"
|
||||||
|
type="password"
|
||||||
|
{...register('password', { required: 'Password is required' })}
|
||||||
|
/>
|
||||||
<FormIcon>
|
<FormIcon>
|
||||||
<Lock width={20} height={20} />
|
<Lock width={20} height={20} />
|
||||||
</FormIcon>
|
</FormIcon>
|
||||||
|
Loading…
Reference in New Issue
Block a user