1. Create Form Container
1. Register.jsx
import React from 'react'
const Register = () => {
return (
<div className="formContainer">
<div className="formWrapper">
<span className="logo">Lama Chat</span>
<span className="title">Register</span>
<form>
<input type="text" placeholder="display name"/>
<input type="email" placeholder="email"/>
<input type="password" placeholder="password"/>
<input type="file"/>
<button>Sign up</button>
</form>
<p>
You do have an account? Login
</p>
</div>
</div>
);
};
export default Register
2. View Chrome
2. Create image folder
src
│ App.js
│ index.js
│ style.scss
│
├─img
│ add.png
│ addAvatar.png
│ attach.png
│ cam.png
│ img.png
│ more.png
│
└─pages
Home.jsx
Login.jsx
Register.jsx
3. Register Page
1. yarn command
$ yarn add sass
2. create .scss file at ./src
.formContainer {
background-color: #a7bcff;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
.formWrapper {
background: white;
padding: 20px 60px;
border-radius: 10px;
display: flex;
flex-direction: column;
gap: 10px;
align-items: center;
.logo {
color: #5d5b8d;
font-weight: bold;
font-size: 24px;
}
.title {
color: #5d5b8d;
font-size: 12px;
}
form {
display: flex;
flex-direction: column;
gap: 15px;
input {
padding: 15px;
border: none;
width: 250px;
border-bottom: 1px solid #a7bcff;
&::placeholder {
color: rgb(175, 175, 175);
}
}
button {
background-color: #7b96ec;
color: white;
padding: 10px;
font-weight: bold;
border: none;
cursor: pointer;
}
label {
display: flex;
align-items: center;
gap: 10px;
color: #8da4f1;
font-size: 12px;
cursor: pointer;
img {
width: 32px;
}
}
p {
color: #5d5b8d;
font-size: 12px;
margin-top: 10px;
}
}
}
}
3. Change Register.jsx
import React from 'react'
import Add from "../img/addAvatar.png";
const Register = () => {
return (
<div className="formContainer">
<div className="formWrapper">
<span className="logo">Lama Chat</span>
<span className="title">Register</span>
<form>
<input type="text" placeholder="display name"/>
<input type="email" placeholder="email"/>
<input type="password" placeholder="password"/>
<input style={{display: "none"}} type="file" id="file"/>
<label htmlFor="file">
<img src={Add} alt=""/>
<span>Add an avatar</span>
</label>
<button>Sign up</button>
</form>
<p>
You do have an account? Login
</p>
</div>
</div>
);
};
export default Register
4. View Chrome
4. Login Page
1. Copy Register.jsx to Login.jsx and Change code
import React from 'react'
const Login = () => {
return (
<div className="formContainer">
<div className="formWrapper">
<span className="logo">Lama Chat</span>
<span className="title">Login</span>
<form>
<input type="email" placeholder="email"/>
<input type="password" placeholder="password"/>
<button>Sign in</button>
</form>
<p>You don't have an account? Register</p>
</div>
</div>
);
};
export default Login