Merge branch main with current

This commit is contained in:
Moe Poi ~ 2021-11-09 09:20:03 +07:00
commit 2d4b7f0444
13 changed files with 2968 additions and 1982 deletions

View file

@ -1,11 +1,12 @@
const express = require('express')
const bodyParser = require('body-parser')
const session = require('express-session')
const app = express()
app.use(express.static('public'))
app.set('view engine', 'ejs')
const indexRouter = require('./routes/product');
const indexRouter = require('./routes/index');
app.use('/', indexRouter);

2120
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -10,10 +10,11 @@
"author": "Nekoya Dev",
"license": "ISC",
"dependencies": {
"ejs": "^3.1.6",
"express": "^4.17.1"
"ejs": "^3.1.6"
},
"devDependencies": {
"express": "^4.17.1",
"express-session": "^1.17.2",
"nodemon": "^2.0.14"
}
}

603
public/css/Style-index.css Normal file
View file

@ -0,0 +1,603 @@
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
body {
font-family: 'Poppins', sans-serif;
background-color: #1b1c1e;
}
@media screen and (max-width: 426px) {
.carousel-item img {
height: 60vw;
}
}
@media screen and (min-width: 427px) {
.carousel-item img {
height: 40vw;
}
}
.nav-color {
background-color: #212226;
}
.nav-radius {
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
}
.carousel-inner {
margin-top: -3%;
}
.carousel-item {
text-align: center;
justify-content: center;
align-items: center;
position: relative;
}
.carousel-img {
overflow: hidden;
}
.carousel-img figure {
position: relative;
width: 425%;
margin: 0;
left: 0;
}
.banner {
width: 100%;
margin-top: 30px;
}
.banner_item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 265px;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
}
.banner_category {
height: 50px;
background: #ffffff;
min-width: 188px;
padding-left: 25px;
padding-right: 25px;
}
.banner_category a {
display: block;
color: #1e1e27;
text-transform: uppercase;
font-size: 22px;
font-weight: 600;
text-align: center;
line-height: 50px;
width: 100%;
}
.banner_category a:hover {
color: #b5aec4;
}
.new_arrivals {
width: 100%;
color: white;
}
.new_arrivals_title {
margin-top: 74px;
}
.new_arrivals_sorting {
display: inline-block;
border-radius: 3px;
margin-top: 59px;
overflow: visible;
}
.grid_sorting_button {
height: 40px;
min-width: 102px;
padding-left: 25px;
padding-right: 25px;
cursor: pointer;
border: solid 1px #ebebeb;
font-size: 14px;
font-weight: 500;
text-transform: uppercase;
background: #212226;
color: white;
border-radius: 3px;
margin: 0;
float: left;
justify-content: center;
}
.grid_sorting_button:first-child {
margin-left: 0px;
}
.grid_sorting_button.active {
color: #ffffff;
background: #fe4c50;
}
.grid_sorting_button.active:hover {
background: #fe7c7f;
}
.product-grid {
width: 100%;
margin-top: 57px;
margin-left: 5px;
}
.product-item {
width: 20%;
height: 380px;
cursor: pointer;
}
.product-item::after {
display: block;
position: absolute;
top: 0;
left: -1px;
width: cal(100% +1px);
height: 100%;
pointer-events: none;
content: '';
border-radius: 3px;
transition: all 0.3s ease;
}
.product-item:hover::after {
box-sizing: 0 25px 29px rgba(63, 78, 100, 0.15);
}
.product {
width: 100%;
height: 340px;
}
.product_image {
width: 100%;
}
.product_image img {
width: 100%;
}
.product_info {
text-align: center;
padding-left: 10px;
padding-right: 10px;
}
.product_name {
margin-top: 27px;
}
.product_name a {
color: #ffffff;
line-height: 20px;
}
.product_name:hover a {
color: #b5aec4;
}
.discount .product_info .product_price {
font-size: 14px;
}
.product_price {
font-size: 16px;
color: #fe4c50;
font-weight: 600;
}
.product_price span {
font-size: 12px;
margin-left: 10px;
color: #b5aec4;
text-decoration: line-through;
}
.product_bubble {
position: absolute;
top: 15px;
width: 50px;
height: 22px;
border-radius: 3px;
text-transform: uppercase;
}
.product_bubble span {
font-size: 12px;
font-weight: 600;
color: #ffffff;
}
.product_bubble_right::after {
content: '';
position: absolute;
width: 0;
height: 0;
left: 6px;
right: auto;
top: auto;
bottom: -6px;
border: 6px solid;
}
.product_bubble_left::after {
content: '';
position: absolute;
width: 0;
height: 0;
left: auto;
right: 6px;
top: auto;
bottom: -6px;
border: 6px solid;
}
.product_bubble_red::after {
border-color: transparent transparent transparent #fe4c50;
}
.product_bubble_left::after {
border-color: #51a042 #51a042 transparent transparent;
}
.product_bubble_red {
background: #fe4c50;
}
.product_bubble_green {
background: #51a042;
}
.product_bubble_left {
left: 15px;
}
.product_bubble_right {
right: 15px;
}
.add_to_cart_button {
width: 100%;
visibility: hidden;
opacity: 0;
transition: all 0, 3s ease;
color: black;
background-color: #ffffff;
text-align: center;
margin-top: 3%;
}
.add_to_cart_button a {
font-size: 12px;
font-weight: 600;
color: black;
}
.product-item:hover .add_to_cart_button {
visibility: visible;
opacity: 1;
}
.favorite {
position: absolute;
top: 15px;
right: 15px;
color: #b9b4c7;
width: 17px;
height: 17px;
visibility: hidden;
opacity: 0;
}
.favorite_left {
left: 15px;
}
.favorite.active {
visibility: visible;
opacity: 1;
}
.product-item:hover .favorite {
visibility: visible;
opacity: 1;
}
.favorite.active::after {
font-family: 'FontAwesome';
content: '\f004';
color: #ffffff;
}
.favorite::after {
font-family: 'FontAwesome';
content: '\f08a';
}
.favorite:hover::after {
color: #ffffff;
}
.main_slider {
height: 550px;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
margin-top: 3%;
position: relative;
}
.slider-img figure {
position: relative;
width: 325%;
margin: 0;
left: 0;
}
.main_slider_content {
width: 60%;
}
.main_slider_content p {
font-size: 14pt;
font-weight: 500;
text-transform: uppercase;
margin-bottom: 29px;
margin-top: 15%;
}
.main_slider_content a {
font-weight: 400;
line-height: 1;
font-size: 40pt;
}
.red_button {
display: inline-flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: auto;
height: 40px;
background: crimson;
border-radius: 3px;
transition: all 0.3s ease;
}
.red_button a {
display: block;
color: #ffffff;
text-transform: uppercase;
font-size: 14px;
font-weight: 500;
text-align: center;
line-height: 40px;
width: 100%;
}
.red_button:hover {
background: #fe7c7f;
}
.shop_now_button {
width: 140px;
margin-top: 32px;
}
.section_title {
color: #ffffff;
}
.product_slider_container {
width: 100%;
height: 340px;
margin-top: 73px;
}
.product_slider_container::after {
display: block;
position: absolute;
top: 0;
right: 0;
width: 1px;
height: 100%;
content: '';
z-index: 1;
}
.product_slider {
overflow: visible !important;
}
.product_slider_item .product-item {
height: 340;
}
.product_slider_item {
width: 20%;
}
.product_slider_item .product-item {
width: 100% !important;
}
.product_slider_nav {
position: absolute;
width: 30px;
height: 70px;
background: #ffffff;
transform: translateY(-50%);
z-index: 2;
cursor: pointer;
visibility: hidden;
opacity: 0;
transition: all 300ms ease;
}
.product_slider_container:hover .product_slider_nav {
visibility: visible;
opacity: 1;
}
.product_slider_nav i {
color: black;
font-size: 12px;
}
.product_slider_nav_left {
top: 50%;
left: 0;
}
.product_slider_nav_right {
top: 50%;
right: 0;
}
.benefit {
margin-top: 74px;
}
.benefit_row {
padding-left: 15px;
padding-right: 15px;
}
.benefit_col {
padding-left: 0px;
padding-right: 0px;
}
.benefit_item {
height: 100px;
background: #1b1c1e;
border-right: solid 1px #1b1c1e;
color: white;
padding-left: 25px;
}
.benefit_col:last-child .benefit_item {
border-right: none;
}
.benefit_icon i {
font-size: 30px;
color: #fe4c50;
}
.benefit_content {
padding-left: 22px;
}
.benefit_content h6 {
text-transform: uppercase;
line-height: 18px;
font-weight: 500;
margin-bottom: 0px;
}
.benefit_content p {
font-size: 12px;
line-height: 18px;
margin-bottom: 0px;
color: #51545f;
}
.newsletter {
width: 100;
background: #1b1c1e;
margin-top: 81px;
}
.newsletter_text {
height: 120px;
}
.newsletter_text h4 {
margin-bottom: 0px;
line-height: 24px;
color: white;
}
.newsletter_text p {
margin-bottom: 0px;
line-height: 1.7;
color: white;
}
.carousel img {
object-fit: cover;
}
.newsletter_form {
height: 120px;
}
#newsletter_email {
width: 300px;
height: 46px;
background: #ffffff;
border: none;
padding-left: 20px;
}
#newsletter_email:focus {
border: solid 1px #7f7f7f !important;
box-shadow: none !important;
}
:focus {
outline: none !important;
}
#newsletter_email::-webkit-input-placeholder {
font-size: 14px !important;
font-weight: 400;
color: #b9b4c7 !important;
}
#newsletter_email::input-placeholder {
font-size: 14px !important;
font-weight: 400;
color: #b9b4c7 !important;
}
.newsletter_submit_btn {
width: 160px;
height: 46px;
border: none;
background: #fe4c50;
color: #ffffff;
font-size: 14px;
font-weight: 500;
text-transform: uppercase;
cursor: pointer;
}
.newsletter_submit_btn:hover {
background: #fe7c7f;
}
:focus {
outline: 0 !important;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}

