import { AccessEdit } from "@/components/certimate/AccessEdit"; import XPagination from "@/components/certimate/XPagination"; import { Button } from "@/components/ui/button"; import { Separator } from "@/components/ui/separator"; import { Access as AccessType, accessTypeMap } from "@/domain/access"; import { convertZulu2Beijing } from "@/lib/time"; import { useConfig } from "@/providers/config"; import { remove } from "@/repository/access"; import { Key } from "lucide-react"; import { useLocation, useNavigate } from "react-router-dom"; const Access = () => { const { config, deleteAccess } = useConfig(); const { accesses } = config; const perPage = 10; const totalPages = Math.ceil(accesses.length / perPage); const navigate = useNavigate(); const location = useLocation(); const query = new URLSearchParams(location.search); const page = query.get("page"); const pageNumber = page ? Number(page) : 1; const startIndex = (pageNumber - 1) * perPage; const endIndex = startIndex + perPage; const handleDelete = async (data: AccessType) => { const rs = await remove(data); deleteAccess(rs.id); }; return (
授权管理
添加授权} op="add" />
{accesses.length === 0 ? (
请添加授权开始部署证书吧。
添加授权} op="add" className="mt-3" />
) : ( <>
名称
服务商
创建时间
更新时间
操作
授权列表
{accesses.slice(startIndex, endIndex).map((access) => (
{access.name}
{accessTypeMap.get(access.configType)?.[0]}
创建于 {access.created && convertZulu2Beijing(access.created)}
更新于 {access.updated && convertZulu2Beijing(access.updated)}
编辑 } op="edit" data={access} />
))} { query.set("page", page.toString()); navigate({ search: query.toString() }); }} /> )}
); }; export default Access;