this repo has no description
1"use client";
2
3import { useState } from "react";
4
5const Home = () => {
6 const [expandedDay, setExpandedDay] = useState(0);
7 const [days, setDays] = useState(
8 Array.from({ length: 12 }).map((_, index) => index + 1)
9 );
10
11 return (
12 <div
13 className={`bg-[#0F0F23] gap-2 grid grid-cols-12 ${
14 expandedDay ? "grid-rows-4" : "grid-rows-3"
15 } h-screen p-2 w-screen`}
16 >
17 {days.map((day, index) => (
18 <div
19 className={`border-2 border-[#0B4517] ${
20 expandedDay === day
21 ? "col-span-6"
22 : expandedDay !== 0 && index >= 9
23 ? "col-span-4"
24 : "col-span-3"
25 } flex items-center justify-center rounded-2xl ${
26 expandedDay === day ? "row-span-2" : "row-span-1"
27 }`}
28 key={day}
29 onClick={() => {
30 setExpandedDay((ed) => {
31 if (ed === day) {
32 setDays((ds) => {
33 const sortedDays = [...ds];
34
35 sortedDays.sort((a, b) => a - b);
36
37 return sortedDays;
38 });
39
40 return 0;
41 } else {
42 const daysWithoutDay = days.filter(
43 (d) => d !== day
44 );
45 const reorganizedDays = [
46 ...daysWithoutDay.slice(0, 5),
47 day,
48 ...daysWithoutDay.slice(5)
49 ];
50
51 setDays(reorganizedDays);
52
53 return day;
54 }
55 });
56 }}
57 >
58 <p className="text-center text-4xl text-[#0B4517]">{day}</p>
59 </div>
60 ))}
61 </div>
62 );
63};
64
65export default Home;