{"version":3,"sources":["../ui/src/components/player-components/poll/portraitPoll/portraitPollOption.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\r\nimport { useAppSelector } from \"redux-share/hooks\";\r\nimport { handleSumVotes, livePoll } from \"helpers\";\r\nimport { IPortraitPollOptionsProps } from \"interfaces\";\r\nimport { shallowEqual } from 'react-redux'\r\n\r\nconst PortraitPollOption = ({ option, lastOptionId, sumVotes }: IPortraitPollOptionsProps) => {\r\n\r\n    const { question, selectedOptionId } = useAppSelector(({ videoData: { question, selectedOptionId } }) => ({ question, selectedOptionId }), shallowEqual);\r\n\r\n    const [voteWidth, setVoteWidth] = useState<number>(0);\r\n    const [voteCount, setVoteCount] = useState<number>(0);\r\n\r\n\r\n    const handleVoteWidth = (vote: number, id: number) => {\r\n        let notUpdateVote = [];\r\n        let sumPercent = 0;\r\n        let sumVotes = handleSumVotes(question);\r\n        if (livePoll()) notUpdateVote = livePoll().polls.filter((poll: any) => poll.qid === question.id && poll.oid === id && poll.sumOptionVotes === vote + 1);\r\n        setVoteCount(notUpdateVote.length > 0 ? vote + 1 : vote);\r\n        if (option.id === lastOptionId) {\r\n            if (vote === 0 && notUpdateVote.length === 0) return 0;\r\n            let otherUpdatedVote: any = [];\r\n            question.options.forEach((option: any) => {\r\n                if (option.id !== lastOptionId) {\r\n                    if (livePoll()) otherUpdatedVote = livePoll().polls.filter((poll: any) => poll.qid === question.id && poll.oid === option.id && poll.sumOptionVotes === option.vote + 1);\r\n                    sumPercent = sumPercent + Math.floor(sumVotes ? ((otherUpdatedVote.length > 0 ? option.vote + 1 : option.vote) * 100) / sumVotes : 0);\r\n                    otherUpdatedVote = [];\r\n                }\r\n            });\r\n            return 100 - sumPercent\r\n        } else return sumVotes ? ((notUpdateVote.length > 0 ? vote + 1 : vote) * 100) / sumVotes : 0;\r\n    }\r\n\r\n    useEffect(() => {\r\n        setVoteWidth(handleVoteWidth(option.vote, option.id));\r\n    }, [option.vote, selectedOptionId, sumVotes])\r\n\r\n\r\n    return (\r\n        <div className=\"pl-flex pl-justify-between pl-items-center pl-gap-2\" key={option.id}>\r\n            <div className=\"pl-relative pl-grow pl-w-auto pl-break-all\">\r\n                <p className=\"pl-text-[13px] pl-font-medium pl-px-3 pl-py-2 pl-rounded-[4px] pl-cursor-default\">\r\n                    <span>{option.text}</span>\r\n                    <span className=\"pl-mr-1\">({voteCount} نفر)</span>\r\n                </p>\r\n                <div className={`pl-absolute pl-top-0 pl-right-0 pl-h-full pl-w-0 pl-bg-purple-light/[0.3] pl-rounded-[8px]`} style={{ width: `${Math.floor(voteWidth)}%` }} />\r\n            </div>\r\n            <p className=\"pl-text-[13px] pl-font-medium pl-w-[30px] pl-text-left\">{`${Math.floor(voteWidth).toFixed(0)}%`}</p>\r\n        </div>\r\n\r\n    )\r\n}\r\n\r\nexport default PortraitPollOption;"],"mappings":"+JAAAA,IAAA,OAAS,aAAAC,EAAW,YAAAC,MAAgB,QAIpC,OAAS,gBAAAC,MAAoB,cAuCT,cAAAC,EACA,QAAAC,MADA,oBArCpB,IAAMC,EAAqB,CAAC,CAAE,OAAAC,EAAQ,aAAAC,EAAc,SAAAC,CAAS,IAAiC,CAE1F,GAAM,CAAE,SAAAC,EAAU,iBAAAC,CAAiB,EAAIC,EAAe,CAAC,CAAE,UAAW,CAAE,SAAAF,EAAU,iBAAAC,CAAiB,CAAE,KAAO,CAAE,SAAAD,EAAU,iBAAAC,CAAiB,GAAIR,CAAY,EAEjJ,CAACU,EAAWC,CAAY,EAAIC,EAAiB,CAAC,EAC9C,CAACC,EAAWC,CAAY,EAAIF,EAAiB,CAAC,EAG9CG,EAAkB,CAACC,EAAcC,IAAe,CAClD,IAAIC,EAAgB,CAAC,EACjBC,EAAa,EACbb,EAAWc,EAAeb,CAAQ,EAGtC,GAFIc,EAAS,IAAGH,EAAgBG,EAAS,EAAE,MAAM,OAAQC,GAAcA,EAAK,MAAQf,EAAS,IAAMe,EAAK,MAAQL,GAAMK,EAAK,iBAAmBN,EAAO,CAAC,GACtJF,EAAaI,EAAc,OAAS,EAAIF,EAAO,EAAIA,CAAI,EACnDZ,EAAO,KAAOC,EAAc,CAC5B,GAAIW,IAAS,GAAKE,EAAc,SAAW,EAAG,MAAO,GACrD,IAAIK,EAAwB,CAAC,EAC7B,OAAAhB,EAAS,QAAQ,QAASH,GAAgB,CAClCA,EAAO,KAAOC,IACVgB,EAAS,IAAGE,EAAmBF,EAAS,EAAE,MAAM,OAAQC,GAAcA,EAAK,MAAQf,EAAS,IAAMe,EAAK,MAAQlB,EAAO,IAAMkB,EAAK,iBAAmBlB,EAAO,KAAO,CAAC,GACvKe,EAAaA,EAAa,KAAK,MAAMb,GAAaiB,EAAiB,OAAS,EAAInB,EAAO,KAAO,EAAIA,EAAO,MAAQ,IAAOE,EAAW,CAAC,EACpIiB,EAAmB,CAAC,EAE5B,CAAC,EACM,IAAMJ,CACjB,KAAO,QAAOb,GAAaY,EAAc,OAAS,EAAIF,EAAO,EAAIA,GAAQ,IAAOV,EAAW,CAC/F,EAEA,OAAAkB,EAAU,IAAM,CACZb,EAAaI,EAAgBX,EAAO,KAAMA,EAAO,EAAE,CAAC,CACxD,EAAG,CAACA,EAAO,KAAMI,EAAkBF,CAAQ,CAAC,EAIxCJ,EAAC,OAAI,UAAU,sDACX,UAAAA,EAAC,OAAI,UAAU,6CACX,UAAAA,EAAC,KAAE,UAAU,mFACT,UAAAD,EAAC,QAAM,SAAAG,EAAO,KAAK,EACnBF,EAAC,QAAK,UAAU,UAAU,cAAEW,EAAU,wBAAK,GAC/C,EACAZ,EAAC,OAAI,UAAW,6FAA8F,MAAO,CAAE,MAAO,GAAG,KAAK,MAAMS,CAAS,CAAC,GAAI,EAAG,GACjK,EACAT,EAAC,KAAE,UAAU,yDAA0D,YAAG,KAAK,MAAMS,CAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,IARxCN,EAAO,EASjF,CAGR,EAEOqB,EAAQtB","names":["init_esm_shims","useEffect","useState","shallowEqual","jsx","jsxs","PortraitPollOption","option","lastOptionId","sumVotes","question","selectedOptionId","useAppSelector","voteWidth","setVoteWidth","useState","voteCount","setVoteCount","handleVoteWidth","vote","id","notUpdateVote","sumPercent","handleSumVotes","livePoll","poll","otherUpdatedVote","useEffect","portraitPollOption_default"]}