Skip to content

feat(applications): grouped-by-module API Names selector#4

Merged
samutpra merged 6 commits into
mainfrom
feat/grouped-api-names-selector
Jun 10, 2026
Merged

feat(applications): grouped-by-module API Names selector#4
samutpra merged 6 commits into
mainfrom
feat/grouped-api-names-selector

Conversation

@samutpra

Copy link
Copy Markdown
Contributor

Summary

  • Replace the flat 765-button API Names picker on the Application Edit page with a collapsible accordion grouped by module (the prefix before the first dot in each api_name, e.g. cluster.createcluster).
  • Edit mode: filter by module or api_name (matches auto-expand), per-module selected/total badge + All/None toggle, expand/collapse-all (visible-scoped), action-only button labels with the full api_name as a tooltip.
  • Read-only mode: selected api_names grouped under small module subheaders.
  • applicationService.getApiCatalog() now returns { groups, api_names }, using backend-provided groups when present (validated by a runtime type guard) and falling back to client-side grouping (groupApiNames) otherwise — so the UI renders grouped regardless of backend deploy order.
  • New: ApiCatalogGroup type and pure helpers moduleOf/actionOf/groupApiNames (src/utils/apiCatalog.ts).

Pairs with backend PR for the grouped catalog endpoint, but works standalone via the fallback.

Test Plan

  • CI=true bun run build passes (tsc strict + eslint warnings-as-errors)
  • On /applications/:id/edit (edit mode): filter, expand/collapse, per-module All/None, action labels + tooltips, "N selected" total
  • Toggle Allow all APIs hides the selector; unchecking restores it
  • Read-only view shows grouped module subheaders
  • Create flow (/applications/new) saves selected api_names
  • catalogFailed still falls back to ChipInput

🤖 Generated with Claude Code

samutpra and others added 6 commits June 10, 2026 17:36
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace flat Badge list with module-grouped layout in read-only mode,
mirroring the edit-mode accordion. Uses groupApiNames + actionOf.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
carmen-platform-uat Ready Ready Preview, Comment Jun 10, 2026 11:20am

@samutpra samutpra merged commit 94898d0 into main Jun 10, 2026
7 checks passed
@samutpra samutpra deleted the feat/grouped-api-names-selector branch June 10, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant