{"version":3,"sources":["../ui/src/components/player-components/playerCard/playerCard.tsx"],"sourcesContent":["import Image from \"next/image\";\r\nimport { useAppSelector } from \"redux-share/hooks\";\r\nimport { conditions, getRemainingTime, isTouchScreen, efficientSecondsToPersianHMS, unitization } from \"helpers\";\r\nimport { ConditionName, IPlayerCardProps } from \"interfaces\";\r\nimport IMAGES from \"../../../../../images/importImages\";\r\nimport { shallowEqual } from 'react-redux'\r\nimport { handleClickVideoCard } from \"redux-share/actions\";\r\nimport dynamic from \"next/dynamic\";\r\n\r\nconst LiveIcon = dynamic(() => import(\"../liveStatus/onlineViewer/liveIcon\"));\r\nconst Tags = dynamic(() => import(\"../tags/tags\"));\r\nconst PlayerCore = dynamic(() => import(\"../../player-core/playerCore\"));\r\n\r\nconst PlayerCard = ({src, type, width, height, title, titleClassName, tags, date, dateClassName, viewers, viewersClassName, isVideo = false, isComplexDesktop = false, isMultiLive = false, isTagCard = false, duration, onClick, id, userId, commentsCount, star, imdb_rate, status_text, content_type}: IPlayerCardProps) => {\r\n\r\n    const { params, details } = useAppSelector(({ videoData: { params, details, isComplexDesktop, isComplexPortrait } }) => ({ params, details, isComplexDesktop, isComplexPortrait }), shallowEqual);\r\n    useAppSelector(({ controller: { isFullScreen } }) => ({ isFullScreen }), shallowEqual);\r\n\r\n    const handleDoubleClick = (event: any) => {\r\n        if (id === +params.id!) {\r\n            event.stopPropagation();\r\n            event.preventDefault();\r\n            return undefined\r\n        }\r\n    }\r\n\r\n    return (\r\n        <div\r\n            className={`pl-w-full pl-flex pl-overflow-hidden ${id === +params.id! ? \"pl-cursor-default\" : \"pl-cursor-pointer\"} ${(isComplexDesktop || conditions(ConditionName.isComplexPortrait) || conditions(ConditionName.isTouchScreenLandscape) || conditions(ConditionName.isFullScreen) || (!conditions(ConditionName.isFullScreen) && !conditions(ConditionName.isParamsPortrait))) && !isTagCard && !isMultiLive ? \"pl-flex-row pl-gap-2 pl-items-start pl-h-full\" : \"pl-flex-col pl-h-full pl-w-full\"}`}\r\n            onDoubleClick={handleDoubleClick}\r\n            onClick={(event) => {\r\n                onClick(event);\r\n                if (id !== +params.id! && type !== \"playlist\") {\r\n                    if (conditions(ConditionName.isFullScreen)) window.location.href = window.location.href.replace(`id=${params.id}`, `id=${id}`).replace(`type=${params.type}`,`type=${type}`);\r\n                    else handleClickVideoCard(String(id), type);\r\n                }\r\n            }}\r\n        >\r\n            <div\r\n                className={`pl-relative pl-flex-none ${(isComplexDesktop || conditions(ConditionName.isComplexPortrait) || conditions(ConditionName.isTouchScreenLandscape) || conditions(ConditionName.isFullScreen) || (!conditions(ConditionName.isFullScreen) && !conditions(ConditionName.isParamsPortrait))) && !isTagCard && !isMultiLive ? \"\" : \"pl-w-full\"}`}\r\n            >\r\n                {isVideo ? (\r\n                    <div style={{ width: width, height: height }}>\r\n                        <PlayerCore isMultiLive={Boolean(userId)} />\r\n                    </div>\r\n                ) : (\r\n                    <div\r\n                        className={`${(isComplexDesktop || conditions(ConditionName.isComplexPortrait)) && !isTagCard ? \"\" : \"pl-w-full !pl-aspect-video\"}`}\r\n                        style={{ width: width, height: (isComplexDesktop || conditions(ConditionName.isComplexPortrait)) && !isTagCard ? height : \"initial\" }}\r\n                    >\r\n                        {src ? (\r\n                            <Image\r\n                                src={src}\r\n                                className={`pl-rounded-[4px] pl-w-full pl-h-full`}\r\n                                layout={\"fill\"}\r\n                                alt={details.title ?? \"player-card\"}\r\n                            />\r\n                        ) : (\r\n                            <div className=\"pl-rounded-[4px] pl-w-full pl-aspect-video\" style={{ background: `linear-gradient(39deg, rgba(16, 9, 49, 1) 0%, rgba(75, 14, 87, 1) 100%)` }} />\r\n                        )}\r\n                    </div>\r\n                )}\r\n                {\r\n                    !isVideo && type !== \"playlist\" && id !== +params.id! && (\r\n                        <div className=\"pl-absolute pl-top-1/2 pl-left-1/2 -pl-translate-x-1/2 -pl-translate-y-1/2 pl-w-6 pl-h-6\">\r\n                            <Image\r\n                                src={IMAGES.bigPlay}\r\n                                width={isTouchScreen() ? 56 : 72}\r\n                                height={isTouchScreen() ? 56 : 72}\r\n                                className={`pl-big-play-icon`}\r\n                                alt=\"big-play-icon\"\r\n                            />\r\n                        </div>\r\n                    )\r\n                }\r\n                {type === \"playlist\" ? (\r\n                    <>\r\n                        <div className=\"pl-absolute pl-top-1/2 pl-left-1/2 -pl-translate-x-1/2 -pl-translate-y-1/2 pl-flex pl-items-center pl-bg-black/[0.4] pl-rounded-full pl-p-1\">\r\n                            <Image src={IMAGES.playList} alt=\"playList-icon\" width={22} height={22} />\r\n                        </div>\r\n                        {\r\n                            !!status_text && <p className={`pl-absolute pl-bottom-0 pl-w-full pl-text-white pl-rounded-b-[4px] pl-bg-main-700/[0.7] pl-text-[14px] pl-font-normal pl-text-center`}>\r\n                                {status_text}</p>\r\n                        }\r\n                    </>\r\n                ) : (\r\n                    <>\r\n                        {type === \"live\" ? (\r\n                            <div className={`pl-absolute pl-bottom-1 pl-left-1 pl-flex pl-items-center pl-gap-2 pl-px-2 pl-py-1 pl-rounded-[4px] pl-text-white ${type === \"live\" ? \"pl-bg-red-zProgress\" : \"pl-bg-black/[0.7]\"}`}>\r\n                                <LiveIcon isLive={true} />\r\n                                <span className=\"pl-text-[8px] pl-font-medium\">زنده</span>\r\n                            </div>\r\n                        )  \r\n                        : \r\n                        (\r\n                            <>{!!duration && <div className={`pl-absolute pl-bottom-1 pl-left-1 pl-text-[10px] pl-flex pl-items-center pl-gap-2 pl-px-2 pl-py-1 pl-rounded-[4px] pl-text-white pl-bg-black/[0.7]`}>{efficientSecondsToPersianHMS(Number(duration))}</div>}</>\r\n                        )}\r\n                    </>\r\n                )}\r\n            </div>\r\n            <div\r\n                className={`pl-flex pl-py-1 pl-w-full pl-h-full pl-flex-col pl-gap-0.5 pl-justify-between pl-overflow-hidden ${isMultiLive && \"pl-justify-center\"}`}>\r\n                {title && (\r\n                    <p\r\n                        className={`${isComplexDesktop ? \"pl-text-[10px] pl-font-bold\" : (conditions(ConditionName.isComplexPortrait) ? \"pl-text-[12px] pl-text-justify pl-font-medium\" : \"pl-text-[14px] pl-font-medium\")} ${isMultiLive && !conditions(ConditionName.isTouchScreenPortrait) ? \"pl-text-secondary-200\" : \"pl-text-secondary-700 dark:pl-text-secondary-200\"} pl-two-line pl-leading-[14px] ${titleClassName}`}\r\n                    >\r\n                        {title}\r\n                    </p>\r\n                )}\r\n                {!conditions(ConditionName.isTouchScreenLandscape) && !isMultiLive && tags && <div className=\"pl-flex pl-flex-1 pl-w-full pl-overflow-auto\"><Tags tagId={`${id}`} tags={tags!} /></div>}\r\n                <div className=\"pl-flex pl-items-end pl-gap-[3px] pl-text-secondary-500 dark:pl-text-secondary-300 pl-text-[8px] pl-font-medium\">\r\n                    {(type === \"playlist\" && content_type === 1) || (type === \"vod\" && (content_type === 1 || content_type === 0) ) ? (\r\n                        <div className={`pl-flex pl-items-center pl-gap-10 ${!!date ? \"pl-justify-between\" : \"pl-justify-end\"} pl-w-full pl-pl-2`}>\r\n                            {!!date && <p className=\"pl-text-dark-4 pl-text-[9px] pl-font-medium\">تولید {date}</p>}\r\n                            {!!imdb_rate && (\r\n                                <div className={`pl-flex pl-items-center pl-bg-warning pl-text-secondary-800 pl-rounded-[8px]`}>\r\n                                    <p className=\"pl-bg-orange-100/[0.4] pl-rounded-r-[24px] pl-text-[8px] pl-font-extrabold pl-px-1 pl-text-center pl-pt-0.5\">IMDB</p>\r\n                                    <p className=\"pl-text-[8px] pl-font-bold pl-pl-[7px] pl-pr-1 pl-text-center pl-pt-0.5\">{imdb_rate}</p>\r\n                                </div>\r\n                            )}\r\n                        </div>\r\n                    ) : (\r\n                        <>\r\n                            {date && <p className={dateClassName}>{getRemainingTime(date)}</p>}\r\n                            {!!viewers && (\r\n                                <>\r\n                                    <span>.</span>\r\n                                    <div className={`pl-flex pl-items-center pl-gap-1 ${viewersClassName}`}>\r\n                                        <div\r\n                                            className=\"pl-flex pl-items-center pl-gap-0.5 pl-text-secondary-500 dark:pl-text-secondary-300 pl-relative pl-top-[1px]\">\r\n                                            <div>{unitization(viewers!).unit}</div>\r\n                                            <div>{unitization(viewers!).value}</div>\r\n                                        </div>\r\n                                        {type === \"live\" ? <p>نفر در حال تماشا</p> : <p>بازدید</p>}\r\n                                    </div>\r\n                                </>\r\n                            )}\r\n                            {!!commentsCount && (\r\n                                <>\r\n                                    <span>.</span>\r\n                                    <div className=\"pl-flex pl-items-center pl-gap-1\">\r\n                                        <div\r\n                                            className=\"pl-flex pl-items-center pl-gap-0.5 pl-text-secondary-500 dark:pl-text-secondary-300 pl-relative pl-top-[1px]\">\r\n                                            <div>{unitization(commentsCount).unit}</div>\r\n                                            <div>{unitization(commentsCount).value}</div>\r\n                                        </div>\r\n                                        <p>دیدگاه</p>\r\n                                    </div>\r\n                                </>\r\n                            )}\r\n                            {!!star && (\r\n                                <>\r\n                                    <span>.</span>\r\n                                    <div className=\"pl-flex pl-items-center pl-gap-1\">\r\n                                        <Image src={IMAGES.starSlash} className=\"!pl-mb-[1px]\" width={12} height={12} />\r\n                                        <p>{star}</p>\r\n                                    </div>\r\n                                </>\r\n                            )}\r\n                        </>\r\n                    )}\r\n                </div>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default PlayerCard;"],"mappings":"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","names":["init_esm_shims","Image","shallowEqual","dynamic","Fragment","jsx","jsxs","LiveIcon","Tags","PlayerCore","PlayerCard","src","type","width","height","title","titleClassName","tags","date","dateClassName","viewers","viewersClassName","isVideo","isComplexDesktop","isMultiLive","isTagCard","duration","onClick","id","userId","commentsCount","star","imdb_rate","status_text","content_type","params","details","useAppSelector","isComplexPortrait","shallowEqual","isFullScreen","handleDoubleClick","event","conditions","handleClickVideoCard","Image","importImages_default","isTouchScreen","efficientSecondsToPersianHMS","getRemainingTime","unitization","playerCard_default"]}