2024-12-29 18:02:23 +00:00
|
|
|
import {
|
|
|
|
|
LotteryWinnerData,
|
|
|
|
|
LotteryWinnerDataSimplified,
|
|
|
|
|
} from "@/typings/lottery/lottery.types";
|
|
|
|
|
import LotteryWinner from "./LotteryWinner";
|
|
|
|
|
import { motion, AnimatePresence } from "framer-motion";
|
|
|
|
|
import { v4 } from "uuid";
|
2024-11-25 14:33:01 +00:00
|
|
|
|
2024-12-29 18:02:23 +00:00
|
|
|
const LotteryWinnersList = ({
|
|
|
|
|
winners,
|
|
|
|
|
}: {
|
|
|
|
|
winners: LotteryWinnerDataSimplified[];
|
|
|
|
|
}) => {
|
2024-11-25 14:33:01 +00:00
|
|
|
return (
|
2024-12-25 13:46:20 +00:00
|
|
|
<div className="flex flex-col gap-4 w-full max-w-[1028px]">
|
2024-12-29 18:02:23 +00:00
|
|
|
<div className="flex flex-col gap-2 w-full pb-4 border-b border-[#CECCFF]">
|
|
|
|
|
<h4 className="md:font-heading-3-regular text-[28px]">Results</h4>
|
|
|
|
|
<p className="md:font-base-medium text-[16px]">
|
|
|
|
|
The results after each stage will be shown here.
|
|
|
|
|
</p>
|
2024-12-25 13:46:20 +00:00
|
|
|
</div>
|
2024-12-27 15:23:39 +00:00
|
|
|
<motion.div
|
|
|
|
|
layout
|
2024-12-29 18:02:23 +00:00
|
|
|
className="grid md:grid-cols-3 sm:grid-cols-2 grid-cols-1 gap-x-2 gap-y-4 w-full h-[244px] overflow-y-auto lottery-scrollbar"
|
|
|
|
|
>
|
2024-12-27 15:23:39 +00:00
|
|
|
<AnimatePresence mode="popLayout">
|
|
|
|
|
{winners.map((item, index) => (
|
|
|
|
|
<LotteryWinner
|
|
|
|
|
key={v4()}
|
|
|
|
|
phone={item.client}
|
|
|
|
|
ticket={item.ticket}
|
2024-12-27 16:20:13 +00:00
|
|
|
winnerNumber={item.winner_no}
|
2024-12-27 15:23:39 +00:00
|
|
|
isNew={index === winners.length - 1}
|
|
|
|
|
/>
|
|
|
|
|
))}
|
|
|
|
|
</AnimatePresence>
|
|
|
|
|
</motion.div>
|
2024-11-25 14:33:01 +00:00
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default LotteryWinnersList;
|