'use client'; import cx from 'classnames'; import { ReactNode, createContext, useState } from 'react'; const FlipCardContext = createContext<{ fullDate: string; onClick?: () => void; }>({ fullDate: '', onClick: () => {}, }); export function FlipCard({ isFlippable, isFlipped, day, fullDate, onFlip, onClick, children, }: { isFlippable?: boolean; isFlipped?: boolean; onFlip?: (day: number, isFlipped: boolean) => void; day: number; fullDate?: string; onClick?: () => void; children: ReactNode; }) { return ( { if (isFlippable && !isFlipped) { onFlip && onFlip(day, true); event.preventDefault(); } else { onClick && onClick(); } }} className={cx( 'perspective group block', isFlippable && !isFlipped ? 'cursor-pointer' : 'cursor-default' )} >
{fullDate} {children}
); } export function FlipCardFront({ children }: { children: ReactNode }) { return (
{children}
); } export function FlipCardBack({ children }: { children: ReactNode }) { return ( {() => (
{children}
)}
); }