From b542cf1f7cba39800016470a8bcde06e398c3d3b Mon Sep 17 00:00:00 2001
From: Pratyay Roy <59203815+DarkFalc0n@users.noreply.github.com>
Date: Tue, 15 Feb 2022 20:19:59 +0530
Subject: [PATCH] added login and reg page
---
frontend/components/Login/Login.jsx | 87 +++++++
frontend/components/Login/Login.style.js | 13 +
frontend/components/NavBar/index.js | 307 +++++++++++++----------
frontend/components/Reg/Reg.jsx | 160 +++++++-----
frontend/components/Reg/styles.css | 106 --------
frontend/jsconfig.json | 5 +-
frontend/package-lock.json | 93 +++++++
frontend/package.json | 3 +-
frontend/pages/_app.js | 15 +-
frontend/pages/index.js | 44 ++--
frontend/pages/login.js | 14 ++
frontend/pages/user/usercontext.js | 24 ++
frontend/public/images/user.png | Bin 0 -> 32272 bytes
frontend/styles/styles.css | 107 ++++++++
14 files changed, 657 insertions(+), 321 deletions(-)
create mode 100644 frontend/components/Login/Login.jsx
create mode 100644 frontend/components/Login/Login.style.js
delete mode 100644 frontend/components/Reg/styles.css
create mode 100644 frontend/pages/login.js
create mode 100644 frontend/pages/user/usercontext.js
create mode 100644 frontend/public/images/user.png
create mode 100644 frontend/styles/styles.css
diff --git a/frontend/components/Login/Login.jsx b/frontend/components/Login/Login.jsx
new file mode 100644
index 0000000..74938af
--- /dev/null
+++ b/frontend/components/Login/Login.jsx
@@ -0,0 +1,87 @@
+import React from "react";
+import LoginStyle from "./Login.style";
+import AccountCircleIcon from "@mui/icons-material/AccountCircle";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import {
+ faUser,
+ faEnvelope,
+ faLock,
+ faClose,
+} from "@fortawesome/free-solid-svg-icons";
+import { UserContext } from "../../pages/user/usercontext";
+import { useState } from "react";
+import Link from "next/link";
+import { useContext } from "react";
+
+function Login() {
+ const [userData, setUserData] = useState({
+ email: "",
+ password: "",
+ });
+
+ const handleInput = (event) => {
+ const name = event.target.name;
+ const value = event.target.value;
+ setUserData({ ...userData, [name]: value });
+ };
+
+ return (
+
+
+
+ );
+}
+export default Login;
diff --git a/frontend/components/Login/Login.style.js b/frontend/components/Login/Login.style.js
new file mode 100644
index 0000000..6883254
--- /dev/null
+++ b/frontend/components/Login/Login.style.js
@@ -0,0 +1,13 @@
+import styled from "styled-components"
+
+export default styled.section`
+ display: flex;
+ justify-content:center;
+ align-items:center;
+ .content {
+ display: flex;
+ justify-content:center;
+ align-items:center;
+ flex-direction:column;
+ }
+`
\ No newline at end of file
diff --git a/frontend/components/NavBar/index.js b/frontend/components/NavBar/index.js
index b53ba63..44da41e 100644
--- a/frontend/components/NavBar/index.js
+++ b/frontend/components/NavBar/index.js
@@ -1,136 +1,191 @@
-import React from 'react';
-import {Avatar, Box, Button, Container, IconButton, Menu, MenuItem, Toolbar, Tooltip, Typography,alpha} from "@mui/material";
-import GitHubIcon from '@mui/icons-material/GitHub';
-import MenuIcon from '@mui/icons-material/Menu';
+import React, { useContext } from "react";
+import {
+ Avatar,
+ Box,
+ Button,
+ Container,
+ IconButton,
+ Menu,
+ MenuItem,
+ Toolbar,
+ Tooltip,
+ Typography,
+ alpha,
+} from "@mui/material";
+import GitHubIcon from "@mui/icons-material/GitHub";
+import MenuIcon from "@mui/icons-material/Menu";
import NavbarStyle from "./Navbar.style";
-import Logo from './Logo';
-
-const settings = ['Profile', 'Account', 'Dashboard', 'Logout'];
+import Logo from "./Logo";
+import UserAuth, { UserContext } from "pages/user/usercontext";
+import Link from "next/link";
+const settings = ["Profile", "Account", "Dashboard", "Logout"];
function Index(props) {
- const [anchorElNav, setAnchorElNav] = React.useState(null);
- const [anchorElUser, setAnchorElUser] = React.useState(null);
+ const [anchorElNav, setAnchorElNav] = React.useState(null);
+ const [anchorElUser, setAnchorElUser] = React.useState(null);
- const handleOpenNavMenu = (event) => {
- setAnchorElNav(event.currentTarget);
- };
- const handleOpenUserMenu = (event) => {
- setAnchorElUser(event.currentTarget);
- };
+ const handleOpenNavMenu = (event) => {
+ setAnchorElNav(event.currentTarget);
+ };
+ const handleOpenUserMenu = (event) => {
+ setAnchorElUser(event.currentTarget);
+ };
- const handleCloseNavMenu = () => {
- setAnchorElNav(null);
- };
+ const handleCloseNavMenu = () => {
+ setAnchorElNav(null);
+ };
- const handleCloseUserMenu = () => {
- setAnchorElUser(null);
- };
+ const handleCloseUserMenu = () => {
+ setAnchorElUser(null);
+ };
- return (
-
-
-
-
- URL MINIFY
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ const { user, login, logout } = useContext(UserAuth);
-
-
-
-
-
-
-
-
-
-
-
- );
+ return (
+
+
+
+
+ URL MINIFY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {user ? (
+
+
+
+
+
+
+
+
+ ) : (
+
+ LOGIN
+
+ )}
+
+
+
+ );
}
-export default Index;
\ No newline at end of file
+export default Index;
diff --git a/frontend/components/Reg/Reg.jsx b/frontend/components/Reg/Reg.jsx
index 7bdec2a..1f8b25f 100644
--- a/frontend/components/Reg/Reg.jsx
+++ b/frontend/components/Reg/Reg.jsx
@@ -1,67 +1,105 @@
-import React from 'react';
+import React from "react";
import RegStyle from "./Reg.style";
-import Image from 'next/image'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faUser, faEnvelope, faLock, faClose } from '@fortawesome/free-solid-svg-icons'
-import { useState } from 'react';
-import { Link } from '@mui/material';
+import Image from "next/image";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import {
+ faUser,
+ faEnvelope,
+ faLock,
+ faClose,
+} from "@fortawesome/free-solid-svg-icons";
+import { useState } from "react";
+import { Link } from "@mui/material";
-function Reg(){
+function Reg() {
+ const [userData, setUserData] = useState({
+ username: "",
+ email: "",
+ password: "",
+ repassword: "",
+ });
- const [userData, setUserData] = useState({
- username: "",
- email: "",
- password:"",
- repassword:""
- })
+ const handleInput = (event) => {
+ const name = event.target.name;
+ const value = event.target.value;
+ setUserData({ ...userData, [name]: value });
+ };
- const handleInput = (event) => {
- const name = event.target.name;
- const value = event.target.value;
- setUserData({ ...userData, [name]: value})
- }
+ return (
+
+
+
+ );
}
-export default Reg;
\ No newline at end of file
+export default Reg;
diff --git a/frontend/components/Reg/styles.css b/frontend/components/Reg/styles.css
deleted file mode 100644
index 4ccb71b..0000000
--- a/frontend/components/Reg/styles.css
+++ /dev/null
@@ -1,106 +0,0 @@
-@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;400;500;700&display=swap');
-
-.reg-label{
- font-size: 24px;
- width: 30px;
- color: #9134bd;
- position: relative;
-}
-.reg-title{
- font-family: 'Montserrat', sans-serif;
- font-weight: 700;
- font-size: 36px;
- text-align: center;
- margin-bottom: 40px;
- color:#9134bd;
-}
-.reg-wide-container{
- width: 100%;
- text-align: right;
- color: #9134bd;
- font-size: 24px;
-}
-.reg-input{
- margin-left: 10px;
- height: 35px;
- width: 340px;
- font-family: 'Montserrat', sans-serif;
- font-weight: 400;
- font-size: 16px;
- border-radius: 20px;
- padding: 10px;
- border: none;
- justify-content: flex-end;
- color: #9134bd;
-}
-.reg-input:active, .reg-input:focus{
- outline: none;
-}
-.reg-input::placeholder{
- color: #6babc7;
-}
-.reg-field{
- display: flex;
- flex-direction: row;
- justify-content: flex-end;
- margin-bottom: 20px;
- margin-left: 20px;
- margin-right: 20px;
-}
-.form-wrapper{
- background-color: rgba(255,255,255,0.5);
- padding: 20px 30px 40px 30px;
- border-radius: 20px;
- font-size: 24px;
- text-align: center;
- backdrop-filter: blur(6px);
- border-style: solid;
- border-color: #f1faff;
- border-width: 1px 0px 0px 1px;
- margin-top: 0;
-}
-.submit-button{
-
- width: 100px;
- height: 40px;
- font-family: 'Montserrat', sans-serif;
- font-weight: 400;
- font-size: 18px;
- border-radius: 10px;
- border: none;
- margin-top: 20px ;
- background-image: linear-gradient(135deg ,#cc5fff, #7E3EE4, #0087ca, #2db9ff);
- background-size: 200%;
- background-position: left;
- color: white;
- transition: 0.5s;
-}
-.submit-button:hover{
- background-position: right;
-}
-.submit-button:active{
- transform: scale(0.95);
- transition: 0.1s
-}
-
-.icon{
- fill: black;
-}
-
-.foot-text{
- font-family: 'Montserrat', sans-serif;
- font-weight: 400;
- font-size: 18px;
- margin-top: 50px;
- color: black;
- text-decoration: none;
-}
-
-.underline{
- text-decoration: underline;
- color: #9134bd;
-}
-.underline:hover{
- color: #008ed4;
- transition: 0.5s;
-}
diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json
index b639b0f..e5bd45a 100644
--- a/frontend/jsconfig.json
+++ b/frontend/jsconfig.json
@@ -1,5 +1,6 @@
{
"compilerOptions": {
- "baseUrl": "."
+ "baseUrl": ".",
+ "paths": { "@pages/*": ["pages/*"] }
}
-}
\ No newline at end of file
+}
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 5e18b75..1b85498 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -738,6 +738,19 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
+ "history": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
+ "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "loose-envify": "^1.2.0",
+ "resolve-pathname": "^3.0.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0",
+ "value-equal": "^1.0.1"
+ }
+ },
"hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -775,6 +788,11 @@
"has": "^1.0.3"
}
},
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -808,6 +826,15 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
+ "mini-create-react-context": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz",
+ "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==",
+ "requires": {
+ "@babel/runtime": "^7.12.1",
+ "tiny-warning": "^1.0.3"
+ }
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -870,6 +897,14 @@
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
+ "path-to-regexp": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ },
"path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -942,6 +977,44 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
+ "react-router": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz",
+ "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==",
+ "requires": {
+ "@babel/runtime": "^7.12.13",
+ "history": "^4.9.0",
+ "hoist-non-react-statics": "^3.1.0",
+ "loose-envify": "^1.3.1",
+ "mini-create-react-context": "^0.4.0",
+ "path-to-regexp": "^1.7.0",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz",
+ "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==",
+ "requires": {
+ "@babel/runtime": "^7.12.13",
+ "history": "^4.9.0",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-router": "5.2.1",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ }
+ },
"react-transition-group": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz",
@@ -973,6 +1046,11 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
},
+ "resolve-pathname": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
+ "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -1042,6 +1120,16 @@
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
},
+ "tiny-invariant": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz",
+ "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg=="
+ },
+ "tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -1055,6 +1143,11 @@
"object-assign": "^4.1.1"
}
},
+ "value-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
+ "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
+ },
"yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index b11fac0..1611d1b 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -19,8 +19,9 @@
"@mui/material": "^5.4.0",
"@mui/styled-engine-sc": "^5.3.0",
"next": "12.0.9",
- "react": "17.0.2",
+ "react": "^17.0.2",
"react-dom": "17.0.2",
+ "react-router-dom": "^5.3.0",
"styled-components": "^5.3.3"
},
"license": "MIT",
diff --git a/frontend/pages/_app.js b/frontend/pages/_app.js
index 5d25c53..adb3425 100644
--- a/frontend/pages/_app.js
+++ b/frontend/pages/_app.js
@@ -1,9 +1,14 @@
-import '../styles/globals.css'
-import '../styles/logostyles.css'
-import '../components/Reg/styles.css'
+import "../styles/globals.css";
+import "../styles/logostyles.css";
+import "../styles/styles.css";
+import { UserAuthProvider } from "./user/usercontext";
function MyApp({ Component, pageProps }) {
- return
+ return (
+
+
+
+ );
}
-export default MyApp
+export default MyApp;
diff --git a/frontend/pages/index.js b/frontend/pages/index.js
index 85a1ae8..3667826 100644
--- a/frontend/pages/index.js
+++ b/frontend/pages/index.js
@@ -1,25 +1,29 @@
-import { useState } from 'react'
-import Head from 'next/head'
-import HomeSection from "components/HomeSection/homeSection"
+import { useState, useMemo } from "react";
+import Head from "next/head";
+import HomeSection from "components/HomeSection/homeSection";
import NavBar from "components/NavBar";
-import Features from 'components/Features'
-
+import Features from "components/Features";
+import Reg from "components/Reg/Reg";
+import Login from "components/Login/Login";
+import { UserAuthProvider, UserContext } from "./user/usercontext";
+import { BrowserRouter as Router, Route, Link } from "react-router-dom";
export default function Home() {
- const [shortUrl, setShortUrl] = useState(null)
- const [longURL, setLongURL] = useState('')
- return (
-
-
-
URL MiniFy
-
-
+ const [shortUrl, setShortUrl] = useState(null);
+ const [longURL, setLongURL] = useState("");
-
-
-
-
-
-
- )
+ return (
+ <>
+
+ URL MiniFy
+
+
+
+
+
+
+
+
+ >
+ );
}
diff --git a/frontend/pages/login.js b/frontend/pages/login.js
new file mode 100644
index 0000000..db6cc8e
--- /dev/null
+++ b/frontend/pages/login.js
@@ -0,0 +1,14 @@
+import { useState } from "react";
+import Head from "next/head";
+import NavBar from "components/NavBar";
+import Features from "components/Features";
+import Login from "components/Login/Login";
+
+export default function signup() {
+ return (
+
+
+
+
+ );
+}
diff --git a/frontend/pages/user/usercontext.js b/frontend/pages/user/usercontext.js
new file mode 100644
index 0000000..a92199b
--- /dev/null
+++ b/frontend/pages/user/usercontext.js
@@ -0,0 +1,24 @@
+import { createContext } from "react";
+import { useState } from "react";
+
+const UserAuth = createContext({
+ user: null,
+ login: () => {},
+ logout: () => {},
+});
+
+export const UserAuthProvider = ({ children }) => {
+ const [user, setUser] = useState(null);
+ const login = () => {
+ setUser("default");
+ };
+
+ const logout = () => {
+ setUser(null);
+ };
+ const context = { user, login, logout };
+
+ return {children};
+};
+
+export default UserAuth;
diff --git a/frontend/public/images/user.png b/frontend/public/images/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe67d03f9fe1241b16f73663caf59ab5d7a6524e
GIT binary patch
literal 32272
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