/* eslint-disable @next/next/no-img-element */ "use client"; import { useRouter } from "@/i18n/routing"; import { useSignStore } from "@/stores/useSignStore"; import { Mask } from "antd-mobile"; import { FC, forwardRef, memo, useImperativeHandle, useRef, useState } from "react"; import styles from "./style.module.scss"; export interface SignInModalProps { onClose: () => void; onOpen: () => void; } interface BoxParams { startDays?: number; type?: "page" | "modal"; } interface BoxList { handleOpening: (index: number) => void; } export const BoxListCom = forwardRef(function BoxListCom( { startDays = 1, type = "modal" }: BoxParams, ref ) { const signData = useSignStore((state) => state.signData); const handleOpening = (index: number) => { const box: any = document.getElementById(`box${index}`); box.src = "/sign/box/box-open.png"; const img = document.getElementById(`opened${index}`); img ? (img.style.visibility = "visible") : null; }; useImperativeHandle(ref, (): BoxList => { return { handleOpening, }; }); return ( <>
{signData?.list?.map((item, index) => { return (

Day{item.id}

{/*onClick={(e) => handleOpening(startDays + index)}*/}
{item.is_suss ? ( ) : null}
{item.extra_num ? (

Extra +{item.extra_num}

) : null}
{item.extra_num ? (
+{item.num}
) : null}
); })}
); }); interface PayProps { type?: "page" | "modal"; } export const PayBoxList: FC = ({ type = "modal" }) => { return ( <>
{Array.from({ length: 4 }).map((item, index) => { return ( <>
5R 50R
Day{index === 3 ? 10 + index * 5 + 5 : 10 + index * 5}
); })}
); }; const SignInModal = forwardRef(function SignInModal(props, ref) { const [visible, setVisible] = useState(false); const signData = useSignStore((state) => state.signData); const activity_id = useSignStore((state) => state.activity_id); const totalData = signData.list; const isSignNum = totalData?.reduce((pre, cur) => (cur.is_suss ? pre + 1 : pre), 0); const router = useRouter(); const boxRef = useRef(null); useImperativeHandle(ref, () => { return { onClose: () => setVisible(false), onOpen: () => setVisible(true), }; }); return ( <> setVisible(false)}>
setVisible(false)} >
{/* 主题背景图 */}
{/* 宽度自动填充适应活动背景图宽度 */}
{/* 右上角倒计时 */}
{/*

{totalData?.length}

*/} {/*

Day 20

*/}

{isSignNum}

/

{totalData?.length}

{/* 签到body */}
{ router.push( `/signin?activity_id=${activity_id}` ); }} > Sign-in
); }); export default memo(SignInModal);