"use client"; import { AdminCard } from "@/components/admin/AdminCard"; import { useTranslation } from "@/lib/i18n/client"; import { api } from "@/lib/trpc"; function ConnectionStatus({ label, configured, connected, pluginName, error, }: { label: string; configured: boolean; connected: boolean; pluginName?: string; error?: string; }) { const { t } = useTranslation(); let statusText = t("admin.service_connections.status.not_configured"); let badgeColor = "bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400"; let iconColor = "text-gray-400"; let borderColor = "border-gray-200 dark:border-gray-700"; if (configured) { if (connected) { statusText = t("admin.service_connections.status.connected"); badgeColor = "bg-green-50 text-green-700 dark:bg-green-900/20 dark:text-green-400"; iconColor = "text-green-500"; borderColor = "border-green-200 dark:border-green-800"; } else { statusText = t("admin.service_connections.status.disconnected"); badgeColor = "bg-red-50 text-red-700 dark:bg-red-900/20 dark:text-red-400"; iconColor = "text-red-500"; borderColor = "border-red-200 dark:border-red-800"; } } return (
{error.length > 60 ? `${error.substring(0, 60)}...` : error}
{t("admin.service_connections.description")}