Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
ae8c132
refactor: branch's name
BrianNguyen22 May 24, 2024
5ee833e
vendor: rollback
BrianNguyen22 May 25, 2024
f93b45d
Merge branch 'refs/heads/main' into cart
BrianNguyen22 May 25, 2024
0160152
Merge branch 'refs/heads/main' into cart
BrianNguyen22 May 28, 2024
05f4008
add file styleCartDialog.css
BrianNguyen22 Jun 6, 2024
64581da
Merge branch 'main' of https://github.com/john9101/project-fe-reactjs…
BrianNguyen22 Jun 6, 2024
632fc6f
vendor: commit to checkout other branch
BrianNguyen22 Jun 8, 2024
4e664d0
vendor: commit to pull new code from main
BrianNguyen22 Jun 8, 2024
d76bd9e
vendor: commit to pull new code from main
BrianNguyen22 Jun 8, 2024
37fe236
change display tabs in product detail page
john9101 Jun 8, 2024
97538b2
fix: conflict from main
BrianNguyen22 Jun 8, 2024
c62cd61
slipt navbar
john9101 Jun 10, 2024
0d5a1c4
feat: add uniform into cart
BrianNguyen22 Jun 10, 2024
bdf7f81
Merge branch 'refs/heads/main' into cart
BrianNguyen22 Jun 12, 2024
dda58dd
feat: remove cart item from cart, display price.
BrianNguyen22 Jun 12, 2024
473f214
add react-slick library ui
john9101 Jun 15, 2024
3c0054f
update css carousel image product in product detail page
john9101 Jun 15, 2024
2273c2f
handle show content with tab conponent of mui
john9101 Jun 15, 2024
bb00ccd
handle autoplay carousel image product and zoom in arrow area mouse m…
john9101 Jun 15, 2024
de81abe
complete display information single product
john9101 Jun 15, 2024
fdc210d
change name function product controller layer and remove handle categ…
john9101 Jun 15, 2024
db90e40
feat: add popup comfirm delete cartitem
BrianNguyen22 Jun 16, 2024
bff848d
temp
john9101 Jun 17, 2024
8761248
fix conflict
john9101 Jun 17, 2024
e1d7d21
feat: Synchronize the cart item's quantity button
BrianNguyen22 Jun 18, 2024
cddad0f
modifier filter
john9101 Jun 18, 2024
fd464e7
handle redirect image with selected option name
john9101 Jun 19, 2024
ad90927
custom radio button and handle unselected radio button in product det…
john9101 Jun 21, 2024
c8c827e
handle validate review form
john9101 Jun 21, 2024
00effbe
refactor: function cart
BrianNguyen22 Jun 21, 2024
6fab5b4
handle validate review
john9101 Jun 23, 2024
94039eb
handle validate review
john9101 Jun 23, 2024
bf4379b
fix: repair config for cart
BrianNguyen22 Jun 23, 2024
8c5c771
Merge branch 'refs/heads/main' into cart
BrianNguyen22 Jun 23, 2024
d77ebe4
refactor: remove sass-cache
BrianNguyen22 Jun 23, 2024
09db9a4
refactor: remove sass-cache
BrianNguyen22 Jun 23, 2024
b5c002c
refactor: remove scss.map
BrianNguyen22 Jun 24, 2024
0f4561e
refactor (cart): rename file ListCartItem to CartItemsList
BrianNguyen22 Jun 24, 2024
8810a6a
temp add
john9101 Jun 24, 2024
e77729e
remove handle QuestionAnswer backend
john9101 Jun 25, 2024
a961e3e
commit package json
john9101 Jun 30, 2024
7f79f59
Merge branch 'refs/heads/main' into cart
BrianNguyen22 Jul 2, 2024
c35fcee
refactor: update the payment method
BrianNguyen22 Jul 3, 2024
4dcc5dc
feat: show mini cart when hover cart icon
BrianNguyen22 Jul 3, 2024
097cf2f
handle build api filter and search product with pagination and handle…
john9101 Jul 4, 2024
9364cfd
handle validate require form in product detail page
john9101 Jul 5, 2024
4214add
create api save new require
john9101 Jul 5, 2024
4954cff
feat: add function voucher in cart
BrianNguyen22 Jul 5, 2024
164d3c4
handle send require and using axio call api save require into mongodb
john9101 Jul 5, 2024
a474627
setup handle quick show product detail
john9101 Jul 6, 2024
6db5607
Merge branch 'productDetail' of https://github.com/john9101/project-f…
john9101 Jul 6, 2024
6a27ea0
handle show quick see product modal
john9101 Jul 6, 2024
fc91a05
Merge branch 'refs/heads/main' into productDetail
john9101 Jul 6, 2024
44dc071
fix conflict when merge into main
john9101 Jul 6, 2024
a50a881
remove MainLayout.tsx in folder pages
john9101 Jul 6, 2024
fe86c1a
style: edit voucher interface
BrianNguyen22 Jul 7, 2024
6a856d2
Merge branch 'refs/heads/main' into cart
BrianNguyen22 Jul 7, 2024
ff8290b
make simple chatbox web socket
john9101 Jul 8, 2024
6f532d0
Merge branch 'productDetail' of https://github.com/john9101/project-f…
john9101 Jul 8, 2024
7312f86
handle show size guide in product detail and show detail info option …
john9101 Jul 10, 2024
1e8ba06
fix color icon size guide
john9101 Jul 10, 2024
d8ad38a
Merge branch 'main' of https://github.com/john9101/project-fe-reactjs…
john9101 Jul 10, 2024
cf88243
asign type BodyMetric
john9101 Jul 10, 2024
cec19ee
not handel socket chat box
john9101 Jul 10, 2024
cc76295
not handle socket chatbox
john9101 Jul 10, 2024
411d959
Merge branch 'productDetail' of https://github.com/john9101/project-f…
john9101 Jul 10, 2024
8a966c0
handle productId props of ProductDetail componnet
john9101 Jul 10, 2024
8affd04
handle productId props in ProductDetail componenet
john9101 Jul 10, 2024
46f79ce
handle invisible tab in quick see mode
john9101 Jul 10, 2024
4208d6b
handle invisible tabs in quick see product mode
john9101 Jul 10, 2024
1c27cc5
Merge remote-tracking branch 'refs/remotes/origin/productDetail' into…
BrianNguyen22 Jul 11, 2024
c117127
temp add
BrianNguyen22 Jul 12, 2024
b8156ca
Merge branch 'productDetail' of https://github.com/john9101/project-f…
BrianNguyen22 Jul 12, 2024
e7960c9
refactor: add product to cart
BrianNguyen22 Jul 12, 2024
c82106e
style: voucher card and caculation price when appove voucher
BrianNguyen22 Jul 12, 2024
f2fa4fd
Merge branch 'refs/heads/main' into cart
BrianNguyen22 Jul 12, 2024
cfb6adc
refactor: add product from productDetail to Cart
BrianNguyen22 Jul 12, 2024
11a3473
fix: choose size and model product before add to cart
BrianNguyen22 Jul 12, 2024
977af6e
feat: complete logic for function add favourite product
BrianNguyen22 Jul 12, 2024
1f721c1
handle filter sale product and sort price
john9101 Jul 13, 2024
5e8466b
Merge remote-tracking branch 'refs/remotes/origin/shop' into favourit…
BrianNguyen22 Jul 14, 2024
ea4088f
feat: complete page favourite
BrianNguyen22 Jul 15, 2024
3e2748d
feat: complete page favourite
BrianNguyen22 Jul 15, 2024
def6683
Merge remote-tracking branch 'origin/favouriteProduct' into favourite…
BrianNguyen22 Jul 15, 2024
980505b
feat: complele template page not found
BrianNguyen22 Jul 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
"slick-carousel": "^1.8.1",
"socket.io-client": "^4.7.5",
"styled-components": "^6.1.11",
"typed.js": "^2.1.0",
"typescript": "^5.5.2",
"web-vitals": "^2.1.4",
"yup": "^1.4.0"
Expand Down
250 changes: 244 additions & 6 deletions app/src/App.css
Original file line number Diff line number Diff line change
@@ -1,12 +1,250 @@
/*Payment*/
.process {
:root {
--background-primary: #C07973;
}

.cart-container {
position: relative;
display: inline-block;
z-index: 1000;
}

.hover-fill-space {
position: absolute;
right: 0;
top: 40px;
width: 100%;
height: 50px;
pointer-events: auto;
z-index: 1000;
}

.cart-preview {
position: absolute;
right: 0;
top: 50px;
background-color: white;
border: 1px solid #ddd;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
padding: 10px;
z-index: 500;
width: 400px;
/*pointer-events: auto;*/
}

.cart-items-mini {
max-height: 400px;
overflow-y: scroll;
-ms-overflow-style: none;
}

.cart-items-mini::-webkit-scrollbar {
display: none;
}


.cart-container:hover .cart-preview,
.cart-container:hover .hover-fill-space {
display: block;
}

.cart-item {
display: flex;
flex-direction: row;
justify-content: center;
margin-bottom: 10px;
border-bottom: .1em solid var(--background-primary);
}

.cart-item img {
left: 0;
margin-right: 10px;
margin-bottom: 10px;
}

.cart-item-details {
display: flex;
flex-direction: column;
}

.cart-item-details h6 {
margin: 0;
font-size: 14px;
}

.cart-item-details p {
margin: 0;
color: #777;
font-size: 12px;
}

.cart-item-details-sub {
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}


.cart-buttons {
margin-top: 10px;
background: var(--background-primary);
border-top: .1em solid var(--background-primary);
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
color: white;

}

.cart-buttons:hover {
color: black;
text-decoration: none;
}

.table-cart::-webkit-scrollbar {
display: none;
}

.fixed-header thead {
position: sticky;
top: -1px;
z-index: 1000;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.voucher-container {
width: 100%;
overflow-x: auto;
white-space: nowrap;
margin-bottom: 1rem;
cursor: pointer;
padding: 0.2rem;
}

.voucher-container::-webkit-scrollbar {
height: .9rem;
background-color: #f5f5f5;
}

.voucher-container::-webkit-scrollbar-thumb {
background-color: #D19C97;
border-radius: 10px;
border: 2px solid #f5f5f5;
}

.voucher {
position: relative;
display: inline-block;
background-color: #D19C97;
border-radius: 10px;
padding: 20px;
max-width: 25rem;
margin-right: 10px;
color: white;
border: none;
}

.voucher-header {
display: flex;
flex-direction: row;
align-items: center;
}

.voucher-title {
font-size: 24px;
font-weight: bold;
/*color: #333;*/
margin-right: .5em;
}

.voucher-subtitle {
font-size: 14px;
/*color: #666;*/
}

.voucher-content {
margin-top: 20px;
}

.voucher-description {
font-size: 16px;
/*color: #333;*/
}

.voucher-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 2rem;
margin-top: 20px;
}

.voucher-expiry {
font-size: 14px;
/*color: #666;*/
}

.voucher-condition {
font-size: 14px;
/*color: #007bff;*/
}

.process-1{
width: 3rem;
}
.voucher-icon input {
width: 30px;
height: 30px;
border-radius: 50%;
background-color: #ccc;
position: absolute;
top: 20px;
right: 15px;
}

input[type='radio']:after {
content: "";
width: 100%;
height: 100%;
border-radius: 50%;
display: inline-block;
border: 5px white solid;
}

input[type='radio']:checked:after {
background: #D19C97;
}

.voucher {
--padding: 50px;
position: relative;
padding-left: var(--padding);
margin-right: calc(var(--padding) / 2);
}

.voucher:before,
.voucher:after {
content: "";
display: block;
position: absolute;
--size: 50px;
}

.voucher:before {
background: white;
width: var(--size);
height: var(--size);
border-radius: 50%;
top: 50%;
left: calc(var(--size) / 2 - var(--padding));
transform: translateY(-50%);
}

.voucher:after {
height: 100%;
background: #D19C97;
width: 1px;
top: 0;
left: calc(var(--size) / 2 + 2%);
border: 1px dashed white;
}


8 changes: 7 additions & 1 deletion app/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ import { CircularProgress } from "@mui/material";
import FormLayout from './layout/FormLayout';
import { ToastContainer } from "react-toastify";
import 'react-toastify/dist/ReactToastify.css';
import Favourite from "./pages/Favourite";
import Shop from "./pages/Shop";
import CartDetail from "./pages/CartDetail";
import PageNotFound from "./pages/PageNotFound";

const Home = lazy(() => import('./pages/Home'));
const ContactUs = lazy(() => import('./pages/ContactUs'));
const CartDetail = lazy(() => import('./pages/cart/CartDetail'));
const Login = lazy(() => import('./pages/Login'));
const Register = lazy(() => import('./pages/Register'));
const ForgotPassword = lazy(() => import('./pages/ForgotPassword'));
Expand All @@ -33,6 +36,9 @@ function App() {
<Route path="contact-us" element={<ContactUs />} />
<Route path="products/:productId" element={<ProductDetail/>} />
<Route path="about-us" element={<AboutUs />} />
<Route path="shop" element={<Shop/>}/>
<Route path="favourite" element={<Favourite />} />
<Route path="404" element={<PageNotFound />} />
</Route>
<Route path="account" element={<FormLayout />}>
<Route path="login" element={<Login />} />
Expand Down
2 changes: 1 addition & 1 deletion app/src/assets/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -9587,4 +9587,4 @@ a.text-dark:hover, a.text-dark:focus {
100% {
transform: translateY(-15px);
}
}
}
9,730 changes: 9,729 additions & 1 deletion app/src/assets/css/style.min.css

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions app/src/assets/css/style.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6530,13 +6530,16 @@ a.close.disabled {
display: flex;
align-items: center;
justify-content: center;
width: 12%;
//width: 8%;
margin-left: 0.5rem;
margin-right: 0.5rem;
color: #fff;
text-align: center;
opacity: 0.5;
transition: opacity 0.15s ease;
font-size: 2.4rem;
font-size: 1.5rem;
transform: translateY(-50%);
cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
Expand Down
2 changes: 1 addition & 1 deletion app/src/assets/css/styleAbout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
display: flex;
justify-content: center;
align-items: center;
background-color: var(--cyan);
background-color: #D19C97
}

.feedbackArea {
Expand Down
42 changes: 0 additions & 42 deletions app/src/assets/css/styleCartDialog.css

This file was deleted.

12 changes: 12 additions & 0 deletions app/src/assets/css/styleShop.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.quick-see-product{
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
fontSize: 1.2rem;
cursor: pointer;

&:hover{
background-color: black !important;
color: white;
}
}
Binary file added app/src/assets/img/no-results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion app/src/assets/scss/bootstrap/mixins/_box-shadow.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// We can pass `@include box-shadow(none);`
$result: $shadow;
} @else {
// Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`
// GenderFilter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`
@for $i from 1 through length($shadow) {
@if nth($shadow, $i) != "none" {
$result: append($result, nth($shadow, $i), "comma");
Expand Down
Loading