import React, { useState } from 'react'; import { Button, Card, Descriptions, Grid, List, Popconfirm, Popover, Typography, } from '@arco-design/web-react'; import { Link } from 'react-router-dom'; import { IconDelete, IconEdit } from '@arco-design/web-react/icon'; import { selectSiteConf } from '../globalConf/globalConfSlice'; import { useAppSelector } from '../../app/hooks'; import { Cookie, SiteConfig } from '../../utils/type'; import { useGetCookiesQuery, useDeleteCookieMutation } from './cookieConfigSlice'; import CookieModal from './CookieModal'; import './CookieManager.css'; interface CookieSite { site: SiteConfig; cookies: Cookie[]; } export default function CookieManager() { const siteConf = useAppSelector(selectSiteConf); const { data: cookieDict } = useGetCookiesQuery(); const cookiesList = cookieDict ? Object.values(cookieDict) : []; const cookieSite = Object.values(siteConf).filter((site) => site.enable_cookie); const cookieSiteList: CookieSite[] = cookieSite.map((site) => ({ site, cookies: cookiesList.filter((cookie) => cookie.site_name === site.name), })); const [showModal, setShowModal] = useState(false); const [siteName, setSiteName] = useState(''); const [deleteCookie] = useDeleteCookieMutation(); const handleAddCookie = (newSiteName: string) => () => { console.log(newSiteName); setSiteName(newSiteName); setShowModal(true); }; const handleDelCookie = (cookieId: string) => () => { console.log(cookieId); deleteCookie({ cookieId, }); }; return ( <> Cookie 管理 {cookieSiteList && cookieSiteList.map(({ cookies, site }) => ( 添加 )} > {cookies.map((cookie) => (
({ label: entry[0].toString(), value: typeof (entry[1]) === 'object' ? JSON.stringify(entry[1]) : entry[1].toString(), }))} /> )} > {cookie.friendly_name}
))}
))}
); }