"use client"; import { useState } from "react"; import { ScrollableTabsList } from "@/components/shadcnblocks/scrollable-tabslist"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { cn } from "@/lib/utils"; interface IntegrationItem { image: string; title: string; description: string; isConnected?: boolean; category: string; className?: string; } interface IntegrationCardProps { integration: IntegrationItem; onToggle?: (title: string) => void; } const IntegrationCard = ({ integration, onToggle }: IntegrationCardProps) => { return (
{`لوگوی

{integration.title}

{integration.description}

{integration.isConnected && ( متصل )}
); }; interface SettingsIntegrations4Props { className?: string; heading?: string; subHeading?: string; integrations?: IntegrationItem[]; } const SettingsIntegrations4 = ({ className, heading = "یکپارچه‌سازی‌ها", subHeading = "ابزارها و سرویس‌های محبوبتان را متصل کنید و گردش کار خود را ساده‌تر کنید.", integrations: initialIntegrations = [ { image: "/block-media/shadcnblocks/block/logos/slack-icon.svg", title: "Slack", description: "اعلان‌ها و به‌روزرسانی‌ها را به کانال‌های تیم ارسال کنید.", isConnected: true, category: "communication", }, { image: "/block-media/shadcnblocks/block/logos/discord-icon.svg", title: "Discord", description: "سرور گفتگوی تیمی خود را برای هشدارهای لحظه‌ای متصل کنید.", category: "communication", }, { image: "/block-media/shadcnblocks/block/logos/microsoft-teams-icon.svg", title: "Microsoft Teams", description: "با Teams برای همکاری یکپارچه ادغام شوید.", category: "communication", }, { image: "/block-media/shadcnblocks/block/logos/google-icon.svg", title: "فضای ابری", description: "به فایل‌های فضای ابری دسترسی داشته باشید و آن‌ها را همگام‌سازی کنید.", isConnected: true, category: "storage", }, { image: "/block-media/shadcnblocks/block/logos/dropbox-icon.svg", title: "Dropbox", description: "فایل‌ها را به‌صورت امن در فضای ابری ذخیره و به اشتراک بگذارید.", category: "storage", }, { image: "/block-media/shadcnblocks/block/logos/microsoft-onedrive-icon.svg", title: "OneDrive", description: "فایل‌ها و پوشه‌های OneDrive را همگام‌سازی کنید.", category: "storage", }, { image: "/block-media/shadcnblocks/block/logos/github-icon.svg", title: "GitHub", description: "مخازن را متصل کنید و گردش کارها را خودکار کنید.", isConnected: true, category: "development", className: "dark:invert", }, { image: "/block-media/shadcnblocks/block/logos/gitlab-icon.svg", title: "GitLab", description: "با GitLab برای خطوط استقرار خودکار ادغام شوید.", category: "development", }, { image: "/block-media/shadcnblocks/block/logos/vercel-icon.svg", title: "Vercel", description: "اپلیکیشن‌های وب را مستقر کنید و پیش‌نمایش بگیرید.", category: "development", className: "dark:invert", }, { image: "/block-media/shadcnblocks/block/logos/stripe-icon.svg", title: "Stripe", description: "پرداخت‌ها را پردازش کنید و اشتراک‌ها را مدیریت کنید.", isConnected: true, category: "payments", }, { image: "/block-media/shadcnblocks/block/logos/paypal-icon.svg", title: "PayPal", description: "پرداخت‌های کیف پول دیجیتال را از مشتریان بپذیرید.", category: "payments", }, ], }: SettingsIntegrations4Props) => { const [integrations, setIntegrations] = useState(initialIntegrations); const categories = [...new Set(integrations.map((i) => i.category))]; const handleToggle = (title: string) => { setIntegrations((prev) => prev.map((i) => i.title === title ? { ...i, isConnected: !i.isConnected } : i, ), ); }; const getCategoryLabel = (category: string) => { const labels: Record = { communication: "ارتباطات", storage: "ذخیره‌سازی", development: "توسعه", payments: "پرداخت", }; return labels[category] ?? category; }; return (

{heading}

{subHeading}

{categories.map((category) => ( {getCategoryLabel(category)} ))}
{categories.map((category) => (
{integrations .filter((i) => i.category === category) .map((integration) => ( ))}
))}
); }; export { SettingsIntegrations4 };