stay_commerce-frontend 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/app/assets/builds/bundle.css +8665 -6069
- data/app/assets/builds/bundle.css.map +3 -3
- data/app/assets/builds/bundle.js +37877 -27557
- data/app/assets/builds/bundle.js.map +4 -4
- data/app/assets/builds/styles.css +6328 -5031
- data/app/assets/builds/styles.css.map +3 -3
- data/app/javascript/react/components/Accountpage/AccountInfo.jsx +2 -1
- data/app/javascript/react/components/AddNewProperty/CommonLayout.jsx +0 -2
- data/app/javascript/react/components/AddNewProperty/Description.jsx +51 -52
- data/app/javascript/react/components/AddNewProperty/Details.jsx +212 -129
- data/app/javascript/react/components/AddNewProperty/Images.jsx +122 -45
- data/app/javascript/react/components/AddNewProperty/Location.jsx +21 -14
- data/app/javascript/react/components/AddNewProperty/Room.jsx +639 -548
- data/app/javascript/react/components/AvatarDropdown/AvatarDropDown.jsx +9 -1
- data/app/javascript/react/components/FacilitiesSection/Facilities.jsx +18 -0
- data/app/javascript/react/components/FixedNavbar/FixedNav.jsx +20 -14
- data/app/javascript/react/components/HeroSectionDesign/BookingForm.jsx +136 -88
- data/app/javascript/react/components/HeroSectionDesign/MyPropertiesListing.jsx +79 -69
- data/app/javascript/react/components/Layout/Layout.js +8 -1
- data/app/javascript/react/components/Listing-stay-Detail/ApartmentCard.jsx +3 -3
- data/app/javascript/react/components/Listing-stay-Detail/BookingModal.jsx +167 -122
- data/app/javascript/react/components/Listing-stay-Detail/CardManager.jsx +285 -0
- data/app/javascript/react/components/Listing-stay-Detail/CheckoutForm.jsx +147 -84
- data/app/javascript/react/components/Listing-stay-Detail/ListingStayDetailPage.jsx +1 -7
- data/app/javascript/react/components/Listing-stay-Detail/PropertiesPage.jsx +464 -0
- data/app/javascript/react/components/MobileNav/MobileMenu.jsx +1 -4
- data/app/javascript/react/components/PropertyListing/MyProperties.jsx +45 -44
- data/app/javascript/react/components/PropertyListing/StayBooking/BookingDetails.jsx +4 -4
- data/app/javascript/react/components/PropertyListing/StayBooking/MyBooking.jsx +41 -29
- data/app/javascript/react/components/StayCard/StayCard.jsx +5 -3
- data/app/javascript/react/packs/index.jsx +1 -0
- data/app/javascript/react/packs/routes/Route.jsx +18 -1
- data/app/javascript/react/pages/Home.jsx +6 -4
- data/app/javascript/react/redux/slices/PropertySlice/PropertySlice.jsx +21 -21
- data/app/javascript/react/redux/slices/PropertySlice/Searchslice.jsx +53 -6
- data/app/javascript/react/redux/slices/UserSlice/UserSlice.jsx +1 -0
- data/app/javascript/react/shared/Avatar/Avatar.jsx +5 -8
- data/app/javascript/react/shared/Button/SecondryButton.jsx +9 -0
- data/app/javascript/react/shared/Loader.jsx +13 -0
- data/app/javascript/react/shared/Pagination.jsx +53 -0
- data/app/javascript/react/shared/Schema/FormSchema +143 -0
- data/app/javascript/react/styles/BookingDetails.scss +1 -0
- data/app/javascript/react/styles/CardManager.scss +608 -0
- data/app/javascript/react/styles/Loader.scss +30 -0
- data/app/javascript/react/styles/Pagination.scss +33 -0
- data/app/javascript/react/styles/PropertiesPage.scss +0 -4
- data/app/javascript/react/styles/RenderSection.scss +1 -0
- data/app/javascript/react/styles/accountpage.scss +3 -0
- data/app/javascript/react/styles/application.scss +13 -1
- data/app/javascript/react/styles/bookingform.scss +56 -28
- data/app/javascript/react/styles/buttonSecondry.scss +24 -0
- data/app/javascript/react/styles/checkbox.scss +34 -35
- data/app/javascript/react/styles/commonlayout.scss +7 -2
- data/app/javascript/react/styles/commonpage.scss +5 -1
- data/app/javascript/react/styles/description.scss +3 -0
- data/app/javascript/react/styles/facilities.scss +2 -1
- data/app/javascript/react/styles/fixednavbar.scss +8 -0
- data/app/javascript/react/styles/listingstaydetailpage.scss +5 -0
- data/app/javascript/react/styles/mobilemenu.scss +0 -1
- data/app/javascript/react/styles/mybooking.scss +20 -0
- data/app/javascript/react/styles/myproperty.scss +26 -0
- data/app/javascript/react/styles/propertydetailscard.scss +265 -267
- data/app/javascript/react/styles/react-datepicker/react-datepicker.css +869 -0
- data/app/javascript/react/styles/room.scss +13 -8
- data/app/javascript/react/utils/helpers/ToastErros.js +12 -0
- data/db/migrate/20250627101451_add_role_to_stay_users.rb +5 -0
- data/lib/stay_commerce/frontend/version.rb +1 -1
- metadata +15 -5
- data/app/javascript/react/components/HeroSectionDesign/PropertiesPage.jsx +0 -122
- data/app/javascript/react/shared/DateField/CustomDatePicker.jsx +0 -69
- data/app/javascript/react/styles/customdatepicker.scss +0 -120
@@ -18,17 +18,15 @@
|
|
18
18
|
margin-bottom: 2rem;
|
19
19
|
|
20
20
|
&.room-section-bordered {
|
21
|
-
margin-top: 3rem;
|
22
21
|
padding-top: 2rem;
|
23
22
|
border-top: 1px solid #e5e7eb;
|
24
23
|
}
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
margin-bottom: 1.5rem;
|
24
|
+
.room-title {
|
25
|
+
font-size: 1.25rem;
|
26
|
+
font-weight: 700;
|
27
|
+
color: #111827;
|
28
|
+
margin-bottom: 1.5rem;
|
29
|
+
}
|
32
30
|
}
|
33
31
|
|
34
32
|
.form-item {
|
@@ -116,6 +114,7 @@
|
|
116
114
|
|
117
115
|
.image-upload-content {
|
118
116
|
margin-top: 1.25rem;
|
117
|
+
position: relative;
|
119
118
|
}
|
120
119
|
|
121
120
|
.upload-container {
|
@@ -125,6 +124,7 @@
|
|
125
124
|
padding: 1.5rem 1.5rem 1.5rem;
|
126
125
|
border: 2px dashed #d1d5db;
|
127
126
|
border-radius: 0.375rem;
|
127
|
+
margin-bottom: 40px;
|
128
128
|
}
|
129
129
|
|
130
130
|
.upload-content {
|
@@ -135,6 +135,11 @@
|
|
135
135
|
text-align: center;
|
136
136
|
}
|
137
137
|
|
138
|
+
.error-message {
|
139
|
+
position: absolute;
|
140
|
+
bottom: 0;
|
141
|
+
}
|
142
|
+
|
138
143
|
.upload-icon {
|
139
144
|
width: 3rem;
|
140
145
|
height: 3rem;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { toast } from "react-toastify";
|
2
|
+
|
3
|
+
export const showToastError = (message) => {
|
4
|
+
toast.error(message, {
|
5
|
+
position: "top-right",
|
6
|
+
autoClose: 2000,
|
7
|
+
hideProgressBar: false,
|
8
|
+
closeOnClick: true,
|
9
|
+
pauseOnHover: true,
|
10
|
+
draggable: true,
|
11
|
+
});
|
12
|
+
};
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stay_commerce-frontend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- w3villa-tarun
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -194,15 +194,16 @@ files:
|
|
194
194
|
- app/javascript/react/components/HeroSectionDesign/BookingForm.jsx
|
195
195
|
- app/javascript/react/components/HeroSectionDesign/HeroSection.jsx
|
196
196
|
- app/javascript/react/components/HeroSectionDesign/MyPropertiesListing.jsx
|
197
|
-
- app/javascript/react/components/HeroSectionDesign/PropertiesPage.jsx
|
198
197
|
- app/javascript/react/components/HotelListing/Listing.jsx
|
199
198
|
- app/javascript/react/components/Layout/Layout.js
|
200
199
|
- app/javascript/react/components/Listing-stay-Detail/AmenitiesFeatures.jsx
|
201
200
|
- app/javascript/react/components/Listing-stay-Detail/AmenitiesModal.jsx
|
202
201
|
- app/javascript/react/components/Listing-stay-Detail/ApartmentCard.jsx
|
203
202
|
- app/javascript/react/components/Listing-stay-Detail/BookingModal.jsx
|
203
|
+
- app/javascript/react/components/Listing-stay-Detail/CardManager.jsx
|
204
204
|
- app/javascript/react/components/Listing-stay-Detail/CheckoutForm.jsx
|
205
205
|
- app/javascript/react/components/Listing-stay-Detail/ListingStayDetailPage.jsx
|
206
|
+
- app/javascript/react/components/Listing-stay-Detail/PropertiesPage.jsx
|
206
207
|
- app/javascript/react/components/Listing-stay-Detail/PropertyDescription.jsx
|
207
208
|
- app/javascript/react/components/Listing-stay-Detail/PropertyDetailsCard.jsx
|
208
209
|
- app/javascript/react/components/Listing-stay-Detail/Reviews.jsx
|
@@ -242,23 +243,29 @@ files:
|
|
242
243
|
- app/javascript/react/shared/Button/Button.jsx
|
243
244
|
- app/javascript/react/shared/Button/ButtonPrimary.jsx
|
244
245
|
- app/javascript/react/shared/Button/ButtonSelect.jsx
|
246
|
+
- app/javascript/react/shared/Button/SecondryButton.jsx
|
245
247
|
- app/javascript/react/shared/Checkbox/Checkbox.jsx
|
246
248
|
- app/javascript/react/shared/CurrencySymbol.jsx
|
247
|
-
- app/javascript/react/shared/DateField/CustomDatePicker.jsx
|
248
249
|
- app/javascript/react/shared/FooterSection/Footer.jsx
|
249
250
|
- app/javascript/react/shared/FormField/FormField.jsx
|
250
251
|
- app/javascript/react/shared/FormItem/FormItem.jsx
|
251
252
|
- app/javascript/react/shared/Input/Input.jsx
|
252
253
|
- app/javascript/react/shared/Label/Label.jsx
|
254
|
+
- app/javascript/react/shared/Loader.jsx
|
253
255
|
- app/javascript/react/shared/Modal.jsx
|
254
256
|
- app/javascript/react/shared/NcImage/NcImage.jsx
|
255
257
|
- app/javascript/react/shared/NcImage/PlaceIcon.jsx
|
256
258
|
- app/javascript/react/shared/NcImage/placecImageIcon.svg
|
259
|
+
- app/javascript/react/shared/Pagination.jsx
|
260
|
+
- app/javascript/react/shared/Schema/FormSchema
|
257
261
|
- app/javascript/react/shared/Select/Select.jsx
|
258
262
|
- app/javascript/react/styles/404error.scss
|
259
263
|
- app/javascript/react/styles/ApartmentCard.scss
|
260
264
|
- app/javascript/react/styles/BookingDetails.scss
|
265
|
+
- app/javascript/react/styles/CardManager.scss
|
266
|
+
- app/javascript/react/styles/Loader.scss
|
261
267
|
- app/javascript/react/styles/Modal.scss
|
268
|
+
- app/javascript/react/styles/Pagination.scss
|
262
269
|
- app/javascript/react/styles/PropertiesPage.scss
|
263
270
|
- app/javascript/react/styles/RenderSection.scss
|
264
271
|
- app/javascript/react/styles/about.scss
|
@@ -272,12 +279,12 @@ files:
|
|
272
279
|
- app/javascript/react/styles/blog.scss
|
273
280
|
- app/javascript/react/styles/bookingform.scss
|
274
281
|
- app/javascript/react/styles/button.scss
|
282
|
+
- app/javascript/react/styles/buttonSecondry.scss
|
275
283
|
- app/javascript/react/styles/buttonprimary.scss
|
276
284
|
- app/javascript/react/styles/checkbox.scss
|
277
285
|
- app/javascript/react/styles/commonlayout.scss
|
278
286
|
- app/javascript/react/styles/commonpage.scss
|
279
287
|
- app/javascript/react/styles/contact.scss
|
280
|
-
- app/javascript/react/styles/customdatepicker.scss
|
281
288
|
- app/javascript/react/styles/description.scss
|
282
289
|
- app/javascript/react/styles/details.scss
|
283
290
|
- app/javascript/react/styles/facilities.scss
|
@@ -308,6 +315,7 @@ files:
|
|
308
315
|
- app/javascript/react/styles/property-description.scss
|
309
316
|
- app/javascript/react/styles/propertycard.scss
|
310
317
|
- app/javascript/react/styles/propertydetailscard.scss
|
318
|
+
- app/javascript/react/styles/react-datepicker/react-datepicker.css
|
311
319
|
- app/javascript/react/styles/resetpassword.scss
|
312
320
|
- app/javascript/react/styles/reviews.scss
|
313
321
|
- app/javascript/react/styles/room.scss
|
@@ -328,6 +336,7 @@ files:
|
|
328
336
|
- app/javascript/react/utils/helpers/ErrorHandler.js
|
329
337
|
- app/javascript/react/utils/helpers/InfoHandler.js
|
330
338
|
- app/javascript/react/utils/helpers/SuccessHandler.js
|
339
|
+
- app/javascript/react/utils/helpers/ToastErros.js
|
331
340
|
- app/javascript/react/utils/helpers/isInViewPortIntersectionObserver.jsx
|
332
341
|
- app/jobs/stay_commerce/frontend/application_job.rb
|
333
342
|
- app/mailers/stay_commerce/frontend/application_mailer.rb
|
@@ -337,6 +346,7 @@ files:
|
|
337
346
|
- config/initializers/cors.rb
|
338
347
|
- config/initializers/devise.rb
|
339
348
|
- config/routes.rb
|
349
|
+
- db/migrate/20250627101451_add_role_to_stay_users.rb
|
340
350
|
- lib/stay_commerce/frontend.rb
|
341
351
|
- lib/stay_commerce/frontend/engine.rb
|
342
352
|
- lib/stay_commerce/frontend/version.rb
|
@@ -1,122 +0,0 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import GallerySlider from "../GallerySlider/GallerySlider";
|
3
|
-
import { useNavigate } from "react-router-dom";
|
4
|
-
import ButtonPrimary from "../../shared/Button/ButtonPrimary";
|
5
|
-
|
6
|
-
const PropertiesPage = ({
|
7
|
-
heading = "Explore Travel Experiences",
|
8
|
-
setAllData,
|
9
|
-
stayListings,
|
10
|
-
data,
|
11
|
-
}) => {
|
12
|
-
const staticProperties = [
|
13
|
-
{
|
14
|
-
id: 1,
|
15
|
-
name: "Phi Phi Islands Adventure Day Trip with Seaview Lunch by V. Marine Tour",
|
16
|
-
location: "Paris, France",
|
17
|
-
duration: "2 Days 1 Nights",
|
18
|
-
rating: 4.8,
|
19
|
-
reviews: 268,
|
20
|
-
price: 114,
|
21
|
-
discount: "20% OFF",
|
22
|
-
image:
|
23
|
-
"https://images.unsplash.com/photo-1544551763-46a013bb70d5?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80",
|
24
|
-
description:
|
25
|
-
"The Phi Phi archipelago is a must-visit while in Phuket, and this speedboat trip...",
|
26
|
-
bestPriceGuarantee: true,
|
27
|
-
freeCancellation: true,
|
28
|
-
},
|
29
|
-
];
|
30
|
-
const propertiesToRender =
|
31
|
-
Array.isArray(data) && data.length > 0
|
32
|
-
? data
|
33
|
-
: Array.isArray(stayListings) && stayListings.length > 0
|
34
|
-
? stayListings
|
35
|
-
: [];
|
36
|
-
const allPropertyIds = stayListings?.map((property) => property.id);
|
37
|
-
const navigate = useNavigate();
|
38
|
-
|
39
|
-
const handleClick = (id) => {
|
40
|
-
navigate(`/listing-stay-detail/${id}`);
|
41
|
-
};
|
42
|
-
|
43
|
-
const finalProperties = propertiesToRender.length
|
44
|
-
? propertiesToRender
|
45
|
-
: staticProperties;
|
46
|
-
|
47
|
-
return (
|
48
|
-
<div className="properties-page">
|
49
|
-
<div className="container">
|
50
|
-
<h2>{heading}</h2>
|
51
|
-
<div className="property-grid grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
|
52
|
-
{finalProperties.map((property, index) => (
|
53
|
-
<div key={property.id || index} className="property-card">
|
54
|
-
<div className="card-image-section">
|
55
|
-
{(property.discount || property.property_state) && (
|
56
|
-
<div className="discount-badge">
|
57
|
-
{property.discount || property.property_state}
|
58
|
-
</div>
|
59
|
-
)}
|
60
|
-
|
61
|
-
<GallerySlider
|
62
|
-
images={property.place_images || []}
|
63
|
-
alt={property.title}
|
64
|
-
/>
|
65
|
-
</div>
|
66
|
-
|
67
|
-
<div className="card-content">
|
68
|
-
<div className="location-duration">
|
69
|
-
<span className="location">
|
70
|
-
{property.location || property.address}
|
71
|
-
</span>
|
72
|
-
</div>
|
73
|
-
<h3 className="property-title">
|
74
|
-
{property.name || property.title}
|
75
|
-
</h3>
|
76
|
-
|
77
|
-
<p className="description">{property.description}</p>
|
78
|
-
|
79
|
-
<div className="card-footer">
|
80
|
-
<div className="features">
|
81
|
-
{(property.bestPriceGuarantee ||
|
82
|
-
property.property_category) && (
|
83
|
-
<span className="feature-tag">
|
84
|
-
{property.bestPriceGuarantee
|
85
|
-
? "Best Price Guarantee"
|
86
|
-
: property.property_category}
|
87
|
-
</span>
|
88
|
-
)}
|
89
|
-
{(property.freeCancellation || property.property_type) && (
|
90
|
-
<span className="feature-tag">
|
91
|
-
{property.freeCancellation
|
92
|
-
? "Free Cancellation"
|
93
|
-
: property.property_type}
|
94
|
-
</span>
|
95
|
-
)}
|
96
|
-
</div>
|
97
|
-
</div>
|
98
|
-
</div>
|
99
|
-
|
100
|
-
<div className="custom-border"></div>
|
101
|
-
|
102
|
-
<div className="price-section">
|
103
|
-
<span className="duration">{property.duration}</span>
|
104
|
-
<div className="price-info">
|
105
|
-
<span className="price">From - ${property.price}</span>
|
106
|
-
<button
|
107
|
-
className="view-details-btn"
|
108
|
-
onClick={() => handleClick(property.slug)}
|
109
|
-
>
|
110
|
-
View Details
|
111
|
-
</button>
|
112
|
-
</div>
|
113
|
-
</div>
|
114
|
-
</div>
|
115
|
-
))}
|
116
|
-
</div>
|
117
|
-
</div>
|
118
|
-
</div>
|
119
|
-
);
|
120
|
-
};
|
121
|
-
|
122
|
-
export default PropertiesPage;
|
@@ -1,69 +0,0 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import "../../styles/customdatepicker.scss";
|
3
|
-
import { DatePickerInput } from "@mantine/dates";
|
4
|
-
|
5
|
-
const CustomDatePicker = ({
|
6
|
-
label,
|
7
|
-
placeholder,
|
8
|
-
value,
|
9
|
-
onChange,
|
10
|
-
minDate,
|
11
|
-
maxDate,
|
12
|
-
excludeDate,
|
13
|
-
}) => {
|
14
|
-
return (
|
15
|
-
<DatePickerInput
|
16
|
-
label={label}
|
17
|
-
placeholder={placeholder}
|
18
|
-
value={value}
|
19
|
-
onChange={onChange}
|
20
|
-
minDate={minDate}
|
21
|
-
maxDate={maxDate}
|
22
|
-
hideOutsideDates
|
23
|
-
radius="xl"
|
24
|
-
clearable
|
25
|
-
valueFormat="MMM DD, YYYY"
|
26
|
-
excludeDate={excludeDate}
|
27
|
-
style={{ zIndex: 1000 }}
|
28
|
-
renderDay={(date) => {
|
29
|
-
const today = new Date();
|
30
|
-
const isBeforeMinDate = minDate && date < minDate;
|
31
|
-
const isAfterMaxDate = maxDate && date > maxDate;
|
32
|
-
const isExcluded = excludeDate && excludeDate(date);
|
33
|
-
|
34
|
-
const isDisabled =
|
35
|
-
(isBeforeMinDate || isAfterMaxDate || isExcluded) &&
|
36
|
-
!(date.toDateString() === today.toDateString() && !isExcluded);
|
37
|
-
|
38
|
-
return (
|
39
|
-
<div
|
40
|
-
style={{
|
41
|
-
position: "relative",
|
42
|
-
textAlign: "center",
|
43
|
-
fontSize: "14px",
|
44
|
-
}}
|
45
|
-
>
|
46
|
-
{date.getDate()}
|
47
|
-
{isDisabled && (
|
48
|
-
<span
|
49
|
-
style={{
|
50
|
-
position: "absolute",
|
51
|
-
top: "50%",
|
52
|
-
left: "50%",
|
53
|
-
transform: "translate(-50%, -50%)",
|
54
|
-
fontSize: "8px",
|
55
|
-
color: "red",
|
56
|
-
pointerEvents: "none",
|
57
|
-
}}
|
58
|
-
>
|
59
|
-
❌
|
60
|
-
</span>
|
61
|
-
)}
|
62
|
-
</div>
|
63
|
-
);
|
64
|
-
}}
|
65
|
-
/>
|
66
|
-
);
|
67
|
-
};
|
68
|
-
|
69
|
-
export default CustomDatePicker;
|
@@ -1,120 +0,0 @@
|
|
1
|
-
.react-datepicker__day--disabled {
|
2
|
-
position: relative;
|
3
|
-
color: white !important;
|
4
|
-
background-color: #ccc6c6 !important;
|
5
|
-
cursor: not-allowed;
|
6
|
-
opacity: 1;
|
7
|
-
width:100%;
|
8
|
-
height:100%;
|
9
|
-
// font-weight: 800;
|
10
|
-
// background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%20fill%3D%22none%22%20stroke%3D%22red%22%20stroke-width%3D%225%22%3E%3Cline%20x1%3D%2210%22%20y1%3D%2210%22%20x2%3D%2240%22%20y2%3D%2240%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2240%22%20x2%3D%2240%22%20y2%3D%2210%22%2F%3E%3C%2Fsvg%3E');
|
11
|
-
background-size: cover;
|
12
|
-
border-radius: 25px;
|
13
|
-
// font-size: 20px;
|
14
|
-
}
|
15
|
-
|
16
|
-
.react-datepicker__day--disabled::after {
|
17
|
-
position: absolute;
|
18
|
-
top: 50%;
|
19
|
-
left: 50%;
|
20
|
-
transform: translate(-50%, -50%);
|
21
|
-
font-size: 12px;
|
22
|
-
color: red;
|
23
|
-
pointer-events: none;
|
24
|
-
}
|
25
|
-
|
26
|
-
.blue-date {
|
27
|
-
background-color: green !important;
|
28
|
-
color: white !important;
|
29
|
-
background-size: cover;
|
30
|
-
border-radius: 25px;
|
31
|
-
font-size: 20px;
|
32
|
-
}
|
33
|
-
|
34
|
-
/* CustomDatePicker.scss */
|
35
|
-
.start-date {
|
36
|
-
background-color: #4caf50 !important; /* Start date color (green) */
|
37
|
-
color: white !important;
|
38
|
-
}
|
39
|
-
|
40
|
-
.end-date {
|
41
|
-
background-color: #ff9800 !important; /* End date color (orange) */
|
42
|
-
color: white !important;
|
43
|
-
}
|
44
|
-
|
45
|
-
|
46
|
-
.blurred-date-picker {
|
47
|
-
background-color: rgba(0, 0, 0, 0.1); /* Light faded background */
|
48
|
-
filter: blur(2px); /* Add a blur effect */
|
49
|
-
cursor: not-allowed; /* Show the cursor as not-allowed */
|
50
|
-
}
|
51
|
-
|
52
|
-
.custom-datepicker .ant-picker-input input::placeholder {
|
53
|
-
color: var(--placeholder-color, #888);
|
54
|
-
}
|
55
|
-
|
56
|
-
body.dark-mode .custom-datepicker .ant-picker-input input::placeholder {
|
57
|
-
color: var(--placeholder-dark-color, #aaa);
|
58
|
-
}
|
59
|
-
|
60
|
-
.my-custom-datepicker .rainbow-date-picker__day--disabled {
|
61
|
-
position: relative; /* Ensure positioning for pseudo-element */
|
62
|
-
color: red; /* Change text color for visibility */
|
63
|
-
}
|
64
|
-
|
65
|
-
.my-custom-datepicker .rainbow-date-picker__day--disabled::after {
|
66
|
-
content: '❌'; /* Add a cross icon */
|
67
|
-
position: absolute;
|
68
|
-
top: 0;
|
69
|
-
left: 0;
|
70
|
-
right: 0;
|
71
|
-
bottom: 0;
|
72
|
-
display: flex;
|
73
|
-
justify-content: center;
|
74
|
-
align-items: center;
|
75
|
-
font-size: 1.2em; /* Adjust size as needed */
|
76
|
-
}
|
77
|
-
|
78
|
-
.lcvIHF:focus {
|
79
|
-
background-color: inherit !important;
|
80
|
-
outline: none;
|
81
|
-
border: 1px solid inherit !important;
|
82
|
-
}
|
83
|
-
|
84
|
-
.m_8fb7ebe7 {
|
85
|
-
background-color: inherit !important;
|
86
|
-
border: 1px solid rgb(80, 85, 95, 0.5) !important;
|
87
|
-
font-weight: 500 !important;
|
88
|
-
padding: 8px;
|
89
|
-
}
|
90
|
-
|
91
|
-
.dark .m_8fb7ebe7 {
|
92
|
-
background-color: rgba(var(--c-neutral-900), var(--tw-bg-opacity)) !important;
|
93
|
-
border: 1px solid rgba(80, 85, 95, 0.5) !important;
|
94
|
-
}
|
95
|
-
|
96
|
-
.m_88bacfd0 {
|
97
|
-
font-weight: 500;
|
98
|
-
padding-left:8px;
|
99
|
-
font-size:14px;
|
100
|
-
color:#52525B;
|
101
|
-
|
102
|
-
}
|
103
|
-
.dark .m_88bacfd0 {
|
104
|
-
color:inherit !important;
|
105
|
-
|
106
|
-
}
|
107
|
-
.m_8fdc1311{
|
108
|
-
margin-top:18px;
|
109
|
-
}
|
110
|
-
|
111
|
-
.m_6fa5e2aa{
|
112
|
-
font-weight: 500;
|
113
|
-
color:#52525B;
|
114
|
-
padding-left:8px;
|
115
|
-
|
116
|
-
}
|
117
|
-
|
118
|
-
.dark .m_6fa5e2aa{
|
119
|
-
color:inherit !important;
|
120
|
-
}
|