View file

@ -1,8 +1,23 @@
const express = require('express')
const router = express.Router()
router.get('/', (_req, res) => {
res.render('pages/index');
})
router.get('/login', (_req, res) => {
res.render('pages/login');
})
router.get('/forgot-password', (_req, res) => {
res.render('pages/forgot-password');
})
router.get('/otp', (_req, res) => {
res.render('pages/otp');
})
router.get('/product', (_req, res) => {
res.render('pages/product')
})

View file

@ -0,0 +1,132 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<style>
.card {
background-color: #212226;
border-radius: 20px;
}
body {
font-family: 'Poppins', sans-serif;
background-color: #1b1c1e;
}
.nav-color {
background-color: #212226;
}
.nav-radius {
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
}
@media screen and (max-width: 425px) {
.card a,
input {
font-size: 3vw;
}
.card-header {
font-size: 6vw;
}
}
@media screen and (min-width: 426px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 5vw;
}
}
@media screen and (min-width: 767px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 4vw;
}
}
@media screen and (min-width: 993px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
}
@media screen and (min-width: 1400px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
}
@media screen and (max-width: 500px) {
.form {
width: 95%;
}
.form .user-input {
width: 100%
}
.form .btn {
width: 100%;
}
}
</style>
</head>
<body>
<nav class="navbar navbar-dark nav-color ml-5 mr-5 nav-radius">
<img alt="Banner" class="navbar-brand lazyload" src="img/logo_transparent.webp" style="margin-top: 0%;"
width="5%">
<ul class="navbar-nav">
<li class="nav-item">
<a style="color: white; font-size: 16pt;">Forgot Password</a>
</li>
</ul>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01"></div>
</nav>
<script>
feather.replace()
</script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>

