'use client'; import { Tooltip, TooltipContent, TooltipPortal, } from "@/components/ui/tooltip"; import { ButtonWithTooltip } from "@/components/ui/button"; import { Star } from "lucide-react"; import { useUpdateDay } from "@lifetracker/shared-react/hooks/days"; import { format } from 'date-fns'; import { useRouter } from "next/navigation"; export function MoodStars({ day, maximum = 10, }) { const router = useRouter(); const { mutate: updateDay, isPending } = useUpdateDay({ onSuccess: () => { toast({ description: "Rating updated!", }); router.refresh(); }, }); const setStars = (newStars: number) => { if (day.mood == newStars) { // Nothing to do here return; } updateDay( { dateQuery: format(day.date, "yyyy-MM-dd"), mood: newStars, }, { onError: (e) => { toast({ description: e.message, variant: "destructive", }); }, }, ); }; return (
{Array.from({ length: maximum }).map((_, i) => ( setStars(i + 1)} > {i < day.mood ? : } ))}
Hi
) }