Test Title ...
+231$
+Test Title ...
+231$
+diff --git a/package-lock.json b/package-lock.json index d63a3d2..fd4a83b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.0", "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-icons": "^4.10.1" }, "devDependencies": { "@types/react": "^18.0.28", @@ -1182,6 +1183,14 @@ "react": "^18.2.0" } }, + "node_modules/react-icons": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.10.1.tgz", + "integrity": "sha512-/ngzDP/77tlCfqthiiGNZeYFACw85fUjZtLbedmJ5DTlNDIwETxhwBzdOJ21zj4iJdvc0J3y7yOsX3PpxAJzrw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-refresh": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", diff --git a/package.json b/package.json index b6d50b2..ae2996c 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ }, "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-icons": "^4.10.1" }, "devDependencies": { "@types/react": "^18.0.28", diff --git a/src/App.css b/src/App.css index b9d355d..98e0787 100644 --- a/src/App.css +++ b/src/App.css @@ -1,42 +1,239 @@ -#root { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; +.app header { + display: flex; + justify-content: space-between; + align-items: baseline; + z-index: 999; + position: relative; +} + +.shop-icon { + font-size: 1.6rem; +} +.app header a { + cursor: pointer; + position: relative; + color: black; +} +.app header span { + position: absolute; + right: -6px; + top: 11px; + color: white; + font-size: 0.7rem; + width: 4px; + background: green; + padding: 0.1rem 0.4rem; + border-radius: 14px; +} +.app header .logo { + font-size: 2rem; + text-decoration: none; + margin-top: 12px; + font-family: cursive; +} + +/* <<<<<<<< end header >>>>>>>> */ +.app { + padding: 0rem 2rem; + min-height: 97vh; + position: relative; + display: flex; + flex-direction: column; + overflow-x: hidden; +} + +.app section { + position: relative; + z-index: 999; +} +/* <<<<<<<< start footer >>>>>>>> */ +.app footer a { + text-decoration: none; + color: green; +} +.app footer { text-align: center; + position: fixed; + width: 100%; + bottom: 0px; + z-index: 999; + background-color: white; + left: 0; + padding-top: 1rem; + padding-bottom: 1rem; + margin-top: auto; + border-top: 1px solid black; } -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: filter 300ms; +/* <<<<<<<< end footer >>>>>>>> */ + +/* <<<<<<<<<<< swal >>>>>>>>>>> */ +.swal-footer { + text-align: center !important; } -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); +.swal-button--confirm { + background-color: green !important; } -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); + +.swal-button--cancel { + background-color: #c3c1c1 !important; + color: black !important; +} +.swal-title { + font-family: cursive; + padding-bottom: 31px; } -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } +.emptyBasket { + margin-top: 2rem; + text-align: center; +} +.emptyBasket p { + margin-left: 2rem; + font-size: 1.5rem; + font-family: cursive; +} +.emptyBasket img { + width: 300px; + margin: 0rem auto; + display: block; } -@media (prefers-reduced-motion: no-preference) { - a:nth-of-type(2) .logo { - animation: logo-spin infinite 20s linear; - } +.card-index { + display: flex; + position: relative; + z-index: 999; + justify-content: left; + flex-wrap: wrap; + padding-top: 4rem; + margin-bottom: 4rem; + gap: 60px; +} +.cart-topbar .title { + margin-left: 0rem !important; +} +.cart-topbar button { + background-color: green; + color: white; + width: 300px; + border-radius: 5px; + display: flex; + cursor: pointer; + align-items: center; + justify-content: center; + padding: 0.7rem; + border: 1px solid white; +} +.cart-topbar { + display: flex; + align-items: baseline; + justify-content: space-between; +} +.delete-icon { + font-size: 1.2rem; + margin-left: 0.5rem; +} +.product-count span { + width: 100px; + cursor: pointer; + text-align: center; +} +.product-count p { + text-align: center; + margin-top: 10px; + margin-bottom: 10px; +} +.product-count { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + background-color: rgba(239, 235, 235, 0.542); } +.card img { + width: 49%; + object-fit: contain; + /* height: -webkit-fill-available; */ + margin-left: auto; + margin-right: auto; + display: block; + width: 200px; + height: 200px; +} +.card p { + font-size: 1.3rem; + font-family: cursive; +} .card { - padding: 2em; + width: 300px; + margin-top: 2rem; + padding-top: 1rem; + background-color: white; + border-radius: 10px; + border: 1px solid green; +} +.card main { + padding: 0.5rem 1rem; +} +.card button:hover { + background-color: green; + color: white; + border: 1px solid green; +} +.card button { + width: 100%; + padding: 0.7rem; + outline: 0; + color: green; + background-color: transparent; + cursor: pointer; + border: 1px solid black; + margin: 1rem 0rem; + border-radius: 5px; + transition: 0.2s all ease-in; +} +.card-details p { + margin-top: 0px; +} +.card-details { + align-items: baseline; + display: flex; + justify-content: space-between; + width: 100%; } -.read-the-docs { - color: #888; +.index-first-bg { + position: absolute; + right: -7px; + top: -14px; + width: 100%; +} + +.main-index { + display: flex; + position: relative; + z-index: 999; + justify-content: space-around; + flex-wrap: wrap; + padding-top: 4rem; + margin-bottom: 4rem; +} + +.app section, +.main-index section { + position: relative; + z-index: 999; +} +.title { + background: white; + margin-top: 4rem; + border-radius: 500px; + font-size: 2rem; + font-family: cursive; + width: max-content; + padding: 3rem; + margin-left: auto; + margin-right: auto; + display: block; } diff --git a/src/App.tsx b/src/App.tsx index 776eaa0..e93bd5b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,35 +1,79 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from '/vite.svg' -import './App.css' - +import React from "react"; +import "./App.css"; +import { AiFillStar, AiOutlineStar } from "react-icons/ai"; function App() { - const [count, setCount] = useState(0) - return ( -
All Products:
+Test Title ...
+231$
+Test Title ...
+231$
+
- Edit src/App.tsx
and save to test HMR
-
- Click on the Vite and React logos to learn more -
+All Products In Basket:
+ +Test Title ...
+111$
+Count: 22
+Your Basket Is Empty :((
+