View file

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="assets/favicon.webp" rel="shortcut icon" type="image/webp" />
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<script src="https://kit.fontawesome.com/e48d166edc.js" crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="plugins/OwlCarousel2-2.2.1/owl.carousel.css">
<script src="https://unpkg.com/feather-icons"></script>
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="Style-index.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js"></script>
<link rel="stylesheet" href="css/Style-index.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark nav-color ml-5 mr-5 nav-radius">
<a href="/"><img alt="Banner" class="navbar-brand lazyload" height="80" src="img/logo_transparent.webp"
style="margin-top: 0%;" width="80"></a>
<button aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation"
class="navbar-toggler" data-target="#navbarTogglerDemo01" data-toggle="collapse" type="button">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<ul class="navbar-nav mx-auto">
<li class="nav-item active">
<a aria-disabled="true" class="nav-link disabled" href="/">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="product-list.html">Products</a>
</li>
<li class="nav-item">
<a class="nav-link" href="about-us.html">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="faq.html">FAQ</a>
</li>
</ul>
<span class="navbar-nav my-2 my-lg-0 text-white">
<div class="my-4">
<a href="login.html"><button class="btn btn-outline-success mt-auto mb-auto mr-3"
type="button">Login</button></a>
</div>
<div class="my-4">
<a href="login.html"><button class="btn btn-outline-success mt-auto mb-auto mr-3"
type="button">Logout</button></a>
</div>
<a href="bag.html" class="mt-auto mb-auto" style="color: inherit;"><i class="fas fa-shopping-cart"><span
class="ml-2 mt-auto mb-auto">Rp 999.999</span></i></a>
</span>
</div>
</nav>
<script>
feather.replace()
</script>
<script src="https://unpkg.com/aos@next/dist/aos.js"></script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>

View file

@ -0,0 +1,169 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
<style>
.card {
background-color: #212226;
border-radius: 20px;
font-family: 'Poppins', sans-serif;
}
.btn-login {
width: 100%;
background-color: darkred;
border-color: darkred;
border-radius: 100px;
}
.btn-login:hover {
background-color: red;
border-color: red;
}
.input-group-text{
background-color: #212226;
color: white;
}
.form-control:valid {
background-color: #212226;
color: white;
}
.form-control:invalid {
background-color: #2f0001;
color: white;
}
.nav-color {
background-color: #212226;
}
.nav-radius {
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
}
@media screen and (max-width: 426px) {
.card a,
input {
font-size: 3vw;
}
.card-header {
font-size: 6vw;
}
.navbar-brand {
width: 15vw;
height: 15vw;
}
}
@media screen and (min-width: 427px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 5vw;
}
.navbar-brand {
width: 11vw;
height: 11vw;
}
}
@media screen and (min-width: 767px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 4vw;
}
.navbar-brand {
width: 8vw;
height: 8vw;
}
}
@media screen and (min-width: 993px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
.navbar-brand {
width: 6vw;
height: 6vw;
}
}
@media screen and (min-width: 1400px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
.navbar-brand {
width: 6vw;
height: 6vw;
}
}
</style>
</head>
<body>
<nav class="navbar navbar-dark nav-color ml-5 mr-5 nav-radius">
<a href="/"><img alt="Banner" class="navbar-brand lazyload" src="img/logo_transparent.webp" style="margin-top: 0%;"></a>
<ul class="navbar-nav">
<li class="nav-item">
<a style="color: white; font-size: 16pt;">Login</a>
</li>
</ul>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01"></div>
</nav>
<script>
feather.replace()
</script>
<script src="https://unpkg.com/aos@next/dist/aos.js"></script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>

View file

