"use client"; import { ExternalLink, MoreHorizontal, RefreshCw, Trash2 } from "lucide-react"; import { useState } from "react"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { cn } from "@/lib/utils"; interface IntegrationItem { image: string; title: string; description: string; status: "active" | "inactive" | "error"; connectedBy?: { name: string; avatar: string; }; lastActivity?: string; className?: string; } interface SettingsIntegrations9Props { className?: string; heading?: string; subHeading?: string; integrations?: IntegrationItem[]; } const SettingsIntegrations9 = ({ className, heading = "یکپارچهسازیهای متصل", subHeading = "یکپارچهسازیهای فعال و دسترسیهای آنها را مدیریت کنید.", integrations: initialIntegrations = [ { image: "/block-media/shadcnblocks/block/logos/slack-icon.svg", title: "Slack", description: "اعلانها و هشدارهای فضای کاری", status: "active", connectedBy: { name: "الهام میرزایی", avatar: "/block-media/shadcnblocks/block/avatar-1.webp", }, lastActivity: "همین الان فعال", }, { image: "/block-media/shadcnblocks/block/logos/google-icon.svg", title: "فضای ابری", description: "همگامسازی و پشتیبانگیری فایل", status: "active", connectedBy: { name: "جردن لی", avatar: "/block-media/shadcnblocks/block/avatar/avatar3.webp", }, lastActivity: "۵ دقیقه پیش همگام شد", }, { image: "/block-media/shadcnblocks/block/logos/github-icon.svg", title: "GitHub", description: "وبهوک مخازن", status: "active", connectedBy: { name: "سام چناری", avatar: "/block-media/shadcnblocks/block/avatar-2.webp", }, lastActivity: "آخرین تغییر، ۲ ساعت پیش", className: "dark:invert", }, { image: "/block-media/shadcnblocks/block/logos/notion-icon.svg", title: "Notion", description: "همگامسازی مستندات", status: "error", connectedBy: { name: "تیلور کیمیایی", avatar: "/block-media/shadcnblocks/block/avatar-7.webp", }, lastActivity: "همگامسازی ناموفق", className: "dark:invert", }, { image: "/block-media/shadcnblocks/block/logos/figma-icon.svg", title: "Figma", description: "وارد کردن فایلهای طراحی", status: "inactive", connectedBy: { name: "کاوه پارک", avatar: "/block-media/shadcnblocks/block/avatar-5.webp", }, lastActivity: "متوقف", }, { image: "/block-media/shadcnblocks/block/logos/stripe-icon.svg", title: "Stripe", description: "پردازش پرداخت", status: "active", connectedBy: { name: "ریحانه جعفری", avatar: "/block-media/shadcnblocks/block/avatar-3.webp", }, lastActivity: "۱۲ تراکنش امروز", }, ], }: SettingsIntegrations9Props) => { const [integrations, setIntegrations] = useState(initialIntegrations); const handleRemove = (title: string) => { setIntegrations((prev) => prev.filter((i) => i.title !== title)); }; const getStatusBadge = (status: IntegrationItem["status"]) => { switch (status) { case "active": return ( فعال ); case "inactive": return متوقف; case "error": return ( خطا ); } }; return ( {heading} {subHeading} افزودن یکپارچهسازی {integrations.map((integration) => ( {integration.title} {getStatusBadge(integration.status)} {integration.description} باز کردن تنظیمات اتصال مجدد handleRemove(integration.title)} > حذف {integration.connectedBy && ( {integration.connectedBy.name[0]} متصلشده توسط {integration.connectedBy.name} )} {integration.lastActivity && ( <> • {integration.lastActivity} > )} ))} {integrations.length === 0 && ( هنوز یکپارچهسازیای متصل نشده است. مرور یکپارچهسازیها )} ); }; export { SettingsIntegrations9 };
{subHeading}
{integration.description}
هنوز یکپارچهسازیای متصل نشده است.