this repo has no description
at master 1.4 kB view raw
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;