Front End
Front End
cd ecommerce-app
code .
npm i react-icons
npm i react-router-dom
npm start
public
index.js
root.render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>
);
App.js
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<Counter />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<span>
<span>Learn </span>
<a
className="App-link"
href="https://reactjs.org/"
target="_blank"
rel="noopener noreferrer"
>
React
</a>
<span>, </span>
<a
className="App-link"
href="https://redux.js.org/"
target="_blank"
rel="noopener noreferrer"
>
Redux
</a>
<span>, </span>
<a
className="App-link"
href="https://redux-toolkit.js.org/"
target="_blank"
rel="noopener noreferrer"
>
Redux Toolkit
</a>
,<span> and </span>
<a
className="App-link"
href="https://react-redux.js.org/"
target="_blank"
rel="noopener noreferrer"
>
React Redux
</a>
</span>
</header>
</div>
);
}
setupTests.js
reportWebVitals.js
logo.svg
index.css
App.test.js
index.js
root.render(<App />);
App.js
function App() {
return <h1>Hello from app</h1>
App.js
import React from 'react';
import './App.css';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
function App() {
return (
<>
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
//inside this route we need to pass all our route
//whatever we pass inside this .......it will reflect with the help of
this outlet (which is present inside Layout.js)
</Route>
</Routes>
</BrowserRouter>
</>
);
}
Layout.js
Header.js
Footer.js
App.js
function App() {
return (
<>
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
//inside this route we need to pass all our route
//whatever we pass inside this .......it will reflect with the help of
this outlet (which is present inside Layout.js)
<Route index element={<Home />} /> //index.......means "/" itself
</Route>
</Routes>
</BrowserRouter>
</>
);
}
Home.js
Header
Home
Footer
App.js
import React from 'react';
import './App.css';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import Home from './pages/Home';
import About from './pages/About';
import Contact from './pages/Contact';
function App() {
return (
<>
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
//inside this route we need to pass all our route
//whatever we pass inside this .......it will reflect with the help of this outlet (which is present
inside Layout.js)
<Route index element={<Home />} /> //index.......means "/" itself //so this Home is our child
route
<Route path="about" element={<About />} />
<Route path="contact" element={<Contact />} />
</Route>
</Routes>
</BrowserRouter>
</>
);
}
pages
About.js
import React from 'react';
pages
Contact.js
import React from 'react';
chrome http://localhost:3000/
Header
Home
Footer
Chrome http://localhost:3000/about
Header
About
Footer
Chrome http://localhost:3000/contact
Header
Contact
Footer
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
//bootstrap link
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</body>
</html>
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Rubrik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
Header.js
</div>
<div className="menu-links">
<div className="d-flex align-items-center gap-15">
<NavLink to="/">Home</NavLink>
<NavLink to="/">Our Store</NavLink>
<NavLink to="/">Blogs</NavLink>
<NavLink to="/contact">Contact</NavLink>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
}
Change
a – Link
href – to
Header.js
<div className="col-5">
<div className="input-group">
<input
type="text"
className="form-control py-2"
placeholder="Search Product Here..."
aria-label="Search Product Here..."
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-3" id="basic-addon2">
{/* @example.com */}
<BsSearch className="fs-6" />
</span>
</div>
</div>
<div className="col-5">
<div className="header-upper-links d-flex align-items-center justify-
content-between">
<div>
<Link className="d-flex align-items-center gap-10 text-white">
<img src="images/compare.svg" alt="compare" />
<p className="mb-0">
Compare <br /> Products
</p>
</Link>
</div>
<div>
<Link className="d-flex align-items-center gap-10 text-white">
<img src="images/wishlist.svg" alt="wishlist" />
<p className="mb-0">
Favourite <br /> wishlist
</p>
</Link>
</div>
<div>
<Link className="d-flex align-items-center gap-10 text-white">
<img src="images/user.svg" alt="user" />
<p className="mb-0">
Login <br /> My Account
</p>
</Link >
</div>
<div>
<Link className="d-flex align-items-center gap-10 text-white">
<img src="images/cart.svg" alt="cart" />
<div className="d-flex flex-column gap-10">
<span className="badge bg-white text-dark">0</span>
<p className="mb-0">$ 500</p>
</div>
</Link>
</div>
</div>
</div>
</div>
</div>
</header>
</div>
<div className="menu-links">
<div className="d-flex align-items-center gap-15">
<NavLink to="/">Home</NavLink>
<NavLink to="/">Our Store</NavLink>
<NavLink to="/">Blogs</NavLink>
<NavLink to="/contact">Contact</NavLink>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
</>
)
}
// className
// text-end - to text align right
// text-start - used for text align left
// py - padding from top & bottom
// px - padding from left & right
// ps - padding from left
// pe - padding from end
// mb - margin bottom
// pb - padding bottom
// pd - padding top
// md - margin top
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-upper .header-upper-links img{
width: 35px;
height: 35px;
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
Footer.js
import React from 'react';
App.css
footer {
background-color: var(--color-232f3e);
}
- - - - - -- - - - - --- - -- - - - - - - - - - - - - - - -- - -- - - -- ---
Footer.js
ab
Powered By Developer's Corner (white color m display hoga)
Footer.js
<div className="input-group">
<input
type="text"
className="form-control py-1"
placeholder="Your Email Address"
aria-label="Your Email Address"
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-2" id="basic-addon2">
{/* @example.com p-2 se chota ho gya ...search bar ki size puri*/}
{/* <BsSearch className="fs-6" /> */}
Subscribe
</span>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-3"></footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<p className="text-center mb-0 text-white">
© {new Date().getFullYear()}; Powered By Developer's Corner
</p>
</div>
</div>
</div>
</footer>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
<div className="input-group">
<input
type="text"
className="form-control py-1"
placeholder="Your Email Address"
aria-label="Your Email Address"
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-2" id="basic-addon2">
{/* @example.com p-2 se chota ho gya ...search bar ki size puri*/}
{/* <BsSearch className="fs-6" /> */}
Subscribe
</span>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-4">
<h4 className="text-white mb-4">Contact Us</h4>
<div></div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Information</h4>
<div></div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Account</h4>
<div></div>
</div>
<div className="col-2">
<h4 className="text-white mb-4">Quick Links</h4>
<div className="footer-links">
<Link className="text-white py-2 mb-1">Laptops</Link>
<Link className="text-white py-2 mb-1">Headphones</Link>
<Link className="text-white py-2 mb-1">Tablets</Link>
<Link className="text-white py-2 mb-1">Watch</Link>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<p className="text-center mb-0 text-white">
© {new Date().getFullYear()}; Powered By Developer's Corner
</p>
</div>
</div>
</div>
</footer>
</>
);
};
<div className="input-group">
<input
type="text"
className="form-control py-1"
placeholder="Your Email Address"
aria-label="Your Email Address"
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-2" id="basic-addon2">
{/* @example.com p-2 se chota ho gya ...search bar ki size puri*/}
{/* <BsSearch className="fs-6" /> */}
Subscribe
</span>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-4">
<h4 className="text-white mb-4">Contact Us</h4>
<div></div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Information</h4>
<div></div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Account</h4>
<div></div>
</div>
<div className="col-2">
<h4 className="text-white mb-4">Quick Links</h4>
<div className="footer-links d-flex flex-column">
<Link className="text-white py-2 mb-1">Laptops</Link>
<Link className="text-white py-2 mb-1">Headphones</Link>
<Link className="text-white py-2 mb-1">Tablets</Link>
<Link className="text-white py-2 mb-1">Watch</Link>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<p className="text-center mb-0 text-white">
© {new Date().getFullYear()}; Powered By Developer's Corner
</p>
</div>
</div>
</div>
</footer>
</>
);
};
<div className="input-group">
<input
type="text"
className="form-control py-1"
placeholder="Your Email Address"
aria-label="Your Email Address"
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-2" id="basic-addon2">
{/* @example.com p-2 se chota ho gya ...search bar ki size puri*/}
{/* <BsSearch className="fs-6" /> */}
Subscribe
</span>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-4">
<h4 className="text-white mb-4">Contact Us</h4>
<div>
<address className="text-white fs-6">Hno: 277 NearVill chopal, <br /> Sonipat,
Haryana <br />
PinCode: 131103
</address>
<a href="tel:+91 8264954234" className="mt-3 d-block mb-1 text-white">+91
8264954234</a>
<a href="mail:indvibeinfotech@gmail.com" className="mt-2 d-block mb-0 text-
white">indvibeinfotech@gmail.com</a>
</div>
</div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Information</h4>
<div className="footer-links d-flex flex-column">
<Link className="text-white py-2 mb-1">Privacy Policy</Link>
<Link className="text-white py-2 mb-1">Refund Policy</Link>
<Link className="text-white py-2 mb-1">Shipping Policy</Link>
<Link className="text-white py-2 mb-1">Terms of Service</Link>
<Link className="text-white py-2 mb-1">Blogs</Link>
</div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Account</h4>
<div className="footer-links d-flex flex-column">
<Link className="text-white py-2 mb-1">About Us</Link>
<Link className="text-white py-2 mb-1">Faq</Link>
<Link className="text-white py-2 mb-1">Contact</Link>
</div>
</div>
<div className="col-2">
<h4 className="text-white mb-4">Quick Links</h4>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<p className="text-center mb-0 text-white">
© {new Date().getFullYear()}; Powered By Developer's Corner
</p>
</div>
</div>
</div>
</footer>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
Home.js initially
Home.js
<div className="col-6">
<div className="main-banner p-3">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link></Link>
</div>
</div>
</div>
<div className="col-6"></div>
</div>
</div>
</section>
</>
);
};
Home.js
<div className="col-6">
<div className="main-banner position-relative p-3">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link></Link>
</div>
</div>
</div>
<div className="col-6"></div>
</div>
</div>
</section>
</>
);
};
App.css
/* Home page */
.main-banner-content{
top: 15%;
left: 5%;
}
/* Home Page Ends */
App.css
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 52px;
line-height: 64px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
<div className="col-6">
<div className="main-banner position-relative p-3">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6"></div>
</div>
</div>
</section>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
Home.js
<div className="col-6">
<div className="main-banner position-relative p-3">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap justify-content-between align-items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* SUBSCRIBE button ka color change kr dete h */
footer .input-group-text {
background-color: var(--color-232f3e);
color: white;
padding: 8px 17px;
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-items-
center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* Home Page Ends */
Home.js
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
<div className="small-banner position-relative">
<img
src="images/catbanner-03.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="small-banner-content position-absolute">
<h4>NEW ARRIVAL</h4>
<h5>Buy IPad Air</h5>
<p>From $5999 or <br /> $49.91/mo. for 12 mo.* </p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div>
<img src="images/service.png" alt="services" />
<div>
<h6>Free Shipping</h6>
<p>From all orders over $5</p>
</div>
</div>
<div>
<img src="images/service-02.png" alt="services" />
<div>
<h6>Daily Suprise Offers</h6>
<p>Save upto 25% off</p>
</div>
</div>
<div>
<img src="images/service-03.png" alt="services" />
<div>
<h6>Support 24/7</h6>
<p>Shop with an expert</p>
</div>
</div>
<div>
<img src="images/service-04.png" alt="services" />
<div>
<h6>Affordable Prices</h6>
<p>Get Factory Default Price</p>
</div>
</div>
<div>
<img src="images/service-05.png" alt="services" />
<div>
<h6>Secure Payments</h6>
<p>100% Protected Payment</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</>
);
};
App.css
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</>
);
};
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</>
);
};
App.css
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
</div>
</div>
</div>
</div>
</section>
</>
);
};
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</>
);
};
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<section className="home-wrapper-2 py-5">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<div className="categories d-flex justify-content-between flex-wrap
align-items-center">
</div>
</div>
</div>
</div>
</section>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
}
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
Footer.js
<div className="input-group">
<input
type="text"
className="form-control py-1"
placeholder="Your Email Address"
aria-label="Your Email Address"
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-2" id="basic-addon2">
{/* @example.com p-2 se chota ho gya ...search bar ki size puri*/}
{/* <BsSearch className="fs-6" /> */}
Subscribe
</span>
</div>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-4">
<h4 className="text-white mb-4">Contact Us</h4>
<div>
<address className="text-white fs-6">Hno: 277 NearVill chopal, <br />
Sonipat, Haryana <br />
PinCode: 131103
</address>
</div>
</div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Information</h4>
<div className="footer-links d-flex flex-column">
<Link className="text-white py-2 mb-1">Privacy Policy</Link>
<Link className="text-white py-2 mb-1">Refund Policy</Link>
<Link className="text-white py-2 mb-1">Shipping Policy</Link>
<Link className="text-white py-2 mb-1">Terms of Service</Link>
<Link className="text-white py-2 mb-1">Blogs</Link>
</div>
</div>
<div className="col-3">
<h4 className="text-white mb-4">Account</h4>
<div className="footer-links d-flex flex-column">
<Link className="text-white py-2 mb-1">About Us</Link>
<Link className="text-white py-2 mb-1">Faq</Link>
<Link className="text-white py-2 mb-1">Contact</Link>
</div>
</div>
<div className="col-2">
<h4 className="text-white mb-4">Quick Links</h4>
</div>
</div>
</div>
</footer>
<footer className="py-4">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<p className="text-center mb-0 text-white">
© {new Date().getFullYear()}; Powered By Developer's Corner
</p>
</div>
</div>
</div>
</footer>
</>
);
};
npm i react-fast-marquee
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<Marquee className="d-flex">
<div className="mx-4 w-25">
<img src="images/brand-01.png" alt="brand" />
</div>
</Marquee>
</div>
</div>
</div>
</section>
</>
);
};
// mx - left or right
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* marque m use kiya h card-wrapper ko */
.card-wrapper {
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<Marquee className="d-flex">
<div className="mx-4 w-25">
<img src="images/brand-01.png" alt="brand" />
</div>
</Marquee>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Latest Blogs</div>
</div>
<BlogCard />
<BlogCard />
<BlogCard />
<BlogCard />
</div>
</div>
</section>
</>
);
};
// mx - left or right
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
/* Blog part */
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<Marquee className="d-flex">
<div className="mx-4 w-25">
<img src="images/brand-01.png" alt="brand" />
</div>
</Marquee>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Featured Collection</div>
</div>
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Latest Blogs</div>
</div>
<BlogCard />
<BlogCard />
<BlogCard />
<BlogCard />
</div>
</div>
</section>
</>
);
};
// mx - left or right
component
ProductCard.js
<div className="product-image">
<img src="images/watch.jpg" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<p className="price">$100.00</p>
</div>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</div>
</div>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
}
/* home wrapper 2 ends */
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also
we have done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card.product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
ProductCard.js
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image"
/>
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<p className="price">$100.00</p>
</div>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
Output-same
Home.js
import React from 'react';
import { Link } from "react-router-dom";
import Marquee from "react-fast-marquee";
import BlogCard from '../components/BlogCard';
import ProductCard from '../components/ProductCard';
import SpecialProduct from '../components/SpecialProduct';
const Home = () => {
return (
<>
<section className="home-wrapper-1 py-5">
<div className="container-xxl">
<div className="row">
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Featured Collection</div>
</div>
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
<div className="col-12">
<h3 className="section-heading">Special Products</h3>
</div>
</div>
<div className="row">
<SpecialProduct />
<SpecialProduct />
<SpecialProduct />
</div>
</div>
</section>
<Marquee className="d-flex">
<div className="mx-4 w-25">
<img src="images/brand-01.png" alt="brand" />
</div>
</Marquee>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Latest Blogs</div>
</div>
<BlogCard />
<BlogCard />
<BlogCard />
<BlogCard />
</div>
</div>
</section>
</>
);
};
// mx - left or right
SpecialProduct.js
import React from 'react';
import ReactStarts from "react-rating-stars-component";
import { Link } from 'react-router-dom';
<div>
<img src="images/watch.jpg" className="img-fluid" alt="watch" />
</div>
<div className="special-product-content">
<h5 className="brand">Havels</h5>
<h6 className="title">Samsung Galaxy Note10+ Mobile Phone; Sim...</h6>
</div>
<div className="progress">
<div className="progress-bar" role="progressbar" style={{ width: "25%" }} aria-
valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
</div>
</div>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so it is easy to change it
in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have done transition in action-
bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-items-
center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Featured Collection</div>
</div>
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
<section className="special-wrapper py-5 home-wrapper-2">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<h3 className="section-heading">Special Products</h3>
</div>
</div>
<div className="row">
<SpecialProduct />
<SpecialProduct />
<SpecialProduct />
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Popular Products</div>
</div>
</div>
<div className="row">
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
<Marquee className="d-flex">
<div className="mx-4 w-25">
<img src="images/brand-01.png" alt="brand" />
</div>
</Marquee>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Latest Blogs</div>
</div>
<BlogCard />
<BlogCard />
<BlogCard />
<BlogCard />
</div>
</div>
</section>
</>
);
};
// mx - left or right
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-
items-center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Featured Collection</div>
</div>
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
<div className="col-3">
</div>
<div className="col-3">
</div>
<div className="col-3">
</div>
</div>
</div>
</section>
<div className="col-12">
<h3 className="section-heading">Special Products</h3>
</div>
</div>
<div className="row">
<SpecialProduct />
<SpecialProduct />
<SpecialProduct />
<SpecialProduct />
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Popular Products</div>
</div>
</div>
<div className="row">
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
</Marquee>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Latest Blogs</div>
</div>
<BlogCard />
<BlogCard />
<BlogCard />
<BlogCard />
</div>
</div>
</section>
</>
);
};
// mx - left or right
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
/* marque m use kiya h card-wrapper ko */
.card-wrapper {
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
/* to change image of Featured Collection - below 3 are used */
.product-card .product-image > img:last-child {
display: none;
}
.product-card:hover .product-image > img:nth-child(1) {
display: none;
}
.product-card:hover .product-image > img:last-child {
display: block;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also
we have done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
About.js
Contact.js
Home.js
OurStore.js new
App.js
Header.js
components
BlogCard.js
Footer.js
Header.js
Layout.js
ProductCard.js
SpecialProduct.js
BreadCrumb.js new
Meta.js new
npm i react-helmet
OurStore.js
App.js
function App() {
return (
<>
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
{/* inside this route we need to pass all our route
whatever we pass inside this .......it will reflect with the help of this
outlet (which is present inside Layout.js) */}
{/* in below line.....index.......means "/" itself //so this Home is our
child route */}
<Route index element={<Home />} />
<Route path="about" element={<About />} />
<Route path="contact" element={<Contact />} />
<Route path="store" element={<OurStore />} />
</Route>
</Routes>
</BrowserRouter>
</>
);
}
Meta.js
<Helmet>
<meta charSet="utf-8" />
<title>{props.title}</title>
</Helmet>
);
};
- - - - - - - - - - - - - - - -- - - - -- - - - - - - - - -- - - - - - - - - - -
- -
OurStore.js
<div>
<h5 className="sub-title">Availability</h5>
<div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="inStock"
/>
<label className="form-check-label" htmlFor="inStock">
In Stock (1)
</label>
</div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value=""
id="outOfStock" />
<label className="form-check-label" htmlFor="outOfStock">
Out Of Stock(0)
</label>
</div>
</div>
<h5 className="sub-title">Price</h5>
<div className="d-flex align-items-center gap-10">
<div className="form-floating">
<input type="email" className="form-control" id="floatingInput"
placeholder="From" />
<label htmlFor="floatingInput">From</label>
</div>
<div className="form-floating">
<input type="email" className="form-control" id="floatingInput1"
placeholder="To" />
<label htmlFor="floatingInput">To</label>
</div>
</div>
<h5 className="sub-title">Colors</h5>
<div>
<ul className="colors ps-0">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<h5 className="sub-title">Size</h5>
<div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="color-1"
/>
<label className="form-check-label" htmlFor="color-1">
S (2)
</label>
</div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="color-2"
/>
<label className="form-check-label" htmlFor="color-2">
M (2)
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
OurStore.js
<div>
<h5 className="sub-title">Availability</h5>
<div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="inStock"
/>
<label className="form-check-label" htmlFor="inStock">
In Stock (1)
</label>
</div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value=""
id="outOfStock" />
<label className="form-check-label" htmlFor="outOfStock">
Out Of Stock(0)
</label>
</div>
</div>
<h5 className="sub-title">Price</h5>
<div className="d-flex align-items-center gap-10">
<div className="form-floating">
<input type="email" className="form-control" id="floatingInput"
placeholder="From" />
<label htmlFor="floatingInput">From</label>
</div>
<div className="form-floating">
<input type="email" className="form-control" id="floatingInput1"
placeholder="To" />
<label htmlFor="floatingInput">To</label>
</div>
</div>
<h5 className="sub-title">Colors</h5>
<div>
<ul className="colors ps-0">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<h5 className="sub-title">Size</h5>
<div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="color-1"
/>
<label className="form-check-label" htmlFor="color-1">
S (2)
</label>
</div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="color-2"
/>
<label className="form-check-label" htmlFor="color-2">
M (2)
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
ProductCard.js
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<p className="price">$100.00</p>
</div>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
);
};
React-router-dom useLocation
ProductCard.js
key: "a9jgrkrf"
pathname: "/store"
search: ""
state: null
[[Prototype]]: Object
OurStore.js
<div>
<h5 className="sub-title">Availability</h5>
<div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="inStock"
/>
<label className="form-check-label" htmlFor="inStock">
In Stock (1)
</label>
</div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value=""
id="outOfStock" />
<label className="form-check-label" htmlFor="outOfStock">
Out Of Stock(0)
</label>
</div>
</div>
<h5 className="sub-title">Price</h5>
<div className="d-flex align-items-center gap-10">
<div className="form-floating">
<input type="email" className="form-control" id="floatingInput"
placeholder="From" />
<label htmlFor="floatingInput">From</label>
</div>
<div className="form-floating">
<input type="email" className="form-control" id="floatingInput1"
placeholder="To" />
<label htmlFor="floatingInput">To</label>
</div>
</div>
<h5 className="sub-title">Colors</h5>
<div>
<ul className="colors ps-0">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<h5 className="sub-title">Size</h5>
<div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="color-1"
/>
<label className="form-check-label" htmlFor="color-1">
S (2)
</label>
</div>
<div className="form-check">
<input className="form-check-input" type="checkbox" value="" id="color-2"
/>
<label className="form-check-label" htmlFor="color-2">
M (2)
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
ProductCard.js
return (
<>
<div className={` ${location.pathname == "/store" ? `col-${grid}` : "col-3" } `}>
<Link className="product-card position-relative">
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<p className="price">$100.00</p>
</div>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
</>
);
};
it is working
instead of this
return (
<>
<div className={` ${location.pathname == "/store" ? `col-${grid}` : "col-3" } `}>
Now
ProductCard.js
return (
<>
<div className={` ${location.pathname == "/store" ? `gr-${grid}` : "col-3" } `}>
<Link className="product-card position-relative">
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
.header-bottom .dropdown button:focus {
box-shadow: none;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 13%;
}
ProductCard.js
return (
<>
<div className={` ${location.pathname == "/store" ? `gr-${grid}` : "col-3" } `}>
<Link className="product-card position-relative">
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
<div className="product-image">
<img src="images/watch.jpg" className="img-fluid" alt="product image" />
<img src="images/watch-1.jpg" className="img-fluid" alt="product image" />
</div>
<div className="product-details">
<h6 className="brand">Havels</h6>
<h5 className="product-title">
Kids headphones bulk 10 pack multi colored for students
</h5>
<Link>
<img src="images/prodcompare.svg" alt="compare" />
</Link>
<Link>
<img src="images/view.svg" alt="view" />
</Link>
<Link>
<img src="images/add-cart.svg" alt="addcart" />
</Link>
</div>
</div>
</Link>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
/* we are creating our own class in ProductCard.js */
.gr-12 {
width: 100%;
}
.gr-6 {
width: 49%;
}
.gr-4 {
width: 32%;
}
gr-3 {
width: 24%;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
pages
About.js
Contact.js
Home.js
OurStore.js
Blog.js new
App.js
Header.js
App.js
function App() {
return (
<>
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
{/* inside this route we need to pass all our route
whatever we pass inside this .......it will reflect with the help of this
outlet (which is present inside Layout.js) */}
{/* in below line.....index.......means "/" itself //so this Home is our
child route */}
<Route index element={<Home />} />
<Route path="about" element={<About />} />
<Route path="contact" element={<Contact />} />
Blog.js
</>
);
};
- - - - - - - - - - - - - - - - - - - -- - - -- --
BlogCard.js
<div className="blog-card">
<div className="card-image">
<img src="images/blog-1.jpg" className="img-fluid w-100" alt="blog" />
</div>
<div className="blog-content">
<p className="date">1 Dec 2023</p>
<h5 className="title">A beautiful sunday morning renaissance</h5>
<p className="desc">A serene Sunday morning ushers i
n a rebirth of joy and tranquility, welcoming a new day's embrace.</p>
<Link to="/" className="button">Read More</Link>
</div>
</div>
);
};
Home.js
<div className="col-6">
<div className="main-banner position-relative">
<img
src="images/main-banner-1.jpg"
className="img-fluid rounded-3"
alt="main-banner"
/>
<div className="main-banner-content position-absolute">
<h4>SUPERCHARGED FOR PROS. </h4>
<h5>iPad S13+ Pro.</h5>
<p>From $999.00 or $41.62/mo.</p>
<Link className="button">BUY NOW</Link>
</div>
</div>
</div>
<div className="col-6">
<div className="d-flex flex-wrap gap-10 justify-content-between align-items-
center">
{/* paste above COL-6 ke under wala div here now */}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Featured Collection</div>
</div>
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
</div>
<div className="col-3">
</div>
<div className="col-3">
</div>
<div className="col-3">
</div>
</div>
</div>
</section>
<div className="col-12">
<h3 className="section-heading">Special Products</h3>
</div>
</div>
<div className="row">
<SpecialProduct />
<SpecialProduct />
<SpecialProduct />
<SpecialProduct />
</div>
</div>
</section>
<div className="col-12">
<div className="section-heading">Our Popular Products</div>
</div>
</div>
<div className="row">
<ProductCard />
<ProductCard />
<ProductCard />
<ProductCard />
</div>
</div>
</section>
<Marquee className="d-flex">
<div className="mx-4 w-25">
<img src="images/brand-01.png" alt="brand" />
</div>
</Marquee>
</div>
</div>
</div>
</section>
<div className="col-12">
<h3 className="section-heading">Our Latest Blogs</h3>
</div>
{/* here we have direct call of 4 BlogCard but now we have changed it */}
</div>
<div className="row">
<div className="col-3">
<BlogCard />
</div>
<div className="col-3">
<BlogCard />
</div>
<div className="col-3">
<BlogCard />
</div>
<div className="col-3">
<BlogCard />
</div>
</div>
</div>
</section>
</>
);
};
// mx - left or right
Blog.js
</div>
<div className="col-9">
<div className="row">
<div className="col-6 mb-3">
<BlogCard />
</div>
<div className="col-6 mb-3">
<BlogCard />
</div>
<div className="col-6 mb-3">
<BlogCard />
</div>
<div className="col-6 mb-3">
<BlogCard />
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
Contact.js
<div className="col-12">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!
1d224357.28960408914!2d77.40182544999998!3d28.522201799999994!2m3!1f0!2f0!3f0!3m2!1i1024!
2i768!4f13.1!3m3!1m2!1s0x390ce5a43173357b%3A0x37ffce30c87cc03f!2sNoida%2C%20Uttar%20Pradesh!
5e0!3m2!1sen!2sin!4v1713948430620!5m2!1sen!2sin"
width="600"
height="450"
title="Google Maps"
// style="border:0;"
className="border-0 w-100"
allowFullScreen=""
loading="lazy"
referrerPolicy="no-referrer-when-downgrade">
</iframe>
</div>
</form>
</div>
<div>
<h3 className="contact-title mb-4">Get in touch with us</h3>
<div>
<ul className="ps-0">
<li className="mb-3 d-flex gap-15 align-items-center">
<AiOutlineHome className="fs-5" />
<address className="mb-0">Hno.277, Near village, Mandaura,
Sonipat, Haryana</address>
</li>
<li className="mb-3 d-flex gap-15 align-items-center">
<BiPhoneCall className="fs-5" />
<a href="tel:+91 8264954234">+91 8264954234</a>
</li>
<li className="mb-3 d-flex gap-15 align-items-center">
<AiOutlineMail className="fs-5" />
<a
href="mailto:navdeepdahiya@gmail.com">navdeepdahiya@gmail.com</a>
</li>
<li className="mb-3 d-flex gap-15 align-items-center">
<BiInfoCircle className="fs-5" />
<p className="mb-0">Monday - Friday 10 AM - 8 PM</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
)
}
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-upper .header-upper-links img{
width: 35px;
height: 35px;
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Famous card ends here */
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
pages
About.js
Contact.js
Home.js
OurStore.js
Blog.js
CompareProduct.js new
App.js
Header.js
<div className="col-5">
<div className="input-group">
<input
type="text"
className="form-control py-2"
placeholder="Search Product Here..."
aria-label="Search Product Here..."
aria-describedby="basic-addon2"
/>
<span className="input-group-text p-3" id="basic-addon2">
{/* @example.com */}
<BsSearch className="fs-6" />
</span>
</div>
</div>
<div className="col-5">
<div className="header-upper-links d-flex align-items-center justify-
content-between">
<div>
<Link to="/compare-product" className="d-flex align-items-center
gap-10 text-white">
<img src="images/compare.svg" alt="compare" />
<p className="mb-0">
Compare <br /> Products
</p>
</Link>
</div>
<div>
<Link to="/wishlist" className="d-flex align-items-center gap-10
text-white">
<img src="images/wishlist.svg" alt="wishlist" />
<p className="mb-0">
Favourite <br /> wishlist
</p>
</Link>
</div>
<div>
<Link to="/login" className="d-flex align-items-center gap-10 text-
white">
<img src="images/user.svg" alt="user" />
<p className="mb-0">
Login <br /> My Account
</p>
</Link >
</div>
<div>
<Link to="cart" className="d-flex align-items-center gap-10 text-
white">
<img src="images/cart.svg" alt="cart" />
<div className="d-flex flex-column gap-10">
<span className="badge bg-white text-dark">0</span>
<p className="mb-0">$ 500</p>
</div>
</Link>
</div>
</div>
</div>
</div>
</div>
</header>
</div>
<div className="menu-links">
<div className="d-flex align-items-center gap-15">
<NavLink to="/">Home</NavLink>
<NavLink to="/store">Our Store</NavLink>
<NavLink to="/blogs">Blogs</NavLink>
<NavLink to="/contact">Contact</NavLink>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
</>
)
}
// className
// text-end - to text align right
// text-start - used for text align left
// py - padding from top & bottom
// px - padding from left & right
// ps - padding from left
// pe - padding from end
// mb - margin bottom
// pb - padding bottom
// pd - padding top
// md - margin top
CompareProduct.jsinitially
</>
);
};
CompareProduct.js
<div className="product-detail">
<h5>Availability:</h5>
<p>Havels</p>
</div>
<div className="product-detail">
<h5>Color:</h5>
<p>Havels</p>
</div>
<div className="product-detail">
<h5>Size:</h5>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid var(--color-f5f5f7);
}
CompareProduct.js
<div className="product-detail">
<h5>Availability:</h5>
<p>In Stock</p>
</div>
<div className="product-detail">
<h5>Color:</h5>
<Color />
</div>
<div className="product-detail">
<h5>Size:</h5>
</div>
</div>
</div>
</div>
<div className="product-detail">
<h5>Availability:</h5>
<p>In Stock</p>
</div>
<div className="product-detail">
<h5>Color:</h5>
<Color />
</div>
<div className="product-detail">
<h5>Size:</h5>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so it is easy
to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside bda ho rha
*/
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to black se white
ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have done
transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
Wishlist.js
<div className="wishlist-card-image">
<img src="images/watch.jpg" className="img-fluid w-100" alt="watch" />
<div className="py-3 px-3">
<h5 className="title"> Honor T1 7.0 1 GB ROM 7 Inch With Wi-Fi+3G
Tablet</h5>
<h6 className="price">$ 100</h6>
</div>
</div>
</div>
</div>
<div className="wishlist-card-image">
<img src="images/watch.jpg" className="img-fluid w-100" alt="watch" />
<div className="py-3 px-3">
<h5 className="title"> Honor T1 7.0 1 GB ROM 7 Inch With Wi-Fi+3G
Tablet</h5>
<h6 className="price">$ 100</h6>
</div>
</div>
</div>
</div>
<div className="wishlist-card-image">
<img src="images/watch.jpg" className="img-fluid w-100" alt="watch" />
<div className="py-3 px-3">
<h5 className="title"> Honor T1 7.0 1 GB ROM 7 Inch With Wi-Fi+3G
Tablet</h5>
<h6 className="price">$ 100</h6>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so it is easy
to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside bda ho rha
*/
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to black se white
ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have done
transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
pages
About.js
Contact.js
Home.js
OurStore.js
Blog.js
CompareProduct.js
Wishlist.js
Login.js new
Signup.js new
Forgotpassword.js new
Resetpassword.js new
App.js
Login.js
import React from 'react';
import BreadCrumb from '../components/BreadCrumb';
import Meta from '../components/Meta';
import { Link } from 'react-router-dom';
</div>
</div>
</>
);
};
export default Login;
Signup.js
<div className="mt-1">
<input type="password" name="password"
placeholder="Password" className="form-control" />
</div>
<div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</>
);
};
Forgotpassword.js
<Link to="/login">Cancel</Link>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</>
);
};
Resetpassword.js
<div>
<input type="password" name="password"
placeholder="Password" className="form-control" />
</div>
<div className="mt-1">
<input type="password" name="confpassword"
placeholder="Comfirm Password" className="form-control" />
</div>
<div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</>
);
};
localhost:3000/reset-password
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* Blog Part ends Here */
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also
we have done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* auth card */
.auth-card {
padding: 20px;
background-color: white;
width: 500px;
margin: 30px auto;
border-radius: 10px;
}
.auth-card h3 {
font-size: 19px;
font-weight: 500;
color: var(--color-777777);
}
.auth-card .form-control {
height: 50px;
background-color: var(--color-f5f5f7);
color: var(--color-777777);
font-size: 14px;
border-radius: 10px;
border-color: transparent;
}
.auth-card a {
font-size: 14px;
font-weight: 400;
color: var(--color-1c1c1b);
}
.auth-card .signup {
background-color: var(--color-febd69);
color: var(--color-131921);
}
.auth-card .signup:hover {
background-color: var(--color-131921);
color: white;
}
App.js
function App() {
return (
<>
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
{/* inside this route we need to pass all our route
whatever we pass inside this .......it will reflect with the help of
this outlet (which is present inside Layout.js) */}
{/* in below line.....index.......means "/" itself //so this
Home is our child route */}
<Route index element={<Home />} />
<Route path="about" element={<About />} />
<Route path="contact" element={<Contact />} />
pages
About.js
Contact.js
Home.js
OurStore.js
Blog.js
CompareProduct.js
Wishlist.js
Login.js
Signup.js
Forgotpassword.js
Resetpassword.js
SingleBlog.js new
BlogCard.js
</div>
</div>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
.header-bottom .dropdown button:focus {
box-shadow: none;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* singleBlog.js ke liye */
.single-blog-card a {
font-size: 18px;
color: var(--color-777777);
margin-bottom: 20px;
}
.single-blog-card h3 {
font-size: 24px;
font-weight: 600;
color: var(--color-1c1c1b);
}
.single-blog-card p {
color: var(--color-777777);
font-size: 14px;
}
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* auth card */
.auth-card {
padding: 20px;
background-color: white;
width: 500px;
margin: 30px auto;
border-radius: 10px;
}
.auth-card h3 {
font-size: 19px;
font-weight: 500;
color: var(--color-777777);
}
.auth-card .form-control {
height: 50px;
background-color: var(--color-f5f5f7);
color: var(--color-777777);
font-size: 14px;
border-radius: 10px;
border-color: transparent;
}
.auth-card a {
font-size: 14px;
font-weight: 400;
color: var(--color-1c1c1b);
}
.auth-card .signup {
background-color: var(--color-febd69);
color: var(--color-131921);
}
.auth-card .signup:hover {
background-color: var(--color-131921);
color: white;
}
pages
About.js
Contact.js
Home.js
OurStore.js
Blog.js
CompareProduct.js
Wishlist.js
Login.js
Signup.js
Forgotpassword.js
Resetpassword.js
SingleBlog.js
PrivacyPolicy.js
RefundPolicy.js
ShippingPolicy.js
TermAndConditions.js
App.js
App.css
PrivacyPolicy.js
RefundPolicy.js
ShippingPolicy.js
</div>
</div>
</div>
</div>
</section>
</>
);
};
SingleProduct.js
<p>
Lorem ipsum dolor sit amet consectetur
adipisicing elit. Expedita perferendis
doloribus laudantium cum consequuntur possimus? Veritatis
soluta cupiditate voluptatibus recusandae?
</p>
</div>
</div>
</div>
</div>
</div>
<section className="reviews-wrapper home-wrapper-2">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<h3>Reviews</h3>
<div className="review-inner-wrapper">
<div>
<h4 className="mb-2">Customer Reviews</h4>
<div className="d-flex align-items-center gap-10">
<ReactStarts count={5} size={24} value={4} edit={false}
activeColor="#ffd700" />
<p className="mb-0">Based on 2 Reviews</p>
</div>
</div>
{
orderedProduct && (
<div>
<a className="text-dark text-decoration-underline" href="">Write a
Review</a>
</div>
)}
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<div className="col-12">
<h3 className="section-heading">Our Popular Products</h3>
</div>
</div>
<div className="row">
<ProductCard />
</div>
</div>
</section>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* singleBlog.js ke liye */
.single-blog-card a {
font-size: 18px;
color: var(--color-777777);
margin-bottom: 20px;
}
.single-blog-card h3 {
font-size: 24px;
font-weight: 600;
color: var(--color-1c1c1b);
}
.single-blog-card p {
color: var(--color-777777);
font-size: 14px;
}
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
/* contact page ends here */
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* auth card */
.auth-card {
padding: 20px;
background-color: white;
width: 500px;
margin: 30px auto;
border-radius: 10px;
}
.auth-card h3 {
font-size: 19px;
font-weight: 500;
color: var(--color-777777);
}
.auth-card .form-control {
height: 50px;
background-color: var(--color-f5f5f7);
color: var(--color-777777);
font-size: 14px;
border-radius: 10px;
border-color: transparent;
}
.auth-card a {
font-size: 14px;
font-weight: 400;
color: var(--color-1c1c1b);
}
.auth-card .signup {
background-color: var(--color-febd69);
color: var(--color-131921);
}
.auth-card .signup:hover {
background-color: var(--color-131921);
color: white;
}
/* Policy Pages */
.policy {
background-color: white;
padding: 30px;
}
.description-wrapper h4,
.reviews-wrapper h3 {
font-size: 26px;
color: #1c1c1b;
margin-bottom: 10px;
}
.description-wrapper p {
font-size: 14px;
color: var(--color-777777);
}
.review-inner-wrapper {
background-color: white;
padding: 30px;
}
.review-head {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding-bottom: 20px;
}
.review-head h4 {
font-size: 18px;
color: var(--color-1c1c1b);
}
.review-head p,
.review-head a {
font-size: 14px;
color: var(--color-777777);
}
.review-form h4 {
font-size: 16px;
color: var(--color-777777);
}
.review-form {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review:not(:last-child) {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review p {
font-size: 14px;
color: var(--color-777777);
}
<div className="col-6">
<div className="main-product-details">
<div className="border-bottom">
<h3 className="title">
Kids Headphones Bulk 10 pack Multi Colored For Students
</h3>
</div>
</div>
{/* here className="border-bottom" below */}
<div className=" py-3">
<div className="d-flex gap-10 align-items-center my-2">
<h3 className="product-heading">Type :</h3>
<p className="product-data">Watch</p>
</div>
<div className="d-flex gap-10 align-items-center my-2">
<h3 className="product-heading">Brand :</h3>
<p className="product-data">Havels</p>
</div>
<div className="d-flex gap-10 align-items-center my-2">
<h3 className="product-heading">Category :</h3>
<p className="product-data">Watch</p>
</div>
<div className="d-flex gap-10 align-items-center my-2">
<h3 className="product-heading">Tags :</h3>
<p className="product-data">Watch</p>
</div>
<div className="d-flex gap-10 align-items-center my-2">
<h3 className="product-heading">Availability :</h3>
<p className="product-data">In Stock</p>
</div>
<div className="d-flex gap-10 flex-column mt-2 mb-3">
<h3 className="product-heading">Size :</h3>
<div className="d-flex flex-wrap gap-15">
<span className="badge border border-1 bg-white text-dark
border-secondary">S</span>
<span className="badge border border-1 bg-white text-dark
border-secondary">M</span>
<span className="badge border border-1 bg-white text-dark
border-secondary">XL</span>
<span className="badge border border-1 bg-white text-dark
border-secondary">XXL</span>
</div>
</div>
<div className="d-flex gap-10 flex-column mt-2 mb-3">
<h3 className="product-heading">Color :</h3>
<Color />
</div>
<div className="d-flex align-items-center gap-15 flex-row mt-2
mb-3">
<h3 className="product-heading">Quantity :</h3>
<div className="">
<input type="number" name="" min={1} max={10}
className="form-control" style={{ width: "70px" }} id="" />
</div>
<div className="d-flex align-items-center gap-30 ms-5">
<button className="button border-0" type="submit">Add to
Cart</button>
<button className="button signup">Buy It Now</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>
Lorem ipsum dolor sit amet consectetur
adipisicing elit. Expedita perferendis
doloribus laudantium cum consequuntur possimus? Veritatis
soluta cupiditate voluptatibus recusandae?
</p>
</div>
</div>
</div>
</div>
</div>
<section className="reviews-wrapper home-wrapper-2">
<div className="container-xxl">
<div className="row">
<div className="col-12">
<h3 id="review">Reviews</h3>
<div className="review-inner-wrapper">
<div>
<h4 className="mb-2">Customer Reviews</h4>
<div className="d-flex align-items-center gap-10">
<ReactStarts count={5} size={24} value={4} edit={false}
activeColor="#ffd700" />
<p className="mb-0">Based on 2 Reviews</p>
</div>
</div>
{
orderedProduct && (
<div>
<a className="text-dark text-decoration-underline" href="">Write a
Review</a>
</div>
)}
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<div className="col-12">
<h3 className="section-heading">Our Popular Products</h3>
</div>
</div>
<div className="row">
<ProductCard />
</div>
</div>
</section>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* singleBlog.js ke liye */
.single-blog-card a {
font-size: 18px;
color: var(--color-777777);
margin-bottom: 20px;
}
.single-blog-card h3 {
font-size: 24px;
font-weight: 600;
color: var(--color-1c1c1b);
}
.single-blog-card p {
color: var(--color-777777);
font-size: 14px;
}
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
/* contact page ends here */
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* auth card */
.auth-card {
padding: 20px;
background-color: white;
width: 500px;
margin: 30px auto;
border-radius: 10px;
}
.auth-card h3 {
font-size: 19px;
font-weight: 500;
color: var(--color-777777);
}
.auth-card .form-control {
height: 50px;
background-color: var(--color-f5f5f7);
color: var(--color-777777);
font-size: 14px;
border-radius: 10px;
border-color: transparent;
}
.auth-card a {
font-size: 14px;
font-weight: 400;
color: var(--color-1c1c1b);
}
/* we have removed .auth-card .signup so .auth-card from here */
.signup {
background-color: var(--color-febd69);
color: var(--color-131921);
border: none;
}
.signup:hover {
background-color: var(--color-131921);
color: white;
}
/* Policy Pages */
.policy {
background-color: white;
padding: 30px;
}
.description-wrapper h4,
.reviews-wrapper h3 {
font-size: 26px;
color: #1c1c1b;
margin-bottom: 10px;
}
.description-wrapper p {
font-size: 14px;
color: var(--color-777777);
}
.review-inner-wrapper {
background-color: white;
padding: 30px;
}
.review-head {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding-bottom: 20px;
}
.review-head h4 {
font-size: 18px;
color: var(--color-1c1c1b);
}
.review-head p,
.review-head a {
font-size: 14px;
color: var(--color-777777);
}
.review-form h4 {
font-size: 16px;
color: var(--color-777777);
}
.review-form {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review:not(:last-child) {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review p {
font-size: 14px;
color: var(--color-777777);
}
.main-product-image {
padding: 20px;
background-color: white;
border-radius: 10px;
}
.main-product-image > div {
border: 1px solid rgba(0, 0, 0, 0.25);
}
.main-product-image img {
width: 100% !important;
height: 600px !important;
object-fit: cover;
}
.other-product-images {
background-color: white;
padding: 20px;
}
.other-product-images > div {
padding: 20px;
width: 48%;;
border: 1px solid rgba(0, 0, 0, 0.25);
}
.main-product-image .js-image-zoom__zoomed-image {
left: 50px !important;
padding: 10px;
background-color: white;
border-radius: 10px;
z-index: 1000;
}
.main-product-details p.price {
font-size: 16px;
line-height: 20px;
font-weight: 600;
margin-bottom: 10px;
}
.main-product-details a.review-btn,
.t-review {
color: var(--color-131921);
font-size: 13px;
}
.product-heading {
font-size: 14px;
color: var(--color-1c1c1b);
margin-bottom: 0px;
}
.product-data {
font-size: 13px;
color: var(--color-777777);
margin-bottom: 0px;
}
.main-product-details a {
font-size: 14px;
color: var(--color-777777);
}
Minor changes in
1) ProductCard.js
<Link to=”:id”
2) App.js
Phle path=”store” that <OurStore /> m
3) Header.js
<Navlink to=”/store” tha phle
<Navlink to=”/product”> Our Store </Navlink>
__________________________________________________________________________________
_____
Prev
components
ProductCard.js
Footer.js
SingleBlog.js
Wishlist.js
OurStore.js
Home.js
CompareProduct.js
BlogCard.js
Header.js
SpecialProduct.js
Cart.js
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular
color ....so it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking
outside bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate
h to black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in
all 4 changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* singleBlog.js ke liye */
.single-blog-card a {
font-size: 18px;
color: var(--color-777777);
margin-bottom: 20px;
}
.single-blog-card h3 {
font-size: 24px;
font-weight: 600;
color: var(--color-1c1c1b);
}
.single-blog-card p {
color: var(--color-777777);
font-size: 14px;
}
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also
we have done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* auth card */
.auth-card {
padding: 20px;
background-color: white;
width: 500px;
margin: 30px auto;
border-radius: 10px;
}
.auth-card h3 {
font-size: 19px;
font-weight: 500;
color: var(--color-777777);
}
.auth-card .form-control {
height: 50px;
background-color: var(--color-f5f5f7);
color: var(--color-777777);
font-size: 14px;
border-radius: 10px;
border-color: transparent;
}
.auth-card a {
font-size: 14px;
font-weight: 400;
color: var(--color-1c1c1b);
}
/* we have removed .auth-card .signup so .auth-card from here */
.signup {
background-color: var(--color-febd69);
color: var(--color-131921);
border: none;
}
.signup:hover {
background-color: var(--color-131921);
color: white;
}
/* Policy Pages */
.policy {
background-color: white;
padding: 30px;
}
.description-wrapper h4,
.reviews-wrapper h3 {
font-size: 26px;
color: #1c1c1b;
margin-bottom: 10px;
}
.description-wrapper p {
font-size: 14px;
color: var(--color-777777);
}
.review-inner-wrapper {
background-color: white;
padding: 30px;
}
.review-head {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding-bottom: 20px;
}
.review-head h4 {
font-size: 18px;
color: var(--color-1c1c1b);
}
.review-head p,
.review-head a {
font-size: 14px;
color: var(--color-777777);
}
.review-form h4 {
font-size: 16px;
color: var(--color-777777);
}
.review-form {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review:not(:last-child) {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review p {
font-size: 14px;
color: var(--color-777777);
}
.main-product-image {
padding: 20px;
background-color: white;
border-radius: 10px;
}
.main-product-image > div {
border: 1px solid rgba(0, 0, 0, 0.25);
}
.main-product-image img {
width: 100% !important;
height: 600px !important;
object-fit: cover;
}
.other-product-images {
background-color: white;
padding: 20px;
}
.other-product-images > div {
padding: 20px;
width: 48%;;
border: 1px solid rgba(0, 0, 0, 0.25);
}
.main-product-image .js-image-zoom__zoomed-image {
left: 50px !important;
padding: 10px;
background-color: white;
border-radius: 10px;
z-index: 1000;
}
.main-product-details p.price {
font-size: 16px;
line-height: 20px;
font-weight: 600;
margin-bottom: 10px;
}
.main-product-details a.review-btn,
.t-review {
color: var(--color-131921);
font-size: 13px;
}
.product-heading {
font-size: 14px;
color: var(--color-1c1c1b);
margin-bottom: 0px;
}
.product-data {
font-size: 13px;
color: var(--color-777777);
margin-bottom: 0px;
}
.main-product-details a {
font-size: 14px;
color: var(--color-777777);
}
/* Card Page */
.card-header,
.cart-data {
border-bottom: 1px solid #eaeaea;
}
.card-header h4 {
font-size: 13px;
color: var(--color-777777);
}
.cart-col-1 {
width: 40%;
}
.cart-col-1 p {
color: var(--color-777777);
font-size: 14px;
}
.cart-col-2 {
width: 10%;
}
.cart-col-3 {
width: 15%;
}
.cart-col-4 {
width: 15%;
}
.cart-data h5.price {
font-size: 14px;
color: var(--color-1c1c1b);
}
/* Card Page ends here */
Checkout.js
<div className="col-5">
<div className="border-bottom py-4">
<div className="d-flex gap-10 mb-2 align-items-center">
<div className="w-75 d-flex gap-10">
<div className="w-25 position-relative">
<span style={{ top:"-10px",right:"2px" }}
className="badge bg-secondary text-white rounded-
circle p-2 position-absolute">
1
</span>
<img className="img-fluid" src={watch} alt="product" />
</div>
<div>
<h5 className="total-price">gfdhgf</h5>
<p className="total-price">s / #agfgfd</p>
</div>
</div>
<div className="flex-grow-1">
<h5 className="total">$ 100</h5>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
};
App.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* if 50 times i use a single color after that i want to change that particular color ....so
it is easy to change it in only one place */
/* we give color that we will use again & again */
/* we create a variable --color-#hta kr color code : color code; */
--color-131921: #131921;
--color-3b4149: #3b4149;
--color-febd69: #febd69;
--color-232f3e: #232f3e;
--color-bf4800: #bf4800;
--color-f5f5f7: #f5f5f7;
--color-ededed: #ededed;
--color-777777: #777777;
--color-1c1c1b: #1c1c1b;
}
.section-heading {
font-size: 26px;
line-height: 32px;
font-weight: 500;
margin-bottom: 30px;
}
body {
font-family: "Rubik",sans-serif;
}
a {
text-decoration: none;
display: inline-block;
}
.form-control:focus {
box-shadow: none;
border-color: inherit;
}
/* isse product search bar click krne ke bd size chota ho rhaa....and after clicking outside
bda ho rha */
.gap-10 {
gap: 10px;
}
.gap-15 {
gap: 15px;
}
.gap-30 {
gap: 30px;
}
.button {
background-color: var(--color-232f3e);
color: white;
font-size: 14px;
padding: 13px 33px;
border-radius: 25px;
}
.button:hover {
background-color: var(--color-febd69);
color: #131921;
}
/* Header Part */
.header-top-strip{
border-bottom: 1px solid var(--color-3b4149);
background-color: var(--color-131921);
}
.header-upper{
background-color: var(--color-131921);
}
.header-bottom{
background-color: var(--color-232f3e);
}
.header-upper .input-group-text{
background-color: var(--color-febd69);
}
.header-bottom .menu-links a,
.header-bottom .dropdown button {
color: white;
font-size: 14px;
line-height: 18px;
font-weight: 400;
letter-spacing: 0.3;
text-transform: uppercase;
}
/* work on dropdown-menu */
.header-bottom .dropdown-menu {
background-color: var(--color-131921);
width: 100%;
transform: translate3d(0px, 57px, 0px) !important;
}
.header-bottom .dropdown-item {
padding: 20px;
margin-bottom: 3px;
border-bottom: 1px solid var(--color-3b4149);
}
.header-bottom .dropdown-item:hover {
/* removing hover effect in drop down in Shop Categories ke drop down m jis pr jate h to
black se white ho jata h */
background-color: transparent;
color: var(--color-febd69) !important;
}
/* Footer Part */
footer {
background-color: var(--color-232f3e);
}
/* footer:nth-child(3) niche wale se 2 lines aa gyi white small small*/
footer:not(:first-child) {
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Home page */
.main-banner-content {
top: 15%;
left: 5%;
}
.main-banner-content h4 {
font-size: 16px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.main-banner-content h5 {
font-size: 42px;
line-height: 54px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.main-banner-content p{
font-size: 18px;
line-height: 28px;
letter-spacing: 0.4;
color: var(--color-131921);
}
/* copy all 4 above and change main - to - small , font-size and line-height in all 4
changes*/
.small-banner-content {
top: 25%;
left: 10%;
}
.small-banner-content h4 {
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: var(--color-bf4800);
margin: 0 0 12px;
letter-spacing: 0.3px;
text-transform: uppercase;
}
.small-banner-content h5 {
font-size: 22px;
line-height: 34px;
letter-spacing: -2px;
font-weight: 500;
text-transform: none;
}
.small-banner-content p{
font-size: 14px;
line-height: 22px;
letter-spacing: 0.4;
color: var(--color-131921);
}
.small-banner {
width: 49%;
}
/* home wrapper 2 */
.home-wrapper-2 {
background-color: var(--color-f5f5f7);
/* categories section */
.categories{
background-color: white;
box-shadow: 0 0 10px #0000001a;
padding: 15px;
}
.categories > div {
width: 25%;
padding: 10px 10px 10px 20px;
}
.blog-card {
background-color: white;
/* padding: 20px; */
border-radius: 10px;
}
.blog-card img {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.blog-content {
padding: 15px;
}
.blog-contentp.date {
font-size: 13px;
line-height: 24px;
text-transform: uppercase;
letter-spacing: 0;
font-weight: 400;
color: var(--color-777777);
}
.blog-content h5 {
font-size: 18px;
color: var(--color-131921);
}
.blog-content p.desc {
font-size: 13px;
line-height: 22px;
color: var(--color-777777);
}
/* singleBlog.js ke liye */
.single-blog-card a {
font-size: 18px;
color: var(--color-777777);
margin-bottom: 20px;
}
.single-blog-card h3 {
font-size: 24px;
font-weight: 600;
color: var(--color-1c1c1b);
}
.single-blog-card p {
color: var(--color-777777);
font-size: 14px;
}
/* Product Card */
.product-card {
padding: 15px;
background-color: white;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
.product-card .product-image {
height: 270px;
}
.product-card .product-image img{
object-fit: contain;
}
.product-card:hover .action-bar{
/* hm thino icons vo dekh nhi pa rhe h bcoz we have done overflow:hidden and also we have
done transition in action-bar ab*/
right: 15px;
}
.product-card .product-details h6 {
color: var(--color-bf4800);
font-size: 13px;
}
.product-card .product-details h5 {
font-size: 15px;
color: var(--color-1c1c1b);
}
.product-card .product-details p.price {
font-size: 16px;
color: var(--color-1c1c1b);
}
margin-right: 20px;
}
.action-bar{
top:10%;
right: -23px;
transition: 0.3s;
}
.wishlist-icon {
top: 2%;
right: 15px;
}
/* Product Card ends here */
/* Special Product */
.special-product-card {
padding: 20px 10px;
border-radius: 10px;
background-color: white;
}
/* Famous card */
.famous-card .famous-content {
top: 10%;
left: 5%;
}
.famous-card img {
border-radius: 10px;
}
.famous-content h5 {
font-size: 13px;
line-height: 20px;
font-weight: 400px;
color: white;
margin-bottom: 7px;
text-transform: uppercase;
}
.famous-content h6 {
font-size: 24px;
line-height: 38px;
font-weight: 500;
color: white;
}
.famous-content p {
font-size: 16px;
line-height: 24px;
font-weight: 100;
color: white;
}
/* Our Store */
.filter-card {
background-color: white;
border-radius: 10px;
padding: 15px 15px 25px;
}
.filter-title {
font-size: 16px;
line-height: 20px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 20px;
}
.filter-card ul,
.filter-card .form-check-label {
list-style-type: none;
font-size: 13px;
line-height: 30px;
color: var(--color-777777);
cursor: pointer;
}
/* 2nd Filter By */
.filter-card .form-check-input:focus {
box-shadow: none;
border-color: rgba(0, 0, 0, 0.25);
}
.filter-card .form-check-input:checked {
background-color: var(--color-febd69);
border-color: var(--color-febd69);
}
.sub-title {
font-size: 14px;
font-weight: 600;
color: var(--color-1c1c1b);
margin-bottom: 15px;
margin-top: 20px;
}
.colors {
list-style-type: none;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.colors li {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
}
/* Random product */
.random-products h5 {
font-size: 14px;
margin: 8px;
}
.random-products:first-child {
border-bottom: 1px solid var(--color-ededed);
}
.grid img {
width: 35px;
height: 35px;
background-color: #f2f2f2;
padding: 8px;
border-radius: 3px;
cursor: pointer;
}
.gr-12 .product-card {
display: flex;
gap: 20px;
}
.gr-6 .product-image {
width: 100%;
}
.gr-6 .product-image img {
margin: auto;
display: block;
}
.gr-12 .product-card .product-image {
width: 270px;
}
.gr-12 .action-bar{
top: 17%;
}
/* contact page */
.contact-inner-wrapper {
padding: 30px 20px;
border-radius: 15px;
background-color: white;
gap: 15px;
}
.contact-inner-wrapper > div {
width: 48%;
}
.contact-title {
font-size: 26px;
font-weight: 500;
line-height: 35px;
text-align: left;
}
.contact-inner-wrapper ul {
list-style: none;
}
.contact-inner-wrapper address,
.contact-inner-wrapper a,
.contact-inner-wrapper p {
color: var(--color-777777);
}
.compare-product-card {
padding: 20px 15px;
background-color: white;
border-radius: 10px;
}
.compare-product-card .cross,
.wishlist-card .cross {
top: 15px;
right: 15px;
width: 25px;
padding: 3px;
cursor: pointer;
}
.compare-product-card .product-detail {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* auth card */
.auth-card {
padding: 20px;
background-color: white;
width: 500px;
margin: 30px auto;
border-radius: 10px;
}
.auth-card h3 {
font-size: 19px;
font-weight: 500;
color: var(--color-777777);
}
.auth-card .form-control {
height: 50px;
background-color: var(--color-f5f5f7);
color: var(--color-777777);
font-size: 14px;
border-radius: 10px;
border-color: transparent;
}
.auth-card a {
font-size: 14px;
font-weight: 400;
color: var(--color-1c1c1b);
}
/* we have removed .auth-card .signup so .auth-card from here */
.signup {
background-color: var(--color-febd69);
color: var(--color-131921);
border: none;
}
.signup:hover {
background-color: var(--color-131921);
color: white;
}
/* Policy Pages */
.policy {
background-color: white;
padding: 30px;
}
.description-wrapper h4,
.reviews-wrapper h3 {
font-size: 26px;
color: #1c1c1b;
margin-bottom: 10px;
}
.description-wrapper p {
font-size: 14px;
color: var(--color-777777);
}
.review-inner-wrapper {
background-color: white;
padding: 30px;
}
.review-head {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding-bottom: 20px;
}
.review-head h4 {
font-size: 18px;
color: var(--color-1c1c1b);
}
.review-head p,
.review-head a {
font-size: 14px;
color: var(--color-777777);
}
.review-form h4 {
font-size: 16px;
color: var(--color-777777);
}
.review-form {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review:not(:last-child) {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.review p {
font-size: 14px;
color: var(--color-777777);
}
.main-product-image {
padding: 20px;
background-color: white;
border-radius: 10px;
}
.main-product-image > div {
border: 1px solid rgba(0, 0, 0, 0.25);
}
.main-product-image img {
width: 100% !important;
height: 600px !important;
object-fit: cover;
}
.other-product-images {
background-color: white;
padding: 20px;
}
.other-product-images > div {
padding: 20px;
width: 48%;;
border: 1px solid rgba(0, 0, 0, 0.25);
}
.main-product-image .js-image-zoom__zoomed-image {
left: 50px !important;
padding: 10px;
background-color: white;
border-radius: 10px;
z-index: 1000;
}
.main-product-details p.price {
font-size: 16px;
line-height: 20px;
font-weight: 600;
margin-bottom: 10px;
}
.main-product-details a.review-btn,
.t-review {
color: var(--color-131921);
font-size: 13px;
}
.product-heading {
font-size: 14px;
color: var(--color-1c1c1b);
margin-bottom: 0px;
}
.product-data {
font-size: 13px;
color: var(--color-777777);
margin-bottom: 0px;
}
.main-product-details a {
font-size: 14px;
color: var(--color-777777);
}
/* Card Page */
.card-header,
.cart-data {
border-bottom: 1px solid #eaeaea;
}
.card-header h4 {
font-size: 13px;
color: var(--color-777777);
}
.cart-col-1 {
width: 40%;
}
.cart-col-1 p {
color: var(--color-777777);
font-size: 14px;
}
.cart-col-2 {
width: 10%;
}
.cart-col-3 {
width: 15%;
}
.cart-col-4 {
width: 15%;
}
.cart-data h5.price {
font-size: 14px;
color: var(--color-1c1c1b);
}
/* Card Page ends here */
/* Shipping Page */
.total {
font-size: 14px;
color: var(--color-1c1c1b);
}
.total-price {
font-size: 16px;
color: var(--color-777777);
}
Convert
Blog.js
Cart.js
Checkout.js
CompareProduct.js
Contact.js
Forgotpassword.js
Login.js
OurStore.js
PrivacyPolicy.js
RefundPolicy.js
Resetpassword.js
ShippingPolicy.js
Signup.js
SingleBlog.js
SingleProduct.js
TermAndCondition.js
Wishlist.js
components
CustomInput.js
Signup.js
Login.js
Forgotpassword.js
Resetpassword.js
Netlify m /product pr refresh kr rhe the to …………….404 error show ho rhi thi
Neflify.toml file
OurStore.js
ProductCard.js 2 problem
return (
<>
{/* here "/store" is changed to "/product" */}
<div className={` ${location.pathname === "/product" ? `gr-${grid}` : "col-3" }
`}>
{/* <Link to=":id" */}
<Link
to={` ${
location.pathname == "/"
? "/product/:id"
: location.pathname == "/product/:id"
? "/product/:id"
: ":id"
}`}
className="product-card position-relative">