├── dist └── index.html ├── .eslintrc.cjs ├── .firebase ├── hosting.IGRpc3Q.cache ├── hosting.ZGlzdA.cache └── hosting.cHVibGlj.cache ├── .firebaserc ├── .gitignore ├── README.md ├── firebase.json ├── index.html ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── images │ ├── 404.png │ ├── about │ │ ├── 01.jpg │ │ ├── 01.png │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ └── icon │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ └── 03.jpg │ ├── achive │ │ ├── 01.png │ │ └── 02.png │ ├── app │ │ ├── 01.jpg │ │ └── 02.jpg │ ├── author │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ └── 03.jpg │ ├── banner │ │ ├── 01.png │ │ ├── 02.png │ │ └── 03.png │ ├── bg-img │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── 07.jpg │ │ ├── 08.jpg │ │ ├── 09.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ └── 14.jpg │ ├── blog │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── 07.jpg │ │ ├── 08.jpg │ │ ├── 09.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── quote.png │ │ └── single │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ └── 03.jpg │ ├── category │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── bg │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ ├── 06.jpg │ │ │ ├── 07.jpg │ │ │ └── 08.jpg │ │ ├── icon │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ ├── 06.jpg │ │ │ ├── 07.jpg │ │ │ ├── 08.jpg │ │ │ ├── 09.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 12.jpg │ │ │ ├── 13.jpg │ │ │ ├── 14.jpg │ │ │ ├── 15.jpg │ │ │ ├── 16.jpg │ │ │ └── 17.jpg │ │ └── trimer.jpg │ ├── categoryTab │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── 07.jpg │ │ ├── 08.jpg │ │ ├── 09.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ ├── 16.jpg │ │ ├── 17.jpg │ │ ├── 18.jpg │ │ ├── 19.jpg │ │ ├── 20.jpg │ │ ├── 21.jpg │ │ ├── 22.jpg │ │ ├── 23.jpg │ │ ├── 24.jpg │ │ ├── 25.jpg │ │ ├── 26.jpg │ │ ├── 27.jpg │ │ └── brand │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ ├── 06.jpg │ │ │ └── apple.png │ ├── choose │ │ └── 01.png │ ├── clients │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── avater.jpg │ │ └── bg.png │ ├── contact │ │ └── icon │ │ │ ├── 01.png │ │ │ └── 02.png │ ├── course │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── 07.jpg │ │ ├── 08.jpg │ │ ├── 09.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ ├── 16.jpg │ │ ├── 17.jpg │ │ ├── 18.jpg │ │ ├── 19.jpg │ │ ├── 20.jpg │ │ ├── 21.jpg │ │ ├── 22.jpg │ │ ├── 23.jpg │ │ ├── 24.jpg │ │ ├── 25.jpg │ │ ├── 26.jpg │ │ ├── 27.jpg │ │ └── author │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ └── 06.jpg │ ├── event │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ └── 05.jpg │ ├── feature │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ ├── 05.png │ │ ├── 06.png │ │ ├── 07.png │ │ ├── 08.png │ │ ├── 09.png │ │ └── 10.png │ ├── feedback │ │ ├── 01.jpg │ │ └── student │ │ │ ├── 01.jpg │ │ │ └── 02.jpg │ ├── icon │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ └── 04.png │ ├── instructor │ │ ├── 01.jpg │ │ ├── 01.png │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── 07.jpg │ │ ├── 08.jpg │ │ ├── 09.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ └── single │ │ │ ├── 01.jpg │ │ │ └── icon │ │ │ ├── 01.png │ │ │ ├── 02.png │ │ │ ├── 03.png │ │ │ └── 04.png │ ├── logo │ │ ├── 01.png │ │ └── logo.png │ ├── pageheader │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ └── bg │ │ │ ├── 01.jpg │ │ │ └── 02.jpg │ ├── pyment │ │ └── 01.jpg │ ├── shape-img │ │ ├── 01.jpg │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ ├── 05.png │ │ ├── 06.png │ │ ├── 07.png │ │ ├── 08.png │ │ ├── 09.png │ │ ├── 10.png │ │ └── icon │ │ │ ├── 01.png │ │ │ ├── 02.png │ │ │ └── 03.png │ ├── shop │ │ ├── 01.jpg │ │ ├── 02.jpg │ │ ├── 03.jpg │ │ ├── 04.jpg │ │ ├── 05.jpg │ │ ├── 06.jpg │ │ ├── 07.jpg │ │ ├── 08.jpg │ │ ├── 09.jpg │ │ └── del.png │ ├── skill │ │ └── icon │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ └── 04.jpg │ ├── sponsor │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ ├── 05.png │ │ └── 06.png │ └── x-icon.png ├── index.html └── products.json ├── src ├── App.css ├── App.jsx ├── about │ └── About.jsx ├── assets │ ├── css │ │ ├── animate.css │ │ ├── bootstrap.min.css │ │ ├── fonts │ │ │ ├── icofont.eot │ │ │ ├── icofont.svg │ │ │ ├── icofont.ttf │ │ │ ├── icofont.woff │ │ │ └── icofont.woff2 │ │ ├── icofont.min.css │ │ ├── magnific-popup.css │ │ ├── style.min.css │ │ ├── style.min.css.map │ │ └── swiper.min.css │ ├── js │ │ ├── bootstrap.min.js │ │ ├── counter-up.js │ │ ├── functions.js │ │ ├── isotope.pkgd.js │ │ ├── jquery.js │ │ ├── magnific-popup.min.js │ │ ├── progress.js │ │ └── swiper.min.js │ └── sass │ │ ├── style.scss │ │ └── sub-stylesheet │ │ ├── _all_items.scss │ │ ├── _banner.scss │ │ ├── _blog.scss │ │ ├── _extend.scss │ │ ├── _footer.scss │ │ ├── _global.scss │ │ ├── _header.scss │ │ ├── _main.scss │ │ ├── _mixins.scss │ │ ├── _normalize.scss │ │ └── _variables.scss ├── blog │ ├── Blog.jsx │ └── SingleBlog.jsx ├── components │ ├── Footer.jsx │ ├── GoogleMap.jsx │ ├── NavItems.jsx │ ├── PageHeader.jsx │ ├── Ratting.jsx │ ├── SelectedCatagory.jsx │ ├── Sign-up.jsx │ ├── login.jsx │ └── modal.css ├── contact │ └── ContactPage.jsx ├── context │ └── AuthProvider.jsx ├── firebase │ └── firebase.config.js ├── home │ ├── AboutUs.jsx │ ├── AppSection.jsx │ ├── Banner.jsx │ ├── CategoryShowCase.jsx │ ├── Home.jsx │ ├── HomeCatagory.jsx │ ├── LocationSprade.jsx │ ├── Register.jsx │ └── Sponsor.jsx ├── index.css ├── main.jsx ├── privateRoute │ └── PrivateRoute.jsx ├── shop │ ├── CartPage.jsx │ ├── CheckoutPage.jsx │ ├── Pagination.jsx │ ├── PopularPost.jsx │ ├── ProductCards.jsx │ ├── ProductDisplay.jsx │ ├── Review.jsx │ ├── Search.jsx │ ├── Shop.jsx │ ├── ShopCategory.jsx │ ├── SingleProduct.jsx │ └── Tags.jsx └── utilis │ └── blogdata.js └── vite.config.js / dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!
46 | Open Hosting Documentation 47 |Firebase SDK Loading…
49 | 50 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | 'eslint:recommended', 6 | 'plugin:react/recommended', 7 | 'plugin:react/jsx-runtime', 8 | 'plugin:react-hooks/recommended', 9 | ], 10 | ignorePatterns: ['dist', '.eslintrc.cjs'], 11 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, 12 | settings: { react: { version: '18.2' } }, 13 | plugins: ['react-refresh'], 14 | rules: { 15 | 'react-refresh/only-export-components': [ 16 | 'warn', 17 | { allowConstantExport: true }, 18 | ], 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /.firebase/hosting.IGRpc3Q.cache: -------------------------------------------------------------------------------- 1 | index.html,1706098971297,7fd26833677008de646656876600f824e6efd173fa0021977353ab78f8b47c51 2 | -------------------------------------------------------------------------------- /.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "react-ecommerce-905cf" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React + Vite 2 | 3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. 4 | 5 | Currently, two official plugins are available: 6 | 7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh 8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh 9 | -------------------------------------------------------------------------------- /firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "hosting": { 3 | "public": "public", 4 | "ignore": [ 5 | "firebase.json", 6 | "**/.*", 7 | "**/node_modules/**" 8 | ], 9 | "rewrites": [ 10 | { 11 | "source": "**", 12 | "destination": "/index.html" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!
46 | Open Hosting Documentation 47 |Firebase SDK Loading…
49 | 50 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | .nav-profile { 2 | width: 40px; 3 | height: 40px; 4 | border-radius: 50%; 5 | background: indigo; 6 | cursor: pointer; 7 | } 8 | 9 | .page-item { 10 | width: 46px; 11 | height: 46px; 12 | text-align: center; 13 | border-radius: 50%; 14 | box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.06); 15 | background: #fff; 16 | color: #101115; 17 | display: flex; 18 | justify-content: center; 19 | align-items: center; 20 | margin: 7px; 21 | } 22 | 23 | .github { 24 | height: 36px; 25 | width: 36px; 26 | line-height: 36px; 27 | transition: all 0.3s ease; 28 | border-radius: 50%; 29 | display: inline-flex; 30 | justify-content: center; 31 | align-items: center; 32 | background: #0f9d58; 33 | color: #fff; 34 | } 35 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import { Outlet } from 'react-router-dom'; 2 | import './App.css'; 3 | import { NavItems } from './components/NavItems'; 4 | import Footer from './components/Footer'; 5 | 6 | function App() { 7 | return ( 8 | <> 9 |{expareance}
50 |{desc}
60 |{item.desc}
71 |