@lmnto/h-mall-shared 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.css +457 -0
- package/bitbucket-pipelines.yml +223 -0
- package/package.json +43 -0
- package/public/gif/balloon.gif +0 -0
- package/public/gif/gift.gif +0 -0
- package/public/img/ai-dialog.png +0 -0
- package/public/img/ai-x1-banner.png +0 -0
- package/public/img/ai-x1.png +0 -0
- package/public/img/alert-Icon.png +0 -0
- package/public/img/aleta-payment-kyc-require.png +0 -0
- package/public/img/aleta-payment-pending.png +0 -0
- package/public/img/aleta-payment-rejected.png +0 -0
- package/public/img/aleta-payment-subscription-required.png +0 -0
- package/public/img/boost-banner-bg.png +0 -0
- package/public/img/boost-banner-right.png +0 -0
- package/public/img/boost-banner.png +0 -0
- package/public/img/boost-dialog-bg.png +0 -0
- package/public/img/boostPower.png +0 -0
- package/public/img/boostTooltip.png +0 -0
- package/public/img/brand-icon.svg +23 -0
- package/public/img/brand-text.svg +11 -0
- package/public/img/card-icon.png +0 -0
- package/public/img/cashback-Icon.png +0 -0
- package/public/img/crown.svg +9 -0
- package/public/img/empty-box.png +0 -0
- package/public/img/gen3-dialog.png +0 -0
- package/public/img/gen3-home-banner-bg.png +0 -0
- package/public/img/gen3-image.png +0 -0
- package/public/img/gift.png +0 -0
- package/public/img/img-placeholder-illustration.svg +6 -0
- package/public/img/logo.svg +31 -0
- package/public/img/offerBanner.png +0 -0
- package/public/img/pagenotfound.png +0 -0
- package/public/img/partial-pay-payment-successful.png +0 -0
- package/public/img/phoneShippingBG.png +0 -0
- package/public/img/placeholder-image.jpg +0 -0
- package/public/img/powerIcon.png +0 -0
- package/public/img/product-01.png +0 -0
- package/public/img/product-02.jpg +0 -0
- package/public/img/product-03.jpg +0 -0
- package/public/img/product-04.jpg +0 -0
- package/public/img/product-05.png +0 -0
- package/public/img/product-06.png +0 -0
- package/public/img/profile-avatar.svg +12 -0
- package/public/img/promotion-icon.png +0 -0
- package/public/img/session-expired.png +0 -0
- package/public/img/shipping-alert-icon.png +0 -0
- package/public/img/shippingIcon.png +0 -0
- package/public/img/smart-pay-banner-how.png +0 -0
- package/public/img/smart-pay-banner-own.png +0 -0
- package/public/img/smart-pay-chose.png +0 -0
- package/public/img/smart-pay-easy.png +0 -0
- package/public/img/smart-pay-payment.png +0 -0
- package/public/img/smart-plan-fire.gif +0 -0
- package/public/img/smart-plan-sparkle.gif +0 -0
- package/public/img/special.png +0 -0
- package/public/img/specialOfferBg.png +0 -0
- package/public/img/stop-shipping-banner.png +0 -0
- package/public/img/subscriptionBanner.png +0 -0
- package/public/img/subscriptionIcon.png +0 -0
- package/public/img/successIcon.png +0 -0
- package/public/img/wallet-icon.png +0 -0
- package/public/img/world-wide-shipping.png +0 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/shared/components/AddressFormComponent.tsx +215 -0
- package/shared/components/AddressShippingFormComponent.tsx +223 -0
- package/shared/components/AiPaymentDialog.tsx +95 -0
- package/shared/components/AppLoadingComponent.tsx +15 -0
- package/shared/components/AppLoadingComponentV2.tsx +18 -0
- package/shared/components/Button.tsx +48 -0
- package/shared/components/BuySubscriptionDialog.tsx +75 -0
- package/shared/components/CartDrawerComponent.tsx +324 -0
- package/shared/components/CashbackComponent.tsx +48 -0
- package/shared/components/CashbackMigrationComponent.tsx +41 -0
- package/shared/components/CommissionNonEligibleComponent.tsx +27 -0
- package/shared/components/CustomNextImage.tsx +50 -0
- package/shared/components/CustomNextLink.tsx +46 -0
- package/shared/components/EditAddressFormComponent.tsx +254 -0
- package/shared/components/EmptyCartMessageComponent.tsx +25 -0
- package/shared/components/EmptyCartMessageForCartPage.tsx +61 -0
- package/shared/components/EmptyLegacyOrderMessageForOrdersPage.tsx +52 -0
- package/shared/components/EmptyOrderMessageForOrdersPage.tsx +62 -0
- package/shared/components/EmptyOrderMessageForShippingOrdersPage.tsx +62 -0
- package/shared/components/Footer.tsx +71 -0
- package/shared/components/GreetingDialog.tsx +96 -0
- package/shared/components/Header.tsx +106 -0
- package/shared/components/HoldShippingDialog.tsx +165 -0
- package/shared/components/HomeBanners.tsx +298 -0
- package/shared/components/InactiveCartDialog.tsx +69 -0
- package/shared/components/InputCartQuantity.tsx +342 -0
- package/shared/components/Inputfield.tsx +110 -0
- package/shared/components/ListItemComponent.tsx +82 -0
- package/shared/components/LoadingIconComponent.tsx +284 -0
- package/shared/components/OrderNotFoundComponent.tsx +56 -0
- package/shared/components/PageHeader.tsx +42 -0
- package/shared/components/PhoneNumberCountries.tsx +133 -0
- package/shared/components/PhoneShippingDialog.tsx +77 -0
- package/shared/components/PickupDialog.tsx +92 -0
- package/shared/components/ProductNotFoundComponent.tsx +56 -0
- package/shared/components/ProductPriceComponent.tsx +32 -0
- package/shared/components/ProfileMenu.tsx +120 -0
- package/shared/components/RequestCreditNoteInvoiceDialog.tsx +214 -0
- package/shared/components/RequestInvoiceDialog.tsx +194 -0
- package/shared/components/SelectCities.tsx +133 -0
- package/shared/components/SelectComponent.tsx +334 -0
- package/shared/components/SelectCountries.tsx +179 -0
- package/shared/components/SelectPickUpStore.tsx +131 -0
- package/shared/components/SelectStates.tsx +144 -0
- package/shared/components/ServerTime.tsx +68 -0
- package/shared/components/SessionDialogComponent.tsx +60 -0
- package/shared/components/ShippingAddressFormDialogComponent.tsx +51 -0
- package/shared/components/Sidebar.tsx +281 -0
- package/shared/components/SpecialOfferDialog.tsx +193 -0
- package/shared/components/StatusComponents.tsx +25 -0
- package/shared/components/StepperComponent.tsx +79 -0
- package/shared/components/StepperSmartPayComponent.tsx +97 -0
- package/shared/components/SubscriptionPurchaseDialogComponent.tsx +81 -0
- package/shared/components/TableComponent.tsx +144 -0
- package/shared/components/TablePaginationComponent.tsx +151 -0
- package/shared/components/aleta/AletaManagerComponent.tsx +52 -0
- package/shared/components/aleta/KycPendingStatus.tsx +33 -0
- package/shared/components/aleta/KycRejectedStatus.tsx +53 -0
- package/shared/components/aleta/KycRequiredStatus.tsx +53 -0
- package/shared/components/aleta/SubscriptionRequiredStatus.tsx +45 -0
- package/shared/components/icons/AletaWalletIcon.tsx +21 -0
- package/shared/components/icons/BrandIcon.tsx +97 -0
- package/shared/components/icons/BrandText.tsx +47 -0
- package/shared/components/icons/CartIcon.tsx +21 -0
- package/shared/components/icons/DoneIcon.tsx +27 -0
- package/shared/components/icons/HomnifiIcon.tsx +23 -0
- package/shared/components/icons/InfoIcon.tsx +16 -0
- package/shared/components/icons/SmartPayProductIcon.tsx +31 -0
- package/shared/components/payments/DisclaimerAlertDialog.tsx +205 -0
- package/shared/components/payments/EmptyAssets.tsx +23 -0
- package/shared/components/payments/PaybyWalletItemComponent.tsx +116 -0
- package/shared/components/payments/PaymentAssetItemComponent.tsx +101 -0
- package/shared/components/payments/RequestProcessingDialog.tsx +123 -0
- package/shared/components/payments/WalletSectionManager.tsx +82 -0
- package/shared/components/payments/WalletSliderComponent.tsx +326 -0
- package/shared/components/payments/WalletTermsAndConditionComponent.tsx +88 -0
- package/shared/constants/address-shipping.schema.ts +56 -0
- package/shared/constants/address.schema.ts +56 -0
- package/shared/constants/app.ts +323 -0
- package/shared/constants/environment.ts +23 -0
- package/shared/constants/feature-flags.ts +15 -0
- package/shared/constants/query-keys.ts +106 -0
- package/shared/constants/routes.ts +41 -0
- package/shared/constants/socket.ts +15 -0
- package/shared/contexts/HomeProductsContext.tsx +51 -0
- package/shared/contexts/MainWrapperContext.tsx +289 -0
- package/shared/contexts/WebSocketContext.tsx +155 -0
- package/shared/hooks/useAddressForm.ts +169 -0
- package/shared/hooks/useAddresses.ts +28 -0
- package/shared/hooks/useAppForm.ts +39 -0
- package/shared/hooks/useCart.ts +207 -0
- package/shared/hooks/useCopy.ts +45 -0
- package/shared/hooks/useCountries.ts +27 -0
- package/shared/hooks/useCustomRouter.ts +51 -0
- package/shared/hooks/useDebounce.ts +21 -0
- package/shared/hooks/useInvoice.ts +41 -0
- package/shared/hooks/useOnlineUser.ts +38 -0
- package/shared/hooks/usePayments.ts +101 -0
- package/shared/hooks/useShippingAddressForm.ts +70 -0
- package/shared/hooks/useShippingAddresses.ts +33 -0
- package/shared/hooks/useStores.ts +29 -0
- package/shared/hooks/useUserActivity.ts +43 -0
- package/shared/i18n/client.ts +27 -0
- package/shared/i18n/locales/en.ts +383 -0
- package/shared/i18n/locales/it.ts +373 -0
- package/shared/i18n/server.ts +7 -0
- package/shared/services/addresses.service.ts +27 -0
- package/shared/services/api/core/ApiError.ts +29 -0
- package/shared/services/api/core/ApiRequestOptions.ts +25 -0
- package/shared/services/api/core/ApiResult.ts +11 -0
- package/shared/services/api/core/CancelablePromise.ts +130 -0
- package/shared/services/api/core/OpenAPI.ts +37 -0
- package/shared/services/api/core/request.ts +376 -0
- package/shared/services/api/index.ts +64 -0
- package/shared/services/api/models/AddAllProductToShippingCartDto.ts +7 -0
- package/shared/services/api/models/AddProductToCartDto.ts +8 -0
- package/shared/services/api/models/AddProductToShippingCartDto.ts +8 -0
- package/shared/services/api/models/AdminPlaceOrderDto.ts +16 -0
- package/shared/services/api/models/AssignPickupSerialNumberDto.ts +10 -0
- package/shared/services/api/models/CreateUserAddressDto.ts +19 -0
- package/shared/services/api/models/DeletCartProductsArrayDto.ts +7 -0
- package/shared/services/api/models/GenerateInvoiceDto.ts +7 -0
- package/shared/services/api/models/OrderConfirmationEmailDto.ts +8 -0
- package/shared/services/api/models/PlaceOrderDto.ts +9 -0
- package/shared/services/api/models/PlaceShipmentOrderDto.ts +8 -0
- package/shared/services/api/models/ProductBoostDto.ts +18 -0
- package/shared/services/api/models/RemoveAssignedSerialNumberDto.ts +9 -0
- package/shared/services/api/models/RemoveProductToCartDto.ts +8 -0
- package/shared/services/api/models/ShipmentItem.ts +8 -0
- package/shared/services/api/models/ShippingCartUpdateBillingAddressesDto.ts +7 -0
- package/shared/services/api/models/ShippingCartUpdateShippingMethodDto.ts +7 -0
- package/shared/services/api/models/UnfreezeWalletDto.ts +8 -0
- package/shared/services/api/models/UpdateCartBillingAddressesDto.ts +7 -0
- package/shared/services/api/models/UpdateCartPaymentMethodDto.ts +9 -0
- package/shared/services/api/models/UpdateCartShippingMethodDto.ts +7 -0
- package/shared/services/api/models/UpdateCartStoreDto.ts +7 -0
- package/shared/services/api/models/UpdateProductDto.ts +11 -0
- package/shared/services/api/models/UpdateShipmentItemStatusDto.ts +24 -0
- package/shared/services/api/models/UpdateShippingCartPaymentMethodDto.ts +9 -0
- package/shared/services/api/models/UpdateUserAddressDto.ts +19 -0
- package/shared/services/api/models/ValidateAuthCodeDto.ts +8 -0
- package/shared/services/api/models/WithdrawOrderWalletDto.ts +8 -0
- package/shared/services/api/services/AddressesService.ts +160 -0
- package/shared/services/api/services/AdminsDevicesService.ts +28 -0
- package/shared/services/api/services/AdminsOrdersService.ts +117 -0
- package/shared/services/api/services/AdminsPickupsService.ts +57 -0
- package/shared/services/api/services/AdminsProductsService.ts +86 -0
- package/shared/services/api/services/CartsService.ts +190 -0
- package/shared/services/api/services/CashBackQueueService.ts +39 -0
- package/shared/services/api/services/CategoriesService.ts +65 -0
- package/shared/services/api/services/DefaultService.ts +19 -0
- package/shared/services/api/services/FeaturesFlagsService.ts +20 -0
- package/shared/services/api/services/IossQueueService.ts +39 -0
- package/shared/services/api/services/OrderCallbackService.ts +67 -0
- package/shared/services/api/services/OrderEmailsService.ts +40 -0
- package/shared/services/api/services/OrderImportService.ts +228 -0
- package/shared/services/api/services/OrdersService.ts +183 -0
- package/shared/services/api/services/PaymentGatewayService.ts +19 -0
- package/shared/services/api/services/PaymentsService.ts +88 -0
- package/shared/services/api/services/ProductsService.ts +67 -0
- package/shared/services/api/services/ShipmentOrderCallbackService.ts +67 -0
- package/shared/services/api/services/ShipmentOrdersService.ts +88 -0
- package/shared/services/api/services/ShipmentsService.ts +30 -0
- package/shared/services/api/services/ShippingCartService.ts +247 -0
- package/shared/services/api/services/ShippingMethodsService.ts +20 -0
- package/shared/services/api/services/StoresService.ts +25 -0
- package/shared/services/api/services/SyncServiceQueueService.ts +39 -0
- package/shared/services/api/services/UpgradeOrdersService.ts +26 -0
- package/shared/services/api/services/UsersAuthService.ts +45 -0
- package/shared/services/api/services/UsersService.ts +53 -0
- package/shared/services/api/services/XeraQueueService.ts +39 -0
- package/shared/services/index.ts +0 -0
- package/shared/services/payment-method.service.ts +29 -0
- package/shared/stores/cartStore.ts +108 -0
- package/shared/stores/countriesStore.ts +62 -0
- package/shared/stores/formStore.ts +19 -0
- package/shared/stores/loadingStore.ts +12 -0
- package/shared/stores/userStore.ts +32 -0
- package/shared/types/SelectComponent.types.ts +31 -0
- package/shared/types/addressForm.ts +27 -0
- package/shared/types/cart.ts +208 -0
- package/shared/types/category.ts +6 -0
- package/shared/types/creditNote.ts +0 -0
- package/shared/types/feature-flags.ts +5 -0
- package/shared/types/icon.ts +5 -0
- package/shared/types/index.d.ts +84 -0
- package/shared/types/order.ts +332 -0
- package/shared/types/pagination.ts +5 -0
- package/shared/types/payments.ts +68 -0
- package/shared/types/product.ts +54 -0
- package/shared/types/shoppingCart.ts +219 -0
- package/shared/types/upgradeCart.ts +226 -0
- package/shared/types/user.ts +36 -0
- package/shared/utils/app.util.ts +261 -0
- package/shared/utils/notifications.util.ts +39 -0
- package/shared/utils/user-session.util.ts +171 -0
- package/tailwind.config.ts +234 -0
package/app.css
ADDED
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
@import "react-toastify/dist/ReactToastify.css";
|
|
2
|
+
@import "react-responsive-carousel/lib/styles/carousel.min.css";
|
|
3
|
+
|
|
4
|
+
@tailwind base;
|
|
5
|
+
@tailwind components;
|
|
6
|
+
@tailwind utilities;
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
--foreground-rgb: 0, 0, 0;
|
|
10
|
+
--background-start-rgb: 214, 219, 220;
|
|
11
|
+
--background-end-rgb: 255, 255, 255;
|
|
12
|
+
|
|
13
|
+
--scrollbar-track-bg: #e6f0ff;
|
|
14
|
+
--scrollbar-thumb-bg: #e6f0ff;
|
|
15
|
+
--scrollbar-thumb-hover-bg: #e6f0ff;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@media (prefers-color-scheme: dark) {
|
|
19
|
+
:root {
|
|
20
|
+
--foreground-rgb: 255, 255, 255;
|
|
21
|
+
--background-start-rgb: 0, 0, 0;
|
|
22
|
+
--background-end-rgb: 0, 0, 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
html {
|
|
27
|
+
height: 100%;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
body {
|
|
31
|
+
min-height: 100%;
|
|
32
|
+
color: #1c222e;
|
|
33
|
+
background: #fff;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.overflow-unset {
|
|
37
|
+
overflow: unset !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.font-box {
|
|
41
|
+
display: -webkit-box;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@layer utilities {
|
|
45
|
+
.text-balance {
|
|
46
|
+
text-wrap: balance;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.loginBG {
|
|
51
|
+
background: linear-gradient(135deg, #e0f2fe 0%, #dcfce7 45%, #fef9c3 100%);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.card {
|
|
55
|
+
border-radius: 12px;
|
|
56
|
+
border: 0.62px solid #e0f2fe;
|
|
57
|
+
background: rgba(255, 255, 255, 1);
|
|
58
|
+
box-shadow: 0 4px 6px 0 #dbeafe;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.productcarousel .carousel .thumbs {
|
|
62
|
+
text-align: center;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.productcarousel .carousel .thumb {
|
|
66
|
+
width: 75px !important;
|
|
67
|
+
height: 75px;
|
|
68
|
+
border: 1px solid #ddd;
|
|
69
|
+
border-radius: 8px;
|
|
70
|
+
margin-right: 6px;
|
|
71
|
+
padding: 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.carousel .thumbs-wrapper {
|
|
75
|
+
margin: 10px 30px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.productcarousel .carousel .thumb.selected,
|
|
79
|
+
.productcarousel .carousel .thumb:hover {
|
|
80
|
+
border: 1px solid #949494;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.productcarousel .carousel.carousel-slider {
|
|
84
|
+
overflow: inherit;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.productcarousel .arrow {
|
|
88
|
+
position: absolute;
|
|
89
|
+
top: auto;
|
|
90
|
+
bottom: -15%;
|
|
91
|
+
background-color: #f9f9f9;
|
|
92
|
+
border: 1px solid #cfd4db;
|
|
93
|
+
padding: 7px;
|
|
94
|
+
border-radius: 50%;
|
|
95
|
+
border: none;
|
|
96
|
+
font-size: 17px;
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
z-index: 2;
|
|
99
|
+
}
|
|
100
|
+
.productcarousel .arrow:hover {
|
|
101
|
+
background-color: #eeeeee;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.productcarousel .arrow.prev {
|
|
105
|
+
left: 5px;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.productcarousel .arrow.next {
|
|
109
|
+
right: 5px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.productcarousel .arrow svg {
|
|
113
|
+
color: #707172;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.productcarousel .thumbs-wrapper .control-arrow {
|
|
117
|
+
display: none;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.productcarousel .carousel .slide .productImg {
|
|
121
|
+
height: 450px;
|
|
122
|
+
background-color: #f6f5f7;
|
|
123
|
+
border-radius: 12px;
|
|
124
|
+
margin: 10px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.productcarousel .carousel .slide .productImg img {
|
|
128
|
+
width: 100%;
|
|
129
|
+
height: 100%;
|
|
130
|
+
object-fit: contain;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.cartAutoHeight {
|
|
134
|
+
height: calc(100svh - 170px);
|
|
135
|
+
overflow-y: auto;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.subscriptionBanner {
|
|
139
|
+
border-radius: 12px;
|
|
140
|
+
border: 0.62px solid rgba(59, 130, 246, 0.2);
|
|
141
|
+
background: linear-gradient(
|
|
142
|
+
135deg,
|
|
143
|
+
rgba(219, 234, 254, 0.4) 0%,
|
|
144
|
+
rgba(209, 250, 229, 0.4) 100%
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
.subscriptionBannerBuy {
|
|
148
|
+
border-radius: 12px;
|
|
149
|
+
border: 0.62px solid rgba(59, 130, 246, 0.2);
|
|
150
|
+
background: linear-gradient(
|
|
151
|
+
135deg,
|
|
152
|
+
rgba(219, 234, 254, 0.6) 0%,
|
|
153
|
+
rgba(244, 232, 246, 0.6) 100%
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
.boostDialogBg {
|
|
157
|
+
background-image: url("./public/img/boost-dialog-bg.png");
|
|
158
|
+
background-position: bottom right;
|
|
159
|
+
background-repeat: no-repeat;
|
|
160
|
+
background-size: cover;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.boostBanner {
|
|
164
|
+
background-image:
|
|
165
|
+
url("./public/img/boost-banner-right.png"),
|
|
166
|
+
url("./public/img/boost-banner-bg.png");
|
|
167
|
+
background-position:
|
|
168
|
+
right bottom,
|
|
169
|
+
left top;
|
|
170
|
+
background-repeat: no-repeat, no-repeat;
|
|
171
|
+
background-size: contain, cover;
|
|
172
|
+
}
|
|
173
|
+
.smartPayBanner {
|
|
174
|
+
background-image: url("./public/img/smart-pay-banner-own.png");
|
|
175
|
+
background-position: left center;
|
|
176
|
+
background-repeat: no-repeat;
|
|
177
|
+
background-size: cover;
|
|
178
|
+
}
|
|
179
|
+
.aiX1Banner {
|
|
180
|
+
background-image: url("./public/img/ai-x1.png");
|
|
181
|
+
background-position: center center;
|
|
182
|
+
background-repeat: no-repeat;
|
|
183
|
+
background-size: cover;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.gen3Banner {
|
|
187
|
+
background-image: url("./public/img/gen3-home-banner-bg.png");
|
|
188
|
+
background-position: center center;
|
|
189
|
+
background-repeat: no-repeat;
|
|
190
|
+
background-size: cover;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.smartPayBannerHow {
|
|
194
|
+
background-image: url("./public/img/smart-pay-banner-how.png");
|
|
195
|
+
background-position: center center;
|
|
196
|
+
background-repeat: no-repeat;
|
|
197
|
+
background-size: cover;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.verticalCarouselOrderSummary {
|
|
201
|
+
border-radius: 8px;
|
|
202
|
+
background: linear-gradient(262deg, #fef6ff 0%, #fffcff 100%);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@media (max-width: 768px) {
|
|
206
|
+
.boostBanner {
|
|
207
|
+
background-image: url("./public/img/boost-banner-bg.png");
|
|
208
|
+
background-position: left top;
|
|
209
|
+
background-repeat: no-repeat;
|
|
210
|
+
background-size: cover;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.breadcrumbsComponent .w-max {
|
|
215
|
+
width: fit-content;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.skeleton-gradient {
|
|
219
|
+
background: linear-gradient(
|
|
220
|
+
90deg,
|
|
221
|
+
#ffffff 0%,
|
|
222
|
+
#ededed 50%,
|
|
223
|
+
#e7e7e7 70%,
|
|
224
|
+
#ffffff 100%
|
|
225
|
+
);
|
|
226
|
+
background-size: 200% 100%;
|
|
227
|
+
animation: pulse 2.5s infinite linear;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.tooltip-text {
|
|
231
|
+
z-index: 50;
|
|
232
|
+
opacity: 1;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.sidebar {
|
|
236
|
+
width: 215px;
|
|
237
|
+
min-width: 215px;
|
|
238
|
+
border-right-width: 1px;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.brandIcon svg {
|
|
242
|
+
width: 100%;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.no-scroll {
|
|
246
|
+
overflow: hidden;
|
|
247
|
+
padding-right: 7px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.sidebar-body {
|
|
251
|
+
height: calc(100svh - 70px);
|
|
252
|
+
overflow-y: auto;
|
|
253
|
+
white-space: nowrap;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.cashback-bg {
|
|
257
|
+
padding: 16px;
|
|
258
|
+
background:
|
|
259
|
+
linear-gradient(
|
|
260
|
+
0deg,
|
|
261
|
+
rgba(255, 255, 255, 0.2) 0%,
|
|
262
|
+
rgba(255, 255, 255, 0.2) 100%
|
|
263
|
+
),
|
|
264
|
+
linear-gradient(180deg, #fff6e9 0%, #ffeef6 100%);
|
|
265
|
+
border-radius: 12px;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.phoneShippingBG {
|
|
269
|
+
background-image: url("./public/img/phoneShippingBG.png");
|
|
270
|
+
background-position: center center;
|
|
271
|
+
background-repeat: no-repeat;
|
|
272
|
+
background-size: cover;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.specialOfferBG {
|
|
276
|
+
background-image: url("./public/img/specialOfferBg.png");
|
|
277
|
+
background-position: center center;
|
|
278
|
+
background-repeat: no-repeat;
|
|
279
|
+
background-size: cover;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
@keyframes pulse {
|
|
283
|
+
0% {
|
|
284
|
+
background-position: 200% 0;
|
|
285
|
+
}
|
|
286
|
+
100% {
|
|
287
|
+
background-position: -200% 0;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
@media (min-width: 1024px) and (max-width: 1200px) {
|
|
292
|
+
.sidebar {
|
|
293
|
+
width: 190px;
|
|
294
|
+
min-width: 190px;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@media (max-width: 767px) {
|
|
299
|
+
.container {
|
|
300
|
+
max-width: 100%;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.cartAutoHeight {
|
|
304
|
+
height: calc(100svh - 155px);
|
|
305
|
+
}
|
|
306
|
+
.mobileNumberField .errorText {
|
|
307
|
+
position: absolute;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
@media (max-width: 1023px) {
|
|
312
|
+
.mobileSidebar {
|
|
313
|
+
position: absolute;
|
|
314
|
+
left: 0;
|
|
315
|
+
top: 0;
|
|
316
|
+
right: 0;
|
|
317
|
+
bottom: 0;
|
|
318
|
+
z-index: 50;
|
|
319
|
+
width: 100%;
|
|
320
|
+
transform: translateX(-100%);
|
|
321
|
+
transition: transform 0.3s ease-in-out;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.mobileSidebar.open {
|
|
325
|
+
transform: translateX(0);
|
|
326
|
+
transition: transform 0.3s ease-in-out;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.no-scroll {
|
|
330
|
+
padding-right: 0px;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
@media (max-height: 350px) {
|
|
335
|
+
.loginBG {
|
|
336
|
+
height: 100%;
|
|
337
|
+
overflow-y: auto;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.loginBG .card {
|
|
341
|
+
margin: 30px 10px;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.product-key-features ul {
|
|
346
|
+
list-style: inside;
|
|
347
|
+
padding-left: 1px;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
*::-webkit-scrollbar {
|
|
351
|
+
width: 7px;
|
|
352
|
+
height: 3px;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
*::-webkit-scrollbar-track {
|
|
356
|
+
background: var(--scrollbar-track-bg);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
*::-webkit-scrollbar-thumb {
|
|
360
|
+
background: var(--scrollbar-thumb-bg);
|
|
361
|
+
border-radius: 10px;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
*::-webkit-scrollbar-thumb:hover {
|
|
365
|
+
background: var(--scrollbar-thumb-hover-bg);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/* Internet Explorer */
|
|
369
|
+
*::-ms-scrollbar {
|
|
370
|
+
width: 10px;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
*::-ms-scrollbar-track {
|
|
374
|
+
background: var(--scrollbar-track-bg);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
*::-ms-scrollbar-thumb {
|
|
378
|
+
background: var(--scrollbar-thumb-bg);
|
|
379
|
+
border-radius: 10px;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
*::-ms-scrollbar-thumb:hover {
|
|
383
|
+
background: var(--scrollbar-thumb-hover-bg);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/* Add this to your global.css or tailwind.css */
|
|
387
|
+
[data-dialog-backdrop="true"] {
|
|
388
|
+
z-index: 90 !important;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
[data-dialog="true"] {
|
|
392
|
+
z-index: 91 !important;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
[data-floating-ui-portal] {
|
|
396
|
+
z-index: 99999999 !important;
|
|
397
|
+
position: relative !important;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
@keyframes slideDown {
|
|
401
|
+
0% {
|
|
402
|
+
transform: translateY(-100%);
|
|
403
|
+
opacity: 1;
|
|
404
|
+
}
|
|
405
|
+
100% {
|
|
406
|
+
transform: translateY(0);
|
|
407
|
+
opacity: 0;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
.animate-slideDown {
|
|
411
|
+
animation: slideDown 0.5s ease-out;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.primary-button {
|
|
415
|
+
background: linear-gradient(135deg, #3b82f6 0%, #10b981 100%);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.custom-underline {
|
|
419
|
+
position: relative;
|
|
420
|
+
display: inline-block;
|
|
421
|
+
padding-bottom: 8px;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.custom-underline::after {
|
|
425
|
+
content: "";
|
|
426
|
+
position: absolute;
|
|
427
|
+
left: 0;
|
|
428
|
+
bottom: 0;
|
|
429
|
+
width: 80px;
|
|
430
|
+
height: 4px;
|
|
431
|
+
background: linear-gradient(to right, #06b6d4, #0891b2);
|
|
432
|
+
border-radius: 2px;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.custom-left-line {
|
|
436
|
+
position: relative;
|
|
437
|
+
padding-left: 16px;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.custom-left-line::before {
|
|
441
|
+
content: "";
|
|
442
|
+
position: absolute;
|
|
443
|
+
left: 0;
|
|
444
|
+
top: 0;
|
|
445
|
+
width: 4px;
|
|
446
|
+
height: 100%;
|
|
447
|
+
background: linear-gradient(to bottom, #06b6d4, #0891b2);
|
|
448
|
+
border-radius: 2px;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
.step-completed {
|
|
452
|
+
background: linear-gradient(135deg, #3b82f6 0%, #10b981 100%);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.header-underline {
|
|
456
|
+
background: linear-gradient(135deg, #3b82f6 0%, #10b981 100%);
|
|
457
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
steps:
|
|
2
|
+
- step: &build
|
|
3
|
+
name: "CI (Build & Validate)"
|
|
4
|
+
image: node:18-alpine3.18
|
|
5
|
+
script:
|
|
6
|
+
- npm cache clean --force
|
|
7
|
+
- rm -rf node_modules
|
|
8
|
+
- MONGOMS_DISABLE_POSTINSTALL=true npm install --force --loglevel verbose
|
|
9
|
+
- echo "✓ Dependencies validated successfully"
|
|
10
|
+
|
|
11
|
+
- step: ©_shared_library
|
|
12
|
+
name: "Copy Shared Library to CI Server"
|
|
13
|
+
runs-on:
|
|
14
|
+
- self.hosted
|
|
15
|
+
- linux.shell
|
|
16
|
+
- common.ci
|
|
17
|
+
script:
|
|
18
|
+
- |
|
|
19
|
+
# Copy to common CI server for h-mall-web builds
|
|
20
|
+
# This location is used by h-mall-web Dockerfile during build (COPY h-mall-shared)
|
|
21
|
+
SHARED_LIB_PATH_CI="${HOME}/with-zone/h-mall-shared"
|
|
22
|
+
|
|
23
|
+
# Ensure directory exists
|
|
24
|
+
mkdir -p ${SHARED_LIB_PATH_CI}
|
|
25
|
+
|
|
26
|
+
# Deploy shared library to CI server
|
|
27
|
+
set +e
|
|
28
|
+
rm -rf ${SHARED_LIB_PATH_CI}
|
|
29
|
+
set -e
|
|
30
|
+
mkdir -p ${SHARED_LIB_PATH_CI}
|
|
31
|
+
cp -r ./ ${SHARED_LIB_PATH_CI}/
|
|
32
|
+
rm -rf ${SHARED_LIB_PATH_CI}/node_modules ${SHARED_LIB_PATH_CI}/.git
|
|
33
|
+
rm -f ${SHARED_LIB_PATH_CI}/.env*
|
|
34
|
+
|
|
35
|
+
echo "✓ Shared library copied to CI server: ${SHARED_LIB_PATH_CI}"
|
|
36
|
+
echo " This path is used by h-mall-web Dockerfile during build"
|
|
37
|
+
|
|
38
|
+
- step: &preview_deploy
|
|
39
|
+
name: "CD (Deploy Shared Library to Preview)"
|
|
40
|
+
runs-on:
|
|
41
|
+
- self.hosted
|
|
42
|
+
- linux.shell
|
|
43
|
+
- preview.runner
|
|
44
|
+
script:
|
|
45
|
+
- |
|
|
46
|
+
# Standard deployment location - user-writable directory
|
|
47
|
+
# Note: This path must match docker-compose.yml volume mount in h-mall-web
|
|
48
|
+
SHARED_LIB_PATH="${HOME}/with-zone/h-mall-shared"
|
|
49
|
+
|
|
50
|
+
# Ensure directory exists (user home directory is always writable)
|
|
51
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
52
|
+
|
|
53
|
+
# Deploy shared library
|
|
54
|
+
set +e
|
|
55
|
+
rm -rf ${SHARED_LIB_PATH}
|
|
56
|
+
set -e
|
|
57
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
58
|
+
cp -r ./ ${SHARED_LIB_PATH}/
|
|
59
|
+
rm -rf ${SHARED_LIB_PATH}/node_modules ${SHARED_LIB_PATH}/.git
|
|
60
|
+
rm -f ${SHARED_LIB_PATH}/.env*
|
|
61
|
+
|
|
62
|
+
echo "✓ Shared library deployed to: ${SHARED_LIB_PATH}"
|
|
63
|
+
echo " This path is mounted in h-mall-web docker-compose.yml"
|
|
64
|
+
|
|
65
|
+
- step: &dev_deploy
|
|
66
|
+
name: "CD (Deploy Shared Library to Dev)"
|
|
67
|
+
runs-on:
|
|
68
|
+
- self.hosted
|
|
69
|
+
- linux.shell
|
|
70
|
+
- dev.runner
|
|
71
|
+
script:
|
|
72
|
+
- |
|
|
73
|
+
# Standard deployment location - user-writable directory
|
|
74
|
+
# Note: This path must match docker-compose.yml volume mount in h-mall-web
|
|
75
|
+
SHARED_LIB_PATH="${HOME}/with-zone/h-mall-shared"
|
|
76
|
+
|
|
77
|
+
# Ensure directory exists (user home directory is always writable)
|
|
78
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
79
|
+
|
|
80
|
+
# Deploy shared library
|
|
81
|
+
set +e
|
|
82
|
+
rm -rf ${SHARED_LIB_PATH}
|
|
83
|
+
set -e
|
|
84
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
85
|
+
cp -r ./ ${SHARED_LIB_PATH}/
|
|
86
|
+
rm -rf ${SHARED_LIB_PATH}/node_modules ${SHARED_LIB_PATH}/.git
|
|
87
|
+
rm -f ${SHARED_LIB_PATH}/.env*
|
|
88
|
+
|
|
89
|
+
echo "✓ Shared library deployed to: ${SHARED_LIB_PATH}"
|
|
90
|
+
echo " This path is mounted in h-mall-web docker-compose.yml"
|
|
91
|
+
|
|
92
|
+
- step: &uat_deploy
|
|
93
|
+
name: "CD (Deploy Shared Library to UAT)"
|
|
94
|
+
runs-on:
|
|
95
|
+
- self.hosted
|
|
96
|
+
- linux.shell
|
|
97
|
+
- uat.runner
|
|
98
|
+
script:
|
|
99
|
+
- |
|
|
100
|
+
# Standard deployment location - user-writable directory
|
|
101
|
+
# Note: This path must match docker-compose.yml volume mount in h-mall-web
|
|
102
|
+
SHARED_LIB_PATH="${HOME}/with-zone/h-mall-shared"
|
|
103
|
+
|
|
104
|
+
# Ensure directory exists (user home directory is always writable)
|
|
105
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
106
|
+
|
|
107
|
+
# Deploy shared library
|
|
108
|
+
set +e
|
|
109
|
+
rm -rf ${SHARED_LIB_PATH}
|
|
110
|
+
set -e
|
|
111
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
112
|
+
cp -r ./ ${SHARED_LIB_PATH}/
|
|
113
|
+
rm -rf ${SHARED_LIB_PATH}/node_modules ${SHARED_LIB_PATH}/.git
|
|
114
|
+
rm -f ${SHARED_LIB_PATH}/.env*
|
|
115
|
+
|
|
116
|
+
echo "✓ Shared library deployed to: ${SHARED_LIB_PATH}"
|
|
117
|
+
echo " This path is mounted in h-mall-web docker-compose.yml"
|
|
118
|
+
|
|
119
|
+
- step: &prod_deploy
|
|
120
|
+
name: "CD (Deploy Shared Library to Prod)"
|
|
121
|
+
runs-on:
|
|
122
|
+
- self.hosted
|
|
123
|
+
- linux.shell
|
|
124
|
+
- prod.runner
|
|
125
|
+
script:
|
|
126
|
+
- |
|
|
127
|
+
# Standard deployment location - user-writable directory
|
|
128
|
+
# Note: This path must match docker-compose.yml volume mount in h-mall-web
|
|
129
|
+
SHARED_LIB_PATH="${HOME}/with-zone/h-mall-shared"
|
|
130
|
+
|
|
131
|
+
# Ensure directory exists (user home directory is always writable)
|
|
132
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
133
|
+
|
|
134
|
+
# Deploy shared library
|
|
135
|
+
set +e
|
|
136
|
+
rm -rf ${SHARED_LIB_PATH}
|
|
137
|
+
set -e
|
|
138
|
+
mkdir -p ${SHARED_LIB_PATH}
|
|
139
|
+
cp -r ./ ${SHARED_LIB_PATH}/
|
|
140
|
+
rm -rf ${SHARED_LIB_PATH}/node_modules ${SHARED_LIB_PATH}/.git
|
|
141
|
+
rm -f ${SHARED_LIB_PATH}/.env*
|
|
142
|
+
|
|
143
|
+
echo "✓ Shared library deployed to: ${SHARED_LIB_PATH}"
|
|
144
|
+
echo " This path is mounted in h-mall-web docker-compose.yml"
|
|
145
|
+
|
|
146
|
+
definitions:
|
|
147
|
+
services:
|
|
148
|
+
docker:
|
|
149
|
+
memory: 3072
|
|
150
|
+
|
|
151
|
+
pipelines:
|
|
152
|
+
default:
|
|
153
|
+
- step: *build
|
|
154
|
+
- step: *copy_shared_library
|
|
155
|
+
|
|
156
|
+
branches:
|
|
157
|
+
feature/*:
|
|
158
|
+
- stage:
|
|
159
|
+
name: CI
|
|
160
|
+
steps:
|
|
161
|
+
- step: *build
|
|
162
|
+
- step: *copy_shared_library
|
|
163
|
+
- stage:
|
|
164
|
+
name: CD
|
|
165
|
+
trigger: manual
|
|
166
|
+
steps:
|
|
167
|
+
- step: *preview_deploy
|
|
168
|
+
|
|
169
|
+
pull-requests:
|
|
170
|
+
- stage:
|
|
171
|
+
name: CI
|
|
172
|
+
steps:
|
|
173
|
+
- step: *build
|
|
174
|
+
- step: *copy_shared_library
|
|
175
|
+
- stage:
|
|
176
|
+
name: CD
|
|
177
|
+
condition:
|
|
178
|
+
or:
|
|
179
|
+
- equals:
|
|
180
|
+
- ${BITBUCKET_PR_DESTINATION_BRANCH}
|
|
181
|
+
- dev
|
|
182
|
+
- equals:
|
|
183
|
+
- ${BITBUCKET_PR_DESTINATION_BRANCH}
|
|
184
|
+
- develop
|
|
185
|
+
|
|
186
|
+
steps:
|
|
187
|
+
- step: *preview_deploy
|
|
188
|
+
|
|
189
|
+
develop:
|
|
190
|
+
- stage:
|
|
191
|
+
name: CI
|
|
192
|
+
steps:
|
|
193
|
+
- step: *build
|
|
194
|
+
- step: *copy_shared_library
|
|
195
|
+
- stage:
|
|
196
|
+
name: CD
|
|
197
|
+
trigger: manual
|
|
198
|
+
steps:
|
|
199
|
+
- step: *dev_deploy
|
|
200
|
+
|
|
201
|
+
release/*:
|
|
202
|
+
- stage:
|
|
203
|
+
name: CI
|
|
204
|
+
steps:
|
|
205
|
+
- step: *build
|
|
206
|
+
- step: *copy_shared_library
|
|
207
|
+
- stage:
|
|
208
|
+
name: CD
|
|
209
|
+
trigger: manual
|
|
210
|
+
steps:
|
|
211
|
+
- step: *uat_deploy
|
|
212
|
+
|
|
213
|
+
main:
|
|
214
|
+
- stage:
|
|
215
|
+
name: CI
|
|
216
|
+
steps:
|
|
217
|
+
- step: *build
|
|
218
|
+
- step: *copy_shared_library
|
|
219
|
+
- stage:
|
|
220
|
+
name: CD
|
|
221
|
+
trigger: manual
|
|
222
|
+
steps:
|
|
223
|
+
- step: *prod_deploy
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lmnto/h-mall-shared",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"private": false,
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"scripts": {
|
|
7
|
+
"lint": "next lint",
|
|
8
|
+
"static:fix": "eslint . --fix && prettier --log-level silent --write --ignore-unknown ."
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@heroicons/react": "^2.1.5",
|
|
12
|
+
"@hookform/resolvers": "^3.9.0",
|
|
13
|
+
"@material-tailwind/react": "^2.1.10",
|
|
14
|
+
"@tanstack/react-query": "^5.56.2",
|
|
15
|
+
"axios": "^1.7.7",
|
|
16
|
+
"clear": "^0.1.0",
|
|
17
|
+
"openapi-typescript": "^7.4.0",
|
|
18
|
+
"openapi-typescript-codegen": "^0.29.0",
|
|
19
|
+
"react": "^19.2.1",
|
|
20
|
+
"react-dom": "^19.2.1",
|
|
21
|
+
"react-hook-form": "^7.53.0",
|
|
22
|
+
"react-icons": "^5.3.0",
|
|
23
|
+
"react-responsive-carousel": "^3.2.23",
|
|
24
|
+
"react-toastify": "^11.0.5",
|
|
25
|
+
"socket.io-client": "^4.8.0",
|
|
26
|
+
"yup": "^1.4.0",
|
|
27
|
+
"zustand": "^5.0.0-rc.2",
|
|
28
|
+
"next-international": "^1.3.1"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@eslint/eslintrc": "^3",
|
|
32
|
+
"@types/node": "20.16.4",
|
|
33
|
+
"@types/react": "^19.1.8",
|
|
34
|
+
"@types/react-dom": "^19.1.6",
|
|
35
|
+
"eslint": "^9.15.0",
|
|
36
|
+
"eslint-config-next": "16.0.7",
|
|
37
|
+
"next": "^16.0.7",
|
|
38
|
+
"postcss": "^8",
|
|
39
|
+
"prettier": "^3.3.3",
|
|
40
|
+
"tailwindcss": "^3.4.11",
|
|
41
|
+
"typescript": "5.5.4"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|