import { useEffect, useState } from 'react' import { useNavigate } from 'react-router-dom' import { Plug, ServerCog, BookMarked, Settings as SettingsIcon } from 'lucide-react' import { api, type Integration } from '../lib/api' const shortcuts = [ { icon: ServerCog, label: 'Add Integration', to: '/settings' }, { icon: BookMarked, label: 'Add Bookmark', to: '/booknest' }, { icon: Plug, label: 'Infrastructure', to: '/infrastructure' }, { icon: SettingsIcon, label: 'Settings', to: '/settings' }, ] const cardBase: React.CSSProperties = { backgroundColor: 'rgba(10, 10, 12, 0.92)', border: '1px solid rgba(200, 164, 52, 0.08)', borderRadius: '12px', padding: '20px', boxShadow: '0 0 20px rgba(200, 164, 52, 0.03)', transition: 'border-color 0.2s ease', position: 'relative', overflow: 'hidden', } const framedCardBase: React.CSSProperties = { backgroundImage: 'url(/blank-kpi-bg.png)', backgroundSize: '100% 100%', backgroundPosition: 'center', backgroundRepeat: 'no-repeat', borderRadius: '12px', padding: '20px', transition: 'border-color 0.2s ease', position: 'relative', overflow: 'hidden', } const cardDim: React.CSSProperties = { position: 'absolute', inset: 0, pointerEvents: 'none', backgroundColor: 'rgba(8, 8, 10, 0.45)', } const statusColor: Record = { connected: '#2ECC71', error: '#E74C3C', unknown: '#7A7D85', } export default function BottomRow() { const [integrations, setIntegrations] = useState(null) const navigate = useNavigate() useEffect(() => { api.listIntegrations().then(({ integrations }) => setIntegrations(integrations)) }, []) return (
{/* Connected Integrations */}

Connected Integrations

{integrations === null ? (

Loading…

) : integrations.length === 0 ? (

No integrations added yet — add one in Settings.

) : (
{integrations.map((i) => (
{i.name}
))}
)}
{/* Shortcuts */}

Shortcuts

{shortcuts.map((item) => { const Icon = item.icon return ( ) })}
) }