+ {t(($) => $.tab_body.integrations.intro)} +
+ ++ {ts(($) => $.lark.page_description)} +
++ {ts(($) => $.lark.not_enabled_title)} +
+ ) : !canManage ? ( + // The backend gates install / manage on workspace owner/admin. + // Members can still view connected bots in the (member-visible) + // Settings listing, so point them there rather than show a dead + // button. ++ {t(($) => $.tab_body.integrations.members_note)} +
+ ) : !installSupported && !hasActiveInstall ? ( + // Key is set but the device-flow transport isn't wired in this + // build — a fresh scan would fail at the post-poll bot-info step, + // so we surface the "coming soon" notice instead of a broken CTA. + // An agent that is ALREADY bound is exempt: install_supported only + // governs NEW installs, so the bound state must still render below + // (server/internal/handler/lark.go). +{ts(($) => $.lark.preview_title)}
++ {ts(($) => $.lark.preview_description)} +
+