🌐 US-Proxy
class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
Skip to content

feat(site): add ModuleSelectStep - #26427

Merged
jeremyruppel merged 3 commits into
mainfrom
jeremy/devex-285-fe-moduleselectstep
Jun 18, 2026
Merged

feat(site): add ModuleSelectStep#26427
jeremyruppel merged 3 commits into
mainfrom
jeremy/devex-285-fe-moduleselectstep

Conversation

@jeremyruppel

@jeremyruppel jeremyruppel commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Implement the module selection wizard step with multi-select toggle and conflict warnings.

  • Add getTemplateBuilderModules API client method with optional base parameter for OS filtering
  • Add react-query wrapper with staleTime: Infinity to prevent re-fetches on step navigation
  • Render a flat grid of ModuleCard components with checkbox-style multi-select
  • Show non-blocking conflict warnings when selected modules declare conflicts_with each other
  • Map selections to TemplateBuilderComposeModule[] and SelectedModuleMeta[] for wizard state

Relates to DEVEX-285.

Note

This PR was authored with Coder Agents.

@linear-code

linear-code Bot commented Jun 16, 2026

Copy link
Copy Markdown

DEVEX-285

// TODO add this to the API response so we don't have to construct it manually here.
function moduleDetailsUrl(moduleId: string): string {
return `https://registry.coder.com/modules/${moduleId}`;
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comment is correct. i'll add this to the backend in a future PR

@jeremyruppel
jeremyruppel marked this pull request as ready for review June 16, 2026 17:53
@jeremyruppel jeremyruppel changed the title feat(site/src/pages/TemplateBuilder): add ModuleSelectStep feat(site): add ModuleSelectStep Jun 16, 2026
@jeremyruppel
jeremyruppel force-pushed the jeremy/devex-284-fe-basetemplateparametersstep branch from 27cd694 to 94f5fb5 Compare June 16, 2026 20:42
@jeremyruppel
jeremyruppel force-pushed the jeremy/devex-285-fe-moduleselectstep branch from 32f0468 to ec336be Compare June 16, 2026 20:42
@jeremyruppel
jeremyruppel force-pushed the jeremy/devex-284-fe-basetemplateparametersstep branch from 94f5fb5 to 25ac414 Compare June 17, 2026 15:59
@jeremyruppel
jeremyruppel force-pushed the jeremy/devex-285-fe-moduleselectstep branch from ec336be to 612d943 Compare June 17, 2026 15:59
Base automatically changed from jeremy/devex-284-fe-basetemplateparametersstep to main June 17, 2026 18:56
Implement the module selection wizard step:

- Add getTemplateBuilderModules API client method with optional
  base parameter for OS filtering
- Add react-query wrapper with staleTime: Infinity to prevent
  re-fetches on step navigation
- Add ModuleSelectStep component that renders a flat grid of
  ModuleCard components with multi-select toggle
- Show non-blocking conflict warnings when selected modules
  declare conflicts with each other
- Wire the step into TemplateBuilderPageView for the module-select
  step ID
- Export SelectedModuleMeta from wizardState.ts for the step callback
@jeremyruppel
jeremyruppel force-pushed the jeremy/devex-285-fe-moduleselectstep branch from 612d943 to 0094680 Compare June 17, 2026 18:58

@aqandrew aqandrew left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 small nits, otherwise lgtm 🙂

Comment thread site/src/pages/TemplateBuilder/ModuleSelectStep.tsx
Comment thread site/src/pages/TemplateBuilder/ModuleSelectStep.tsx Outdated
@jeremyruppel
jeremyruppel merged commit dca8178 into main Jun 18, 2026
29 of 31 checks passed
@jeremyruppel
jeremyruppel deleted the jeremy/devex-285-fe-moduleselectstep branch June 18, 2026 13:42
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants