Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
ad6632a
chore: add public assets (Logo.svg, fonts, icons, images)
Aiiyuu Nov 15, 2025
55c8c48
chore: add base folder structure
Aiiyuu Nov 15, 2025
4aa4bd2
Merge pull request #1 from nightshift-ninjas/chore/organize-folder-st…
Aiiyuu Nov 15, 2025
00ae3f2
feat: add base SCSS layout
Aiiyuu Nov 15, 2025
4b3fac8
Merge pull request #2 from nightshift-ninjas/feature/base-scss-layout
Aiiyuu Nov 15, 2025
b9409c4
feat: add navbar and a theme switcher component
Aiiyuu Nov 15, 2025
1e572e5
refactor: move pulic assets into shared directory to avoid vite compl…
Aiiyuu Nov 15, 2025
013336d
Merge pull request #3 from nightshift-ninjas/feature/navbar
Aiiyuu Nov 15, 2025
0fd130d
refactor: move pulic assets into shared directory to avoid vite compl…
Aiiyuu Nov 15, 2025
9ecf2ac
Merge pull request #4 from nightshift-ninjas/feature/firebase
Aiiyuu Nov 15, 2025
635a32d
docs: add getting-started documentation
Aiiyuu Nov 16, 2025
70042a2
feat: install Radix UI and Swiper.js dependencies
Aiiyuu Nov 17, 2025
a7cefd9
feat(NG-7): add the button component
MarinaKramarchuk Nov 17, 2025
30210d1
Merge pull request #5 from nightshift-ninjas/NG-7_implement-button-co…
Aiiyuu Nov 17, 2025
6a86438
NG-8 feat: add dropdown component and arrow up/down icon
andrL1nk Nov 17, 2025
ddb3e11
feat(NG-10): create the ArrowButton component
Pitsan-Viktoriia Nov 17, 2025
01d3747
Merge pull request #7 from nightshift-ninjas/122334
Aiiyuu Nov 17, 2025
e6606a5
Merge pull request #8 from nightshift-ninjas/feature/dropDownMenu
Aiiyuu Nov 17, 2025
a54748a
NG-16 style: style authentication page
Aiiyuu Nov 17, 2025
a84f24f
Merge pull request #9 from nightshift-ninjas/NG-16_style-auth-page
MarinaKramarchuk Nov 17, 2025
1d56b53
feat(NG-12): Create the FavoriteButton component
Pitsan-Viktoriia Nov 17, 2025
acdaa77
Merge pull request #10 from nightshift-ninjas/NG-12
Aiiyuu Nov 17, 2025
68d98ca
feat(NG-13): add CatalogPage component
MarinaKramarchuk Nov 17, 2025
8301991
Merge pull request #11 from nightshift-ninjas/NG-13_product-card-comp…
Aiiyuu Nov 17, 2025
2e4b3c4
feat: add breadcrumbs component
Aiiyuu Nov 17, 2025
223ae78
Merge pull request #12 from nightshift-ninjas/feature/breadcrumb
Aiiyuu Nov 17, 2025
1b13b76
feat: add the ability to add items to the cart and add items to the f…
Aiiyuu Nov 17, 2025
1cd3560
Merge pull request #13 from nightshift-ninjas/feature/add-to-cart-and…
Aiiyuu Nov 17, 2025
c5d53aa
feat(NG-9): Create the PaginationButton component
Pitsan-Viktoriia Nov 17, 2025
1793585
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 17, 2025
0a70d1e
Merge pull request #14 from nightshift-ninjas/NG-9
Aiiyuu Nov 17, 2025
cb09bb4
refactor: Improve services methods, in particulary, favroite.services…
Aiiyuu Nov 17, 2025
bbe9c91
Merge pull request #15 from nightshift-ninjas/refactor/services
Aiiyuu Nov 17, 2025
1c46e25
feat(NG-11): create the ColorButton component
Pitsan-Viktoriia Nov 18, 2025
2e2b3c7
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 18, 2025
b1b2420
Merge pull request #16 from nightshift-ninjas/NG-11
Aiiyuu Nov 18, 2025
81d9aa0
NG-14 feat: add ProductSlider component and change home page, button …
andrL1nk Nov 18, 2025
b9d6511
Merge pull request #17 from nightshift-ninjas/productSlider
Aiiyuu Nov 18, 2025
6a3e31b
NG-14 feat: add ProductSlider component and change home page, button …
andrL1nk Nov 18, 2025
be782de
fix: resolve conflict
Aiiyuu Nov 18, 2025
7f6cf94
Merge pull request #18 from nightshift-ninjas/NG-20_product-filtering…
MarinaKramarchuk Nov 18, 2025
8bd4a47
feat(NG-15): add footer component
MarinaKramarchuk Nov 18, 2025
af04d61
Merge branch 'NG-15_emplement_footer_component' of https://github.com…
Aiiyuu Nov 18, 2025
efa7e93
Merge pull request #19 from nightshift-ninjas/NG-15_emplement_footer_…
Aiiyuu Nov 18, 2025
554a3fc
feat(NG-17): Implement CategoryList and CategoryItem components for h…
Pitsan-Viktoriia Nov 18, 2025
48b83f9
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 18, 2025
f9605bb
Merge pull request #20 from nightshift-ninjas/NG-17
Aiiyuu Nov 18, 2025
b64d9c6
style(NG-18): page display settings favorite productsє
MarinaKramarchuk Nov 18, 2025
ade3453
fix(NG-18): added center alignment
MarinaKramarchuk Nov 18, 2025
828b9dd
Merge pull request #21 from nightshift-ninjas/NG-18_implement_the_fav…
Aiiyuu Nov 18, 2025
29cd186
style: improve navbar appearance
Aiiyuu Nov 18, 2025
f8afb0b
Merge pull request #22 from nightshift-ninjas/style/navbar
MarinaKramarchuk Nov 18, 2025
22d2db5
style: improve CategoryList and CategoryItem styles
Aiiyuu Nov 18, 2025
0960e1c
refactor: improve code in different places and add 404 page
Aiiyuu Nov 18, 2025
a312ba9
Merge pull request #23 from nightshift-ninjas/refactor/global
Aiiyuu Nov 18, 2025
8fdd92b
add ImageSlider images
Aiiyuu Nov 18, 2025
adf5fc0
feat(NG-19): add the CartItem component
MarinaKramarchuk Nov 19, 2025
d62a97b
fix(NG-190): made the product name clickable
MarinaKramarchuk Nov 19, 2025
8eb57d1
Merge pull request #24 from nightshift-ninjas/NG-19_implement_the_car…
Aiiyuu Nov 19, 2025
02efc42
NG-21 feat: implement pagination list, remove log from slider and add…
andrL1nk Nov 19, 2025
c841b27
feat(NG-24): add The ContactsPage component
MarinaKramarchuk Nov 19, 2025
14de471
Merge pull request #25 from nightshift-ninjas/NG-24_implement_contact…
Aiiyuu Nov 19, 2025
5651f05
Merge pull request #26 from nightshift-ninjas/paginationList
Aiiyuu Nov 19, 2025
268933c
NG-22 feat: implement cart info component and add it to routes
andrL1nk Nov 19, 2025
7ae36db
Merge pull request #27 from nightshift-ninjas/cartInfo
Aiiyuu Nov 19, 2025
36e0f08
feat(NG-23): Implement the ImageSlider Component
Pitsan-Viktoriia Nov 19, 2025
4bd1ab2
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 19, 2025
0c28b95
style(NG-23): Update button styles for dark theme support
Pitsan-Viktoriia Nov 19, 2025
6c3d0d1
Merge pull request #28 from nightshift-ninjas/NG-23
Aiiyuu Nov 19, 2025
e7f8dd0
feat: partially implement checkout page
Aiiyuu Nov 19, 2025
b58e2fc
resolve conflict
Aiiyuu Nov 19, 2025
8d55d8d
Merge pull request #29 from nightshift-ninjas/feature/checkout
Aiiyuu Nov 19, 2025
ae0d82b
style: display the CartInfo
Aiiyuu Nov 19, 2025
d349f01
feat(NG-27): Implement the ProductDescription component
Pitsan-Viktoriia Nov 20, 2025
d22c1a1
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 20, 2025
481075b
feat(NG-25): add ProductImageGallery component
MarinaKramarchuk Nov 20, 2025
3acc460
Merge pull request #30 from nightshift-ninjas/NG-27
Aiiyuu Nov 20, 2025
8d906eb
fix(NG-25): changed selected button color
MarinaKramarchuk Nov 20, 2025
33db940
fix(NG-25):added removal of an item from the page when changing the s…
MarinaKramarchuk Nov 20, 2025
bdc9c03
Merge pull request #31 from nightshift-ninjas/NG-25_emplement_Product…
Aiiyuu Nov 20, 2025
025c88c
resolve conflict
Aiiyuu Nov 20, 2025
77f10bb
fix: fix button background color
MarinaKramarchuk Nov 20, 2025
d6ec7c1
Merge pull request #32 from nightshift-ninjas/button_fix
Aiiyuu Nov 20, 2025
5a1502b
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Aiiyuu Nov 20, 2025
52d28d9
NG-26: temporary
andrL1nk Nov 21, 2025
23670ab
NG-26 feat: implement product navigation component and change colors
andrL1nk Nov 21, 2025
365eaf6
Merge branch 'productNavigation' of https://github.com/nightshift-nin…
Aiiyuu Nov 21, 2025
9902a35
Merge pull request #33 from nightshift-ninjas/productNavigation
Aiiyuu Nov 21, 2025
26e33dd
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Aiiyuu Nov 21, 2025
a422eae
feat(NG-27): add "You may also like" section to ProductDetailPage
Pitsan-Viktoriia Nov 21, 2025
1822f16
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 21, 2025
c1339ea
Merge pull request #34 from nightshift-ninjas/NG-27
Aiiyuu Nov 21, 2025
7e8fe4e
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Aiiyuu Nov 21, 2025
2faab39
feat: add profile and checkout page
Aiiyuu Nov 21, 2025
3e06604
Merge pull request #35 from nightshift-ninjas/feature/profile-checkou…
Aiiyuu Nov 21, 2025
f9cbcbd
feat(NG-23): replace first image with video in ImageSlider
Pitsan-Viktoriia Nov 21, 2025
183f7f2
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 21, 2025
7afbc1c
chore(NG-23): replace MP4 video with WEBM format
Pitsan-Viktoriia Nov 21, 2025
619d3c5
feat: setup i18n
Aiiyuu Nov 21, 2025
5d04dc9
Merge pull request #36 from nightshift-ninjas/NG-27
Aiiyuu Nov 21, 2025
b9a1f5c
Merge pull request #37 from nightshift-ninjas/feature/i18n
Aiiyuu Nov 21, 2025
8ae666c
feat: add exchanger
Aiiyuu Nov 22, 2025
da5d292
feat: add rate
Aiiyuu Nov 22, 2025
4179dff
Merge pull request #38 from nightshift-ninjas/feature/exchanger
Aiiyuu Nov 22, 2025
5a47c4f
fix: change total sum when changing quantity in cart
Aiiyuu Nov 22, 2025
a5e22c1
feature/product-detail-skeleton
Aiiyuu Nov 22, 2025
7ca78eb
feature: add promocodes
Aiiyuu Nov 23, 2025
408f1f3
feat: translate some components
Aiiyuu Nov 23, 2025
a0efd90
feat: add global search
Aiiyuu Nov 24, 2025
ae7f5af
feat: add emailjs
Aiiyuu Nov 24, 2025
55a80d3
feat: setup FrameMotion
Aiiyuu Nov 24, 2025
8985e5a
fix: fix build command
Aiiyuu Nov 24, 2025
647cae4
feat: add ProductCard skeleton
Aiiyuu Nov 24, 2025
0cd4df1
feat: add cart and favorite list count
Aiiyuu Nov 24, 2025
4eadf3f
Merge pull request #39 from nightshift-ninjas/feature/navbar-pillow
Aiiyuu Nov 24, 2025
6af1049
feat(NG-30): Implement translation for HomePage
Pitsan-Viktoriia Nov 24, 2025
5a51e16
feat(NG-30): Implement pluralization and translation for FavoritePage…
Pitsan-Viktoriia Nov 24, 2025
f056c9a
feat(NG-30): add translation for loading state and error messages on …
Pitsan-Viktoriia Nov 24, 2025
2e6a421
feat(NG-31): translation of website texts into Ukrainian and English …
MarinaKramarchuk Nov 24, 2025
1ed6405
feat(NG-30): Implement translation for SuccessAnimation
Pitsan-Viktoriia Nov 24, 2025
657751a
Merge pull request #41 from nightshift-ninjas/NG-31_translate_into_en…
Aiiyuu Nov 24, 2025
db8ac25
fixed incorrect counting of items in the cart
MarinaKramarchuk Nov 24, 2025
5f70260
Merge pull request #42 from nightshift-ninjas/fixing_counting_deleted…
Aiiyuu Nov 24, 2025
47f48ea
feat(NG-30): Implement translation for Catalog page
Pitsan-Viktoriia Nov 24, 2025
419c86f
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 24, 2025
69654f3
NG-29 feat: add translation to Cart page, not found page, auth page a…
andrL1nk Nov 24, 2025
d714f9a
Merge pull request #43 from nightshift-ninjas/translation#1
Aiiyuu Nov 24, 2025
2a7fbf1
Merge pull request #40 from nightshift-ninjas/NG-30
Aiiyuu Nov 24, 2025
5dff8c0
feat: add slide in component
Aiiyuu Nov 25, 2025
65c0c78
Merge pull request #44 from nightshift-ninjas/feature/creators
Aiiyuu Nov 25, 2025
626305e
fix(NG-30): Add categories (phones, tablets, accessories) to homePage…
Pitsan-Viktoriia Nov 25, 2025
0804fae
NG-Amim feat: Add animatioin to auth page, not found page, prod cart …
andrL1nk Nov 25, 2025
ca53bce
Merge pull request #45 from nightshift-ninjas/animationAndAutoplay
Aiiyuu Nov 25, 2025
daff81c
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 25, 2025
c374c35
style: made animations p3
MarinaKramarchuk Nov 25, 2025
0dd7943
feat(NG-30/2): add animation to FavoritePage and SuccessAnimation
Pitsan-Viktoriia Nov 25, 2025
449d80d
Merge pull request #46 from nightshift-ninjas/implement_animation_p3
Aiiyuu Nov 25, 2025
3d63787
feat(NG-30/2): add animation to CatalogPage
Pitsan-Viktoriia Nov 25, 2025
5e11e3f
feat(NG-30/2): add animation for the title on FavoritePage
Pitsan-Viktoriia Nov 25, 2025
407932c
fix(SlideIn): add once prop and move transition into whileInView
Pitsan-Viktoriia Nov 25, 2025
1062ef6
feat(CatalogList): replace motion variants with SlideIn animation for…
Pitsan-Viktoriia Nov 25, 2025
c6a719b
add framer motino animation p_4
Aiiyuu Nov 25, 2025
a93430a
resolve conflict
Aiiyuu Nov 25, 2025
f73cf76
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 25, 2025
02d5bd0
NG-Switch feat: Add animation during switching the pages
andrL1nk Nov 25, 2025
76d57fb
Merge pull request #47 from nightshift-ninjas/NG-30
Aiiyuu Nov 25, 2025
2389387
Merge branch 'pageSwitcher' of https://github.com/nightshift-ninjas/r…
Aiiyuu Nov 25, 2025
08ddc64
Merge pull request #48 from nightshift-ninjas/pageSwitcher
Aiiyuu Nov 25, 2025
380f8df
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Aiiyuu Nov 25, 2025
e916fea
fix: fix some animation issues
Aiiyuu Nov 25, 2025
ff73dd0
feat(HomePage): add animation for title on HomePage
Pitsan-Viktoriia Nov 25, 2025
f6235b1
fix(NG-30): fixed HomePage animation
Pitsan-Viktoriia Nov 25, 2025
cc89171
Merge pull request #49 from nightshift-ninjas/NG-31
Aiiyuu Nov 25, 2025
fe7e319
fix(AnimatedTitle): added spaces the to title on HomePage
Pitsan-Viktoriia Nov 25, 2025
f526f32
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Pitsan-Viktoriia Nov 25, 2025
68ed78a
add some fixes to title animation
Aiiyuu Nov 25, 2025
e8d7ce3
style(NG-32): add info about a team member
MarinaKramarchuk Nov 26, 2025
f010f7e
fix(NG-32): added scroll up when loading the product details page
MarinaKramarchuk Nov 26, 2025
ea46cc5
fix(NG-32): changed link in footer to creators page
MarinaKramarchuk Nov 26, 2025
3352492
feat(NG-33): Added my data to the creator's page.
Pitsan-Viktoriia Nov 26, 2025
d40365e
fix(NG-32): add link to github
MarinaKramarchuk Nov 26, 2025
9cbf9af
fix: scrolling creators page
MarinaKramarchuk Nov 26, 2025
96fee5c
Merge pull request #50 from nightshift-ninjas/NG-32_adding_info_about…
Aiiyuu Nov 26, 2025
5f268fd
Merge branch 'develop' into NG-33
Aiiyuu Nov 26, 2025
8033056
Merge pull request #51 from nightshift-ninjas/NG-33
Aiiyuu Nov 26, 2025
eaf6a85
fixed scrolling page up and auth page mobile
MarinaKramarchuk Nov 26, 2025
99f45eb
Merge pull request #52 from nightshift-ninjas/fixing_scrolling_pages
Aiiyuu Nov 26, 2025
e102ae4
fix: fix cat z-index and receipt appearance
Aiiyuu Nov 26, 2025
cc93e6e
Merge branch 'develop' of https://github.com/nightshift-ninjas/react_…
Aiiyuu Nov 26, 2025
c4a3a60
Merge pull request #53 from nightshift-ninjas/fix/global
Aiiyuu Nov 26, 2025
dab1bae
feat(NG-17): Add hover effect to ShopByCategory section to display video
Pitsan-Viktoriia Nov 26, 2025
3c52316
Merge branch 'develop' into NG-17
Aiiyuu Nov 26, 2025
a974b2d
Merge pull request #54 from nightshift-ninjas/NG-17
Aiiyuu Nov 26, 2025
75e4346
change chart bg on dark theme
Aiiyuu Nov 26, 2025
b9e760d
add myself to creators and fix bag with slider buttons
andrL1nk Nov 27, 2025
04c7ccf
add myself and fix bug
andrL1nk Nov 27, 2025
89a32b4
Merge pull request #55 from nightshift-ninjas/creator
Aiiyuu Nov 27, 2025
c69cc8d
fix: fix chart bg on dark theme
Aiiyuu Nov 27, 2025
012a7ce
fix: global search on close issue
Aiiyuu Nov 27, 2025
9f7ce6a
fix: round total sum
Aiiyuu Nov 28, 2025
7d8c00c
add README.md file
Aiiyuu Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
VITE_FIREBASE_API_KEY=AIzaSyBE4unvqtmbkqvHK6wsmp76CZlk4sJMi2k
VITE_FIREBASE_AUTH_DOMAIN=nicegadgets-57840.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=nicegadgets-57840
VITE_FIREBASE_STORAGE_BUCKET=nicegadgets-57840.firebasestorage.app
VITE_FIREBASE_MESSAGING_SENDER_ID=1008000652504
VITE_FIREBASE_APP_ID=1:1008000652504:web:1413dc4d501b95502c33ad
VITE_FIREBASE_MEASUREMENT_ID=G-VL31HFGCWD

VITE_PAYPAL_CLIENT_ID=AQ08Mqg0gNl9c6vLDhbyazrbdUhBRGXi0ZtrbxixLSDSQnu_7vCoNZTIzTt6p1Ya7CI6Y9o8pqbJRAae

VITE_EMAILJS_SERVICE_ID=service_xhw8s4n
VITE_EMAILJS_TEMPLATE_RECEIPT_ID=template_sr0o5jj
VITE_EMAILJS_PUBLIC_KEY=41scgEAATYOVe9gbz
4 changes: 2 additions & 2 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"experimentalTernaries": true,
"experimentalTernaries": false,
"singleQuote": true,
"quoteProps": "consistent",
"singleAttributePerLine": true,
"singleAttributePerLine": false,
"arrowParens": "always",
"bracketSameLine": false,
"bracketSpacing": true,
Expand Down
2 changes: 1 addition & 1 deletion .vite/deps/_metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@
"file": "chunk-KHA5YKM3.js"
}
}
}
}
1,180 changes: 757 additions & 423 deletions .vite/deps/chunk-KHA5YKM3.js

Large diffs are not rendered by default.

27,246 changes: 18,288 additions & 8,958 deletions .vite/deps/react-dom_client.js

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions .vite/deps/react.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
import {
require_react
} from "./chunk-KHA5YKM3.js";
import { require_react } from './chunk-KHA5YKM3.js';
export default require_react();
289 changes: 190 additions & 99 deletions .vite/deps/react_jsx-dev-runtime.js

Large diffs are not rendered by default.

219 changes: 146 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,146 @@
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...

// Remove tseslint.configs.recommended and replace with this
tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
tseslint.configs.stylisticTypeChecked,

// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
]);
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x';
import reactDom from 'eslint-plugin-react-dom';

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
]);
```
<p align="center">
<h1 align="center">NiceGadgets 🛒</h1>
</p>


<p align="center">
<a href="https://nightshift-ninjas.github.io/react_phone-catalog/">
<img src="https://img.shields.io/badge/✨Live-Preview-brightgreen" alt="Live Preview">
</a>
<a href="https://github.com/nightshift-ninjas/react_phone-catalog">
<img src="https://img.shields.io/badge/💻Source-Code-blue" alt="Source Code">
</a>
</p>


<p align="center">
<a href="">
<img src="https://img.shields.io/badge/Status-Active-brightgreen?style=for-the-badge" alt="Status">
</a>
<a href="LICENSE">
<img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge" alt="License">
</a>
<a href="https://nodejs.org/">
<img src="https://img.shields.io/badge/Node.js-v23.11.0-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js">
</a>
<a href="https://www.npmjs.com/">
<img src="https://img.shields.io/badge/npm-v11.4.2-orange?style=for-the-badge" alt="npm">
</a>
</p>


Welcome to **NiceGadgets**, the ultimate online store for purchasing the latest Apple devices. This e-commerce website is designed to provide a modern, user-friendly shopping experience with a variety of features and a sleek design. It is built with **React**, **TypeScript**, **Sass**, and many other modern technologies to ensure a smooth and responsive user interface.


## Features 🚀

### Cart Logic 🛒

* Users can add/remove items from their cart.
* The cart data is persisted in **Firebase Firestore** for authenticated users, making it available across sessions.

### Checkout and Payment 💳

* The checkout page integrates **Paypal**, allowing users to complete their purchases securely.
* Order summary, shipping, and payment details are presented in a user-friendly way.

### Authentication & Profile 🔑

* Users can sign up and log in with their **Google account**.
* Users have the option to view and edit their profile information.

### Wishlist 💖

* Users can save their favorite products for later purchase.
* The wishlist is stored in **Firebase Firestore** for authenticated users.

### Theme & Language Switcher 🌞🌙

* Easily toggle between light and dark themes.
* Switch between different languages (English, Spanish, French, etc.).

### Sliders 🎠

* The app features multiple image and product sliders across different sections using **Swiper JS**.
* The sliders are fully responsive, ensuring a great experience on all devices.

### Apex Charts for Statistics 📊

* View real-time product statistics and performance in the form of interactive **Apex Charts**.

## Technologies Used 🛠️
[![React](https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![Sass](https://img.shields.io/badge/Sass-CC6699?style=for-the-badge&logo=sass&logoColor=white)](https://sass-lang.com/)
[![Radix UI](https://img.shields.io/badge/Radix_UI-000000?style=for-the-badge&logo=radix&logoColor=white)](https://www.radix-ui.com/)
[![Firebase](https://img.shields.io/badge/Firebase-FFCA28?style=for-the-badge&logo=firebase&logoColor=black)](https://firebase.google.com/)
[![Paypal](https://img.shields.io/badge/PayPal-003087?style=for-the-badge&logo=paypal&logoColor=white)](https://www.paypal.com/)
[![Framer Motion](https://img.shields.io/badge/Framer_Motion-0055FF?style=for-the-badge&logo=framer&logoColor=white)](https://www.framer.com/motion/)
[![ApexCharts](https://img.shields.io/badge/ApexCharts-FF4560?style=for-the-badge&logo=apexcharts&logoColor=white)](https://apexcharts.com/)
[![i18n](https://img.shields.io/badge/i18n-0A0A0A?style=for-the-badge&logo=translation?color=white)](https://www.i18next.com/)


## Installation 📥

1. Clone the repository:
```bash
git clone https://github.com/nightshift-ninjas/react_phone-catalog.git
```

2. Enter the directory:
```bash
cd react_phone-catalog
```

3. Install the dependencies:

```bash
npm install
```

4. Run the development server:

```bash
npm run dev
```

5. Open the app in your browser at `http://localhost:3000`.

