"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: "Google Drive", 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}
هنوز سرویسی متصل نشده است.