Skip to content

Commit d4c6382

Browse files
committed
refine styles
1 parent 8a57a4a commit d4c6382

File tree

2 files changed

+45
-13
lines changed

2 files changed

+45
-13
lines changed

src/components/bookingCalendar.jsx

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -240,11 +240,15 @@ const BookingCalendar = (props) => {
240240
</div>
241241
<div className="flex flex-row gap-4">
242242
<div className="min-[820px]:flex hidden flex-row gap-2">
243-
<span className="text-[#004E84] ml-1"></span>
243+
<div className="bg-[#8fd144] border border-1 border-gray-600 self-center w-[15px] h-[15px]" ></div>
244+
<p>Available</p>
245+
</div>
246+
<div className="min-[820px]:flex hidden flex-row gap-2">
247+
<div className="bg-[#FFF3CD] border border-1 border-gray-600 self-center w-[15px] h-[15px]" ></div>
244248
<p>Partially Reserved</p>
245249
</div>
246250
<div className="min-[820px]:flex hidden flex-row gap-2">
247-
<div className="bg-[#004E84] border border-1 border-gray-600 self-center w-[15px] h-[15px]" ></div>
251+
<div className="bg-[#006edc] border border-1 border-gray-600 self-center w-[15px] h-[15px]" ></div>
248252
<p>Selected Day</p>
249253
</div>
250254
<div className="min-[820px]:flex hidden flex-row gap-2">
@@ -260,19 +264,33 @@ const BookingCalendar = (props) => {
260264
</div>
261265
</div>
262266
<div className="flex flex-col md:flex-row gap-6">
263-
{/* Calendar */}
264267
<Calendar
265268
className="min-[820px]:block hidden border p-4 shadow bg-white w-[40%] max-w-[400px]"
266269
value={selectedDate}
267270
onClickDay={(value) => setSelectedDate(value)}
268-
tileContent={({ date }) =>
269-
bookingsByDate[format(date, "yyyy-MM-dd")] ? (
270-
<span className="text-[#004E84] ml-1"></span>
271-
) : null
272-
}
271+
tileClassName={({ date }) => {
272+
const dateKey = format(date, "yyyy-MM-dd");
273+
const todayKey = format(new Date(), "yyyy-MM-dd");
274+
const selectedKey = format(selectedDate, "yyyy-MM-dd");
275+
const today = new Date();
276+
today.setHours(0, 0, 0, 0);
277+
const d = new Date(date);
278+
d.setHours(0, 0, 0, 0);
279+
if (d.getTime() === today.getTime()) return 'today';
280+
if (dateKey === todayKey || dateKey === selectedKey) return null;
281+
return bookingsByDate[dateKey] ? 'partially-reserved' : d > today ? 'available' : null;
282+
}}
283+
tileDisabled={({ date, view }) => {
284+
if (view === "month") {
285+
const today = new Date();
286+
today.setHours(0, 0, 0, 0);
287+
const d = new Date(date);
288+
d.setHours(0, 0, 0, 0);
289+
return d < today;
290+
}
291+
return false;
292+
}}
273293
/>
274-
275-
{/* Daily booking list or grid */}
276294
{selectedDate && (
277295
<div className="p-2 border flex-grow sm:p-4 min-[820px]:max-h-[314px] max-h-fit overflow-auto shadow bg-white">
278296
<h3 className="text-on-white mb-2 font-bold">

src/stylesheets/Calendar.css

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
.react-calendar button {
3434
margin: 0;
35-
border: 0;
35+
border: 1px solid white;
3636
outline: none;
3737
}
3838

@@ -60,6 +60,12 @@
6060
background-color: #e6e6e6;
6161
}
6262

63+
64+
.react-calendar__navigation__next2-button, .react-calendar__navigation__prev2-button {
65+
display: none !important;
66+
}
67+
68+
6369
.react-calendar__month-view__weekdays {
6470
text-align: center;
6571
text-transform: uppercase;
@@ -109,10 +115,18 @@ abbr:where([title]) {
109115
}
110116

111117
.react-calendar__tile:disabled {
112-
background-color: #f0f0f0;
118+
background-color: #f0f0f0 !important;
113119
color: #ababab;
114120
}
115121

122+
.partially-reserved {
123+
background-color: #FFF3CD;
124+
}
125+
126+
.available {
127+
background-color: #8fd144;
128+
}
129+
116130
.react-calendar__month-view__days__day--neighboringMonth:disabled,
117131
.react-calendar__decade-view__years__year--neighboringDecade:disabled,
118132
.react-calendar__century-view__decades__decade--neighboringCentury:disabled {
@@ -149,7 +163,7 @@ abbr:where([title]) {
149163

150164
.react-calendar__tile--active:enabled:hover,
151165
.react-calendar__tile--active:enabled:focus {
152-
background: #1087ff;
166+
background: #006edc;
153167
}
154168

155169
.react-calendar--selectRange .react-calendar__tile--hover {

0 commit comments

Comments
 (0)