## Team 👥

This project was developed by a talented team of four developers:

#### Kramarchuk Marina – Tech Lead
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/marina-kramarchuk-5a009b333/)
[![GitHub](https://img.shields.io/badge/GitHub-333333?style=for-the-badge&logo=github&logoColor=white)](https://github.com/MarinaKramarchuk)
[![Telegram](https://img.shields.io/badge/Telegram-0088CC?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/mar_kram)

#### Holovach Nazariy – Project Manager
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/nazariy-holovach-a6a30738a/)
[![GitHub](https://img.shields.io/badge/GitHub-333333?style=for-the-badge&logo=github&logoColor=white)](https://github.com/Aiiyuu)
[![Telegram](https://img.shields.io/badge/Telegram-0088CC?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/nazariyholovach)

#### Viktoriia Pitsan – Frontend Developer
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/viktoriia-pitsan-4426a238b/)
[![GitHub](https://img.shields.io/badge/GitHub-333333?style=for-the-badge&logo=github&logoColor=white)](https://github.com/ViktoriiaPitsan)
[![Telegram](https://img.shields.io/badge/Telegram-0088CC?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/Pitsan_Viktoriia)

#### Linkevych Andrii – Frontend Developer
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/andrii-linkevych-928823394/)
[![GitHub](https://img.shields.io/badge/GitHub-333333?style=for-the-badge&logo=github&logoColor=white)](https://github.com/andriiLink)
[![Telegram](https://img.shields.io/badge/Telegram-0088CC?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/andrL1nk)


## Contributing 🤝

We welcome contributions from the community! If you'd like to contribute, please follow the steps below:

1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature`).
3. Commit your changes (`git commit -am 'Add new feature'`).
4. Push to the branch (`git push origin feature/your-feature`).
5. Create a new Pull Request.

---

Made with ❤️ by the **Nightshift-Ninjas** team.
Loading
Loading