import { CopyOutlined, DeleteOutlined, EditOutlined } from "@ant-design/icons"; import { Card, Col, Form, message, Popconfirm, Select, Tag, Tooltip, } from "antd"; import Modal from "antd/lib/modal/Modal"; import React, { useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { addSubscribe, delSubscribe } from "src/api/config"; import { platformConfSelector } from "src/store/globalConfSlice"; import { groupConfigSelector, updateGroupSubs, } from "src/store/groupConfigSlice"; import { PlatformConfig, SubscribeConfig, SubscribeResp } from "src/utils/type"; import { AddModal } from "./addSubsModal"; interface CopyModalProp { setShowModal: (modalShow: boolean) => void; showModal: boolean; config: SubscribeConfig; groups: SubscribeResp; currentGroupNumber: string; reload: () => void; } function CopyModal({ setShowModal, config, currentGroupNumber, groups, showModal, reload, }: CopyModalProp) { const [confirmLoading, setConfirmLoading] = useState(false); const [selectedGroups, setSelectGroups] = useState>([]); const postReqs = async ( selectedGroups: Array, config: SubscribeConfig ) => { for (let selectedGroup of selectedGroups) { await addSubscribe(selectedGroup, config); } }; const handleOk = () => { if (selectedGroups.length === 0) { message.error("请至少选择一个目标群"); } else { setConfirmLoading(true); postReqs(selectedGroups, config).then(() => { setConfirmLoading(false); setShowModal(false); return reload(); }); } }; return ( setShowModal(false)} onOk={handleOk} > ); } interface SubscribeCardProp { groupNumber: string; config: SubscribeConfig; } export function SubscribeCard({ groupNumber, config }: SubscribeCardProp) { const platformConfs = useSelector(platformConfSelector); const [showModal, setShowModal] = useState(false); const [showEditModal, setShowEditModal] = useState(false); const platformConf = platformConfs[config.platformName] as PlatformConfig; const dispatcher = useDispatch(); const groupSubscribes = useSelector(groupConfigSelector); const reload = () => dispatcher(updateGroupSubs()); const handleDelete = (groupNumber: string, platformName: string, target: string) => () => { delSubscribe(groupNumber, platformName, target).then(() => { reload(); }); }; return ( { setShowEditModal((state) => !state); }} /> , { setShowModal((state) => !state); }} /> , , ]} >
{platformConf.hasTarget ? ( config.target ) : ( 无帐号 )} {Object.keys(platformConf.categories).length > 0 ? ( config.cats.map((catKey: number) => ( {platformConf.categories[catKey]} )) ) : ( 不支持类型 )} {platformConf.enabledTag ? ( config.tags.length > 0 ? ( config.tags.map((tag) => ( {tag} )) ) : ( 全部标签 ) ) : ( 不支持Tag )}
); }