"use client" import { useEffect, useState } from "react" import { useHasCompanyBrain } from "@/hooks/use-company-brain" const BACKEND = process.env.NEXT_PUBLIC_BACKEND_URL ?? "https://api.supermemory.ai" type SlackStatus = { connected: boolean; teamName: string | null } function SlackMark({ className }: { className?: string }) { return ( ) } export function SlackConnectCard() { const isCompanyBrain = useHasCompanyBrain() const [status, setStatus] = useState(null) const [trialActive, setTrialActive] = useState(true) const [loading, setLoading] = useState(true) useEffect(() => { if (!isCompanyBrain) return let active = true ;(async () => { try { const [slackRes, trialRes] = await Promise.all([ fetch(`${BACKEND}/brain/slack/status`, { credentials: "include" }), fetch(`${BACKEND}/brain/trial/status`, { credentials: "include" }), ]) if (!active) return if (slackRes.ok) setStatus((await slackRes.json()) as SlackStatus) if (trialRes.ok) { const trial = (await trialRes.json()) as { active?: boolean } setTrialActive(Boolean(trial.active)) } } finally { if (active) setLoading(false) } })() return () => { active = false } }, [isCompanyBrain]) if (!isCompanyBrain || loading) return null const connected = status?.connected return (

Add Supermemory to your Slack

{connected ? `Connected to ${status?.teamName ?? "your workspace"}.` : "Answer from your company brain and act on connected apps — right inside Slack."}

{connected ? ( Connected ) : trialActive ? ( Add to Slack ) : ( Finish setting up )}
) }