@ -0,0 +1,144 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<style>
.card {
background-color: #212226;
border-radius: 20px;
}
body {
font-family: 'Poppins', sans-serif;
background-color: #1b1c1e;
}
.verify-btn {
width: 100%;
background-color: darkred;
border-color: darkred;
border-radius: 100px;
}
.verify-btn:hover {
background-color: red;
border-color: red;
}
.nav-color {
background-color: #212226;
}
.nav-radius {
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
}
@media screen and (max-width: 425px) {
.card a,
input {
font-size: 3vw;
}
.card-header {
font-size: 6vw;
}
}
@media screen and (min-width: 426px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 5vw;
}
}
@media screen and (min-width: 767px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 4vw;
}
}
@media screen and (min-width: 993px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
}
@media screen and (min-width: 1400px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
}
@media screen and (max-width: 500px) {
.form {
width: 95%;
}
.form .user-input {
width: 100%
}
.form .btn {
width: 100%;
}
}
</style>
</head>
<body>
<nav class="navbar navbar-dark nav-color ml-5 mr-5 nav-radius">
<img alt="Banner" class="navbar-brand lazyload" src="img/logo_transparent.webp" style="margin-top: 0%;"
width="5%">
<ul class="navbar-nav">
<li class="nav-item">
<a style="color: white; font-size: 16pt;">2-Factor Verification</a>
</li>
</ul>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01"></div>
</nav>
<script>
feather.replace()
</script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>

View file

