diff --git a/components/settings/unified/tabs/SiteIntegrationsTab.tsx b/components/settings/unified/tabs/SiteIntegrationsTab.tsx index ab01cd6..fbbef09 100644 --- a/components/settings/unified/tabs/SiteIntegrationsTab.tsx +++ b/components/settings/unified/tabs/SiteIntegrationsTab.tsx @@ -2,13 +2,39 @@ import { useState } from 'react' import { Button, toast, Spinner } from '@ciphera-net/ui' -import { GoogleLogo, ArrowSquareOut, Plugs, Trash, ShieldCheck, CaretDown } from '@phosphor-icons/react' +import { Plugs, Trash, ShieldCheck, CaretDown } from '@phosphor-icons/react' import { useGSCStatus, useBunnyStatus } from '@/lib/swr/dashboard' import { disconnectGSC, getGSCAuthURL } from '@/lib/api/gsc' import { disconnectBunny, getBunnyPullZones, connectBunny, type BunnyPullZone } from '@/lib/api/bunny' import { getAuthErrorMessage } from '@ciphera-net/ui' import { formatDateTime } from '@/lib/utils/formatDate' +function GoogleIcon() { + return ( + + + + + + + ) +} + +function BunnyIcon() { + return ( + + + + + + + + + + + ) +} + function IntegrationCard({ icon, name, @@ -281,7 +307,7 @@ export default function SiteIntegrationsTab({ siteId }: { siteId: string }) {
} + icon={} name="Google Search Console" description="View search queries, clicks, impressions, and ranking data." connected={gscStatus?.connected ?? false} @@ -295,7 +321,7 @@ export default function SiteIntegrationsTab({ siteId }: { siteId: string }) { { (e.target as HTMLImageElement).style.display = 'none' }} />} + icon={} name="BunnyCDN" description="Monitor bandwidth, cache hit rates, and CDN performance." connected={bunnyConnected} @@ -303,6 +329,33 @@ export default function SiteIntegrationsTab({ siteId }: { siteId: string }) { onConnect={handleConnectBunny} onDisconnect={handleDisconnectBunny} > + {bunnyConnected && ( +
+
+
+ Pull Zone + {bunnyStatus?.pull_zone_name || 'Unknown'} +
+
+ Last Synced + {bunnyStatus?.last_synced_at ? formatDateTime(new Date(bunnyStatus.last_synced_at)) : 'Never'} +
+
+ Connected Since + {bunnyStatus?.created_at ? formatDateTime(new Date(bunnyStatus.created_at)) : 'Unknown'} +
+
+ Status + +
+
+ {bunnyStatus?.error_message && ( +
+

{bunnyStatus.error_message}

+
+ )} +
+ )} {!bunnyConnected && showBunnySetup && (