Files
openwork/ee
ben ac7e082908 feat(den-web): add hidden integrations page and gate plugins on connection (#1475)
Introduce a new /integrations route under the org dashboard where users
can simulate connecting GitHub or Bitbucket through a realistic OAuth-
style wizard. The Plugins page now only shows its catalog once at least
one integration is connected; connecting more providers unlocks more
plugins.

- Integrations list card per provider (GitHub, Bitbucket) with connect /
  disconnect actions, connected account chips, and repo pills.
- Multi-step connect dialog: authorize -> select account -> select repos
  -> connecting -> connected. Dismissable, fully keyboard accessible,
  matches the existing OrgLimitDialog scrim/card frame.
- Data layer uses TanStack Query mutations; connections live only in the
  React Query cache (in-memory, per user's request). Mutations
  invalidate both ['integrations', 'list'] and ['plugins'], so the
  Plugins page updates in place when you connect or disconnect.
- plugin-data: each plugin now declares requiresProvider ('any' |
  'github' | 'bitbucket'). The plugins queryFn reads the integration
  cache and filters accordingly; the catalog stays empty with zero
  connections.
- plugins-screen: new 'Connect an integration' empty state with a CTA
  that deep-links to /integrations.
- No sidebar entry added (hidden page per request). Header title is
  mapped to 'Integrations' so navigating manually still feels coherent.

All data is mocked; the same hook surface (useIntegrations / useConnect
Integration / useDisconnectIntegration / usePlugins) will back a real
API with a one-line queryFn swap later.
2026-04-17 12:05:07 -07:00
..