@ -0,0 +1,259 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta name="theme-color" content="#2f0001">
<link href="assets/favicon.webp" rel="shortcut icon" type="image/png" />
<title>Forgot Password</title>
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<style>
body {
font-family: 'Poppins', sans-serif;
background-color: #1b1c1e;
}
.form-control {
background-color: #212226;
color: white;
}
.form-control:valid {
background-color: #212226;
color: white;
}
.form-control:invalid {
background-color: #2f0001;
color: white;
}
button[type="submit"] {
margin-bottom: 4%;
}
.btn-forgot {
width: 100%;
}
.hoverforgot-1 a {
color: white;
background-color: transparent;
position: center;
margin: auto;
text-align: center;
}
.hoverforgot-1 a:hover {
background-color: transparent;
color: white;
text-decoration: underline;
}
.card {
position: center;
margin: auto;
margin-top: 3%;
text-align: center;
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
background-color: #212226;
}
.icon {
position: center;
margin: auto;
width: 100%;
height: 100%;
padding-bottom: 0%;
}
.form-check {
float: left;
}
.form .options-01 {
margin-bottom: 50px;
}
.form .options-01 input {
width: 15px;
height: 15px;
margin-right: 5px;
}
.form .options-01 .remember-me {
color: #bbb;
font-size: 6pt;
display: flex;
align-items: center;
float: left;
cursor: pointer;
word-break: keep-all;
}
.form .options-01 a {
color: #888;
font-size: 14px;
font-style: italic;
float: right;
text-align: right;
text-decoration: underline;
}
.text {
margin-bottom: -6%;
}
@media screen and (max-width: 425px) {
.card a,
input {
font-size: 3vw;
}
.card-header {
font-size: 6vw;
}
}
@media screen and (min-width: 426px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 5vw;
}
}
@media screen and (min-width: 767px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 4vw;
}
}
@media screen and (min-width: 993px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
}
@media screen and (min-width: 1400px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
}
@media screen and (max-width: 500px) {
.form {
width: 95%;
}
.form .user-input {
width: 100%
}
.form .btn {
width: 100%;
}
}
.btn-resetpassword {
width: 100%;
background-color: darkred;
border-color: darkred;
border-radius: 100px;
}
.btn-resetpassword:hover {
background-color: red;
border-color: red;
}
:focus {
outline: 0 !important;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js"></script>
</head>
<body>
<%- include('../layouts/navbar-forgot-password.ejs'); %>
<div class="container">
<div class="row">
<div class="col">
<div class="card text-white col-md-8 col-lg-6 col-xl-5">
<h1 class="card-header text-white">Forgot Password</h1>
<lottie-player autoplay background="transparent" class="icon" loop speed="1"
src="https://assets9.lottiefiles.com/packages/lf20_xvrofzfk.json"></lottie-player>
<div class="py-3 text" style="padding: 0% 5%; text-align: center;">
<a>Enter your email to receive instructions on how to reset your password.</a>
</div>
<div class="card-body">
<form class="px-4 py-3">
<div class="form-group" style="text-align: left;">
<a data-feather="mail" href="" style="font-size: 40px;"></a>
<label for="exampleDropdownFormEmail1">Email</label>
<input class="form-control input-sm text-center" id="exampleDropdownFormEmail1"
placeholder="Email address" type="email">
</div>
<a href="otp.html"><input class="btn btn-resetpassword btn-primary" style="width: 100%;"
type="button" value="Reset Password"></a>
<br><br>
<div class="hoverforgot-1 text-center">
<a href="login.html">Or Return to Login</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
feather.replace()
</script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>

784
views/pages/index.ejs Normal file
View file

@ -0,0 +1,784 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#2f0001">
<title>Nekoya</title>
<link href="assets/favicon.webp" rel="shortcut icon" type="image/webp" />
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<script src="https://kit.fontawesome.com/e48d166edc.js" crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="plugins/OwlCarousel2-2.2.1/owl.carousel.css">
<script src="https://unpkg.com/feather-icons"></script>
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="Style-index.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js"></script>
</head>
<body class="bg-color">
<%- include('../layouts/navbar-index.ejs'); %>
<header>
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div style="padding-top: 66px;">
<div class="col-13">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" id="carousel-img">
<div class="carousel-item active" data-interval="1">
<img class="d-block w-100 lazyload" src="img/Carousel_1.webp" alt="First slide">
</div>
<div class="carousel-item" data-interval="1">
<img class="d-block w-100 lazyload" src="img/Carousel_2.webp" alt="Second slide">
</div>
<div class="carousel-item" data-interval="1">
<img class="d-block w-100 lazyload" src="img/Carousel_3.webp" alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
</header>
<div class="banner">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-4">
<div class="banner_item align-item-center" style="background-image: url(img/banner_1.webp);">
<div class="banner_category">
<a href="#">Women's</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="banner_item align-item-center" style="background-image: url(img/banner_2.webp);">
<div class="banner_category">
<a href="#">Men's</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="new_arrivals">
<div class="container">
<div class="row">
<div class="col text-center">
<div class="section-title new_arrivals_title" style="margin-top: 3%;">
<h2>New Arrivals</h2>
</div>
</div>
</div>
<div class="row align-items-center">
<div class="col text-center">
<div class="new_arrivals_sorting" style="margin-top: 3%; justify-content: center ;">
<ul class="arrivals_grid_sorting clearfix button-group filters-button-group">
<li class="grid_sorting_button button d-flex flex-column justify-content-center align-items-center active is-checked"
data-filter="*">All
</li>
<li class="grid_sorting_button button d-flex flex-column justify-content-center align-items-center"
data-filter=".women">Women's
</li>
<li class="grid_sorting_button button d-flex flex-column justify-content-center align-items-center"
data-filter=".men">Men's
</li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="product-grid"
data-isotope='{ "itemSelector": ".product-item", "layoutMode": "fitRows"}'>
<div class="product-item men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_1.webp" alt="product_1" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>New</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (GX0997)</a></h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_2.webp" alt="product_2" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (G55575)</a></h6>
<div class="product_price">Rp. 1.760.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_3.webp" alt="product_3" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br>(FV1740)</a></h6>
<div class="product_price">Rp. 1.100.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_4.webp" alt="product_4" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 PRIMBLUE (GZ9256)</a>
</h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item women men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_5.webp" alt="product_5" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (GZ7944)</a></h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item men">
<div class="product discount product_filter">
<div class="product_image">
<img src="img/Product_6.webp" alt="product_6" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>New</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br> (GZ7943)</a></h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_7.webp" alt="product_7" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br> (FY3566)</a></h6>
<div class="product_price">Rp. 1.540.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item women men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_8.webp" alt="product_8" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (GX0996)</a></h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_9.webp" alt="product_9" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br> (FY3565)</a></h6>
<div class="product_price">Rp. 1.540.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
<div class="product-item men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_10.webp" alt="product_1" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1A (FX6794)</a></h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
<div class="add_to_cart_button"><a href="bag.html">ADD TO CART</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="main_slider" id="slider-img" style="background-image: url(img/slider_1.webp);">
<div class="container fill_hight">
<div class="row align-items-center fill_hight" style="margin-top: -4%;">
<div class="col">
<div class="main_slider_content">
<p>Spring / Summer Collection 2021</p>
<a>Get up to 30% off <br> Now Arrivals</a>
<br>
<div class="red_button shop_now_button"><a href="product-list.html">Shop now</a></div>
</div>
</div>
</div>
</div>
</div>
<div class="best_sellers">
<div class="container">
<div class="row">
<div class="col text-center">
<div class="section_title new_arrivals_title" style="margin-top: 3%;">
<h2>Best Sellers</h2>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="product_slider_container" style="margin-top: 3%;">
<div class="owl-carousel owl-theme product_slider">
<div class="owl-item product_slider_item">
<div class="product-item men">
<div class="product discount product_filter">
<div class="product_image">
<img src="img/Product_1.webp" alt="product_1" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>New</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (G55575)</a>
</h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_2.webp" alt="product_2" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (G55575)</a>
</h6>
<div class="product_price">Rp. 1.760.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_3.webp" alt="product_3" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br>
(FV1740)</a>
</h6>
<div class="product_price">Rp. 1.100.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item accessories">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_4.webp" alt="product_4" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 PRIMBLUE
(GZ9256)</a></h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item women men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_5.webp" alt="product_5" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (GZ7944)</a>
</h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item accessories">
<div class="product discount product_filter">
<div class="product_image">
<img src="img/Product_6.webp" alt="product_6" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>New</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br>
(GZ7943)</a>
</h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item women">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_7.webp" alt="product_7" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br>
(FY3566)</a>
</h6>
<div class="product_price">Rp. 1.540.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item accessories">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_8.webp" alt="product_8" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 (GX0996)</a>
</h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_9.webp" alt="product_9" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div
class="product_bubble product_bubble_right product_bubble_red d-flex flex-column align-items-center">
<span>Sale</span>
</div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1 <br>
(FY3565)</a>
</h6>
<div class="product_price">Rp. 1.540.000</div>
</div>
</div>
</div>
</div>
<div class="owl-item product_slider_item">
<div class="product-item men">
<div class="product product_filter">
<div class="product_image">
<img src="img/Product_10.webp" alt="product_1" class="lazyload">
</div>
<div class="favorite favorite_left"></div>
<div class="product_info">
<h6 class="product_name"><a href="product.html">Adidas NMD_R1A (FX6794)</a>
</h6>
<div class="product_price">Rp. 2.200.000</div>
</div>
</div>
</div>
</div>
</div>
<div
class="product_slider_nav_left product_slider_nav d-flex align-items-center justify-content-center flex-column">
<i class="fa fas-chevron-left" aria-hidden="true"><img
src="https://img.icons8.com/material-rounded/48/000000/back--v1.webp"
class="lazyload" /></i>
</div>
<div
class="product_slider_nav_right product_slider_nav d-flex align-items-center justify-content-center flex-column">
<i class="fa fas-chevron-right" aria-hidden="true"><img
src="https://img.icons8.com/ios-glyphs/30/000000/more-than" class="lazyload" /></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="benefit" style="margin-top: 2%;">
<div class="container">
<div class="row benefit_row" style="justify-content: center;">
<div class="col-lg-3 benefit_col">
<div class="benefit_item d-flex flex-row align-items-center">
<div class="benefit_icon">
<i class="fa fa-truck" aria-hidden="true"></i>
</div>
<div class="benefit_content">
<h6>Free Shipping</h6>
<p>Suffered Alteration is Some Form</p>
</div>
</div>
</div>
<div class="col-lg-3 benefit_col">
<div class="benefit_item d-flex flex-row align-items-center">
<div class="benefit_icon">
<i class="fa fa-undo" aria-hidden="true"></i>
</div>
<div class="benefit_content">
<h6>14 days return</h6>
<p>Making it Look like Readable</p>
</div>
</div>
</div>
<div class="col-lg-3 benefit_col">
<div class="benefit_item d-flex flex-row align-items-center">
<div class="benefit_icon">
<i class="fa fa-clock-o" aria-hidden="true"></i>
</div>
<div class="benefit_content">
<h6>Operation Hours</h6>
<p>8AM - 9PM</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="newsletter" style="margin-top: 2%;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<div class="newsletter_text d-flex flex-column justify-content-center
align-items-lg-start align-items-md-center text-center">
<h4>Newsletter</h4>
<p>Subscribe to Our Newsletter and get 20% off your first purchase</p>
</div>
</div>
<div class="col-lg-6">
<form action="post">
<div class="newsletter_form d-flex flex-md-row fex-column flex-xs-column
align-items-center justify-content-lg-end justify-content-center">
<input id="newsletter_email" type="email" placeholder="Input Your Email" required="required"
data-error="valid email is required">
<button id="newsletter_submit" type="submit" class="newsletter_submit_btn trans_300"
value="submit">Subscribe
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous">
</script>
<script>
feather.replace()
</script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js"
integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous">
</script>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="plugins/Isotope/isotope.pkgd.min.js"></script>
<script src="plugins/OwlCarousel2-2.2.1/owl.carousel.js"></script>
<script>
jQuery(document).ready(function ($) {
"user strict";
var mainSlider = $('.main.slider');
var hamburger = $('.hamburger_container');
var menu = $('.hamburger_menu');
var menuActive = false;
var hamburgerClose = $('.hamburger_close');
var fsOverlay = $('.fs_menu_overlay');
initMenu();
initFavorite();
initIsotopeFiltering();
initTimer();
initSlider();
function initMenu() {
if (hamburger.length) {
hamburger.on('click', function () {
if (!menuActive) {
openMenu();
}
});
}
if (fsOverlay.length) {
fsOverlay.on('click', function () {
if (menuActive) {
closeMenu();
}
});
}
if (hamburgerClose.length) {
hamburgerClose.on('click', function () {
if (menuActive) {
closeMenu();
}
});
}
if ($('.menu_item'), length) {
var items = document.getElementsByClassName('menu_item');
var i;
for (i = 0; i < items.length; i++) {
if (items[i].classList.contains("has-children")) {
items[i].onclick = function () {
this.classList.toggle("active");
var panel = this.children[1];
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
}
}
}
function openMenu() {
menu.addClass('active');
fsOverlay.css('pointer-events', "auto");
menuActive = true;
}
function closeMenu() {
menu.removeClass('active');
fsOverlay.css('pointer-events', "none");
menuActive = false;
}
function initTimer() {
if ($('.timer').length) {
var target_date = new Date("August 31, 2021").getTime();
var days, hours, minutes, seconds;
var d = $('#day');
var h = $('#hour');
var m = $('#minute');
var s = $('#second');
setInterval(function () {
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;
days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;
minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);
d.text(days);
h.text(hours);
m.text(minutes);
s.text(seconds);
}, 1000)
}
}
function initFavorite() {
if ($('.favorite').length) {
var favs = $('.favorite');
favs.each(function () {
var fav = $(this);
var active = false;
if (fav.hasClass('active')) {
active = true;
}
fav.on('click', function () {
if (active) {
fav.removeClass('active');
active = false;
} else {
fav.addClass('active');
active = true;
}
})
});
}
}
function initIsotopeFiltering() {
if ($('.grid_sorting_button').length) {
$('.grid_sorting_button').click(function () {
$('.grid_sorting_button.active').removeClass('active');
$(this).addClass('active');
var selector = $(this).attr('data-filter');
$('.product-grid').isotope({
filter: selector,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
return false
});
}
}
function initSlider() {
if ($('.product_slider').length) {
var slider1 = $('.product_slider');
slider1.owlCarousel({
loop: false,
dots: false,
nav: false,
responsive: {
0: {
items: 1
},
480: {
items: 2
},
768: {
items: 3
},
991: {
items: 4
},
1280: {
items: 5
},
1440: {
items: 5
},
}
});
if ($('.product_slider_nav_left').length) {
$('.product_slider_nav_left').on('click', function () {
slider1.trigger('prev.owl.carousel');
})
}
if ($('.product_slider_nav_right').length) {
$('.product_slider_nav_right').on('click', function () {
slider1.trigger('next.owl.carousel');
})
}
}
}
})
</script>
</body>
</html>

376
views/pages/login.ejs Normal file
View file

@ -0,0 +1,376 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta name="theme-color" content="#2f0001">
<link href="assets/favicon.webp" rel="shortcut icon" type="image/png" />
<title>Login</title>
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
<style>
.nav-color {
background-color: #212226;
}
.nav-radius {
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
}
body {
font-family: 'Poppins', sans-serif;
background-color: #1b1c1e;
}
.input-group-text {
background-color: #212226;
color: white;
}
.form-control {
background-color: #212226;
color: white;
}
.form-control:valid {
background-color: #212226;
color: white;
}
.form-control:invalid {
background-color: #2f0001;
color: white;
}
button[type="submit"] {
margin-bottom: 4%;
}
.btn-login {
width: 100%;
background-color: darkred;
border-color: darkred;
border-radius: 100px;
}
.btn-login:hover {
background-color: red;
border-color: red;
}
.hoverlogin-1 a {
color: white;
background-color: transparent;
position: center;
margin: auto;
text-align: center;
}
.hoverlogin-1 a:hover {
background-color: transparent;
color: white;
text-decoration: underline;
}
.card {
position: center;
margin: auto;
margin-top: 1%;
margin-bottom: 1%;
text-align: center;
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
background-color: #212226;
}
.icon {
position: center;
margin: auto;
width: 65%;
height: 65%;
padding-bottom: 0%;
}
.form-check {
float: left;
}
.form .options-01 {
margin-bottom: 50px;
}
.form .options-01 input {
width: 15px;
height: 15px;
margin-right: 5px;
}
.form .options-01 .remember-me {
color: #bbb;
font-size: 6pt;
display: flex;
align-items: center;
float: left;
cursor: pointer;
word-break: keep-all;
}
.form .options-01 a {
color: #888;
font-size: 14px;
font-style: italic;
float: right;
text-align: right;
text-decoration: underline;
}
.login-with {
color: white;
text-align: center;
}
.links {
display: flex;
cursor: pointer;
color: white;
margin: 0 0 20px 0;
}
.google,
.facebook {
width: 100%;
height: 42px;
line-height: 45px;
margin-top: 10px;
}
.google {
background: white;
border: 1px solid white;
color: #1b1c1e;
margin-right: 10px;
}
.facebook {
background: #3a5897;
border: 1px solid #3a5897;
margin-left: 10px;
}
.links i {
font-size: 17px;
}
@media screen and (max-width: 426px) {
.card a,
input {
font-size: 3vw;
}
.card-header {
font-size: 6vw;
}
.navbar-brand {
width: 15vw;
height: 15vw;
}
}
@media screen and (min-width: 427px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 5vw;
}
.navbar-brand {
width: 11vw;
height: 11vw;
}
}
@media screen and (min-width: 767px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 4vw;
}
.navbar-brand {
width: 8vw;
height: 8vw;
}
}
@media screen and (min-width: 993px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
.navbar-brand {
width: 6vw;
height: 6vw;
}
}
@media screen and (min-width: 1400px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
.navbar-brand {
width: 6vw;
height: 6vw;
}
}
@media screen and (max-width: 500px) {
.form {
width: 95%;
}
.form .user-input {
width: 100%
}
.form .btn {
width: 100%;
}
}
:focus {
outline: 0 !important;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js"></script>
</head>
<body style="background-color: #1b1c1e;">
<%- include('../layouts/navbar-login.ejs'); %>
<br>
<div class="container">
<div class="row">
<div class="col">
<div class="card text-white col-md-8 col-lg-6 col-xl-5">
<h1 class="card-header text-white">Login</h1>
<lottie-player autoplay background="transparent" class="icon" loop speed="1"
src="https://assets3.lottiefiles.com/packages/lf20_myor1trh.json"></lottie-player>
<div class="card-body">
<form class="px-4 py-3">
<div class="form-group" style="text-align: left;">
<a data-feather="mail" href="" style="font-size: 40px;"></a>
<label for="exampleDropdownFormEmail1">Email</label>
<input class="form-control input-sm text-center" id="exampleDropdownFormEmail1"
placeholder="Email address" type="email">
</div>
<div class="form-group" style="text-align: left;">
<a data-feather="lock" href="" style="font-size: 40px;"></a>
<label for="exampleDropdownFormPassword1">Password</label>
<div class="input-group">
<input class="form-control input-sm text-center" id="exampleDropdownFormPassword1"
name="password" placeholder="Password" type="password">
<div class="input-group-append">
<span class="input-group-text">
<i class="fa fa-eye" onclick="revealhidePassword()"></i>
</span>
</div>
</div>
<div class="options-01 hoverlogin-1" style="word-break: keep-all;">
<label class="remember-me text-left"><input name="" type="checkbox">Remember
me</label>
<a href="forgot-password" style="margin-left: 15%; font-size: 10pt;">Forgot
your
password?</a>
</div>
<button class="btn btn-login btn-primary" type="submit">Login</button>
<div class="login-with">Or login with
<div class="links">
<div class="google">
<i><a href=""></a><img class="google-icon-svg lazyload"
src="./img/google.webp"
style="height: 30px; width: 30px; margin: 0 30px; padding-top: -3px"/><span></span></i>
</div>
<div class="facebook">
<i><a href=""></a><img class="facebook-icon-svg lazyload"
src="./img/facebook.webp"
style="height: 30px; width: 30px; margin: 0 30px; padding-top: -3px"><span></span></i>
</div>
</div>
</div>
<div class="hoverlogin-1 text-center">
<a href="register.html">Don't have an account?? Click Here to Sign Up!!</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script>
function revealhidePassword() {
const x = document.getElementById("exampleDropdownFormPassword1");
if (x.type === "password") {
x.type = "text";
} else {
x.type = "password";
}
}
</script>
<script>
feather.replace()
</script>
<script src="https://unpkg.com/aos@next/dist/aos.js"></script>
<script>
AOS.init();
</script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>

265
views/pages/otp.ejs Normal file
View file

@ -0,0 +1,265 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta name="theme-color" content="#2f0001">
<link href="assets/favicon.webp" rel="shortcut icon" type="image/png" />
<title>2-Factor Verification</title>
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" rel="stylesheet">
<link href="https://fonts.googleapis.com" rel="preconnect">
<link crossorigin href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<script src="https://unpkg.com/feather-icons"></script>
<style>
body {
font-family: 'Poppins', sans-serif;
background-color: #1b1c1e;
}
.form-control {
background-color: #212226;
color: white;
}
.form-control:valid {
background-color: #212226;
color: white;
}
.form-control:invalid {
background-color: #2f0001;
color: white;
}
.nav-color {
background-color: #212226;
}
.nav-radius {
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
}
.card {
position: center;
margin: auto;
margin-top: 3%;
margin-bottom: 2%;
text-align: center;
border-bottom-left-radius: 20px;
border-bottom-right-radius: 20px;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
background-color: #212226;
}
.icon {
position: center;
margin-top: -5%;
margin-left: 10%;
width: 80%;
height: 80%;
padding-bottom: 0%;
}
.text {
margin-bottom: -6%;
}
.text-resend {
color: white;
text-align: center;
}
.text-resend a:hover {
color: white;
}
.btn-success:hover {
margin-left: 0%;
}
.input-container input {
width: 40px;
height: 40px;
}
.verify-btn {
width: 100%;
background-color: darkred;
border-color: darkred;
border-radius: 100px;
}
.verify-btn:hover {
background-color: red;
border-color: red;
}
:focus {
outline: 0 !important;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
@media screen and (max-width: 426px) {
.card a,
input {
font-size: 3vw;
}
.card-header {
font-size: 6vw;
}
.navbar-brand {
width: 15vw;
height: 15vw;
}
}
@media screen and (min-width: 427px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 5vw;
}
.navbar-brand {
width: 11vw;
height: 11vw;
}
}
@media screen and (min-width: 767px) {
.card a,
input {
font-size: 2vw;
}
.card-header {
font-size: 4vw;
}
.navbar-brand {
width: 8vw;
height: 8vw;
}
}
@media screen and (min-width: 993px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
.navbar-brand {
width: 6vw;
height: 6vw;
}
}
@media screen and (min-width: 1400px) {
.card a,
input {
font-size: 1vw;
}
.card-header {
font-size: 2.5vw;
}
.navbar-brand {
width: 6vw;
height: 6vw;
}
:focus {
outline: 0 !important;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js"></script>
</head>
<body>
<%- include('../layouts/navbar-otp.ejs'); %>
<div class="container">
<div class="row">
<div class="col">
<div class="card text-white col-md-9 col-lg-6 col-xl-5">
<h1 class="card-header text-white">OTP VERIFICATION</h1>
<lottie-player autoplay background="transparent" class="icon" loop speed="1"
src="https://assets2.lottiefiles.com/packages/lf20_zztlhuue.json"></lottie-player>
<div class="py-3 text" style="padding: 0% 5%; text-align: center;">
<a>A String of OTP Code Has Been Sent to kel*****@gmail.com</a>
</div>
<br>
<div class="input-container d-flex flex-row justify-content-center mt-2">
<input class="m-1 text-center form-control rounded" id='ist' maxlength="1"
onkeyup="clickEvent(this,'sec')" type="text">
<input class="m-1 text-center form-control rounded" id="sec" maxlength="1"
onkeyup="clickEvent(this,'third')" type="text">
<input class="m-1 text-center form-control rounded" id="third" maxlength="1"
onkeyup="clickEvent(this,'fourth')" type="text">
<input class="m-1 text-center form-control rounded" id="fourth" maxlength="1"
onkeyup="clickEvent(this,'fifth')" type="text">
<input class="m-1 text-center form-control rounded" id="fifth" maxlength="1"
onkeyup="clickEvent(this,'sixth')" type="text">
<input class="m-1 text-center form-control rounded" id="sixth" maxlength="1" type="text">
</div>
<div class="text-resend">
<small>
Didn't Get An Email?? &nbsp;
<a class="text-decoration-none" href="forgot-password.html">Resend Code</a>
</small>
</div>
<div class="mt-3 mb-5">
<button class="btn btn-success px-4 verify-btn" style="width: 65%;">Verify</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function clickEvent(first, last) {
if (first.value.length) {
document.getElementById(last).focus();
}
}
</script>
<script>
feather.replace()
</script>
<script crossorigin="anonymous" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
src="https://code.jquery.com/jquery-3.5.1.slim.min.js">
</script>
<script crossorigin="anonymous" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js">
</script>
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
</body>
</html>