import React, { useEffect, useState } from "react"; import "./Activities.scss"; import back from "./back.svg"; import clock from "./clock.svg"; import detail from "./detail.png"; import { post } from "../../js/helpers/data-helper"; const Activities = ({ initActivity, setInitActivity, onGo, mall: { activities, pois }, facilities, memberID, }) => { const [activity, setActivity] = useState(null); const [receiving, setReceiving] = useState(false); const poiMap = pois.reduce((acc, nxt) => ({ ...acc, [nxt.code]: nxt }), {}); const getFacByAct = (activity) => { if (!activity) return null; const poiCode = activity.poiList.find((code) => poiMap[code]); const poi = poiCode ? poiMap[poiCode] : null; if (!poi) return null; const actFacs = facilities ? facilities["活动"] : []; if (!actFacs) return null; const actFac = actFacs.find(({ title }) => title === poi.name); return actFac; }; const reject = () => { window.weui.toast("该活动即将上线,敬请期待!", { className: "toast", }); }; const receive = async (activity) => { setReceiving(true); try { const { code, msg } = await post("/api/ar/v1/applet/CouponReceive", { activityCode: activity.code, memberID, }); window.weui.toast(msg, { className: "toast", }); if (code !== 200) { activity.isAllReceived = true; } } catch (error) { console.warn(error); } finally { setReceiving(false); } }; useEffect(() => { if (initActivity) { setActivity(initActivity); setInitActivity(null); } }, [initActivity]); return (