- Notifications
You must be signed in to change notification settings - Fork1.1k
feat: add View Source button for template administrators in workspace creation#18951
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
… creationAdds a View Source button to the workspace creation page that allows templateadministrators to quickly navigate to the template editor. The button:- Only appears for users with template update permissions- Links directly to the template version editor- Uses the ExternalLinkIcon for consistency with other source viewing features- Is positioned next to the Cancel button in the page headerThis addresses user friction where template admins expect to be able to edittemplates directly from the workspace creation flow.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
This comment was marked as spam.
This comment was marked as spam.
Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
aslilac left a comment• edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
needs a story added to storybook to exercise this change
Adds two new stories to test the View Source button functionality:- WithViewSourceButton: Shows the button for template administrators- WithoutViewSourceButton: Hides the button for regular usersThese stories exercise the canUpdateTemplate prop and demonstratethe conditional rendering of the View Source button.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
aslilac left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
you'll also need to add this button to theCreateWorkspacePageViewExperimental component which will soon become the default. make sure to include a story for it as well.
| canUpdateTemplate:{ | ||
| object:{ | ||
| resource_type:"template", | ||
| resource_id:templateQuery.data?.id??"", | ||
| }, | ||
| action:"update", | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
you should just add this inside of thecreateWorkspaceChecks helper, that's what it is for
| exportconstWithoutViewSourceButton:Story={ | ||
| args:{ | ||
| canUpdateTemplate:false, | ||
| versionId:"template-version-123", | ||
| template:{ | ||
| ...MockTemplate, | ||
| organization_name:"default", | ||
| name:"docker-template", | ||
| }, | ||
| }, | ||
| parameters:{ | ||
| docs:{ | ||
| description:{ | ||
| story: | ||
| "This story shows the workspace creation page for users without template update permissions. The View Source button is hidden for these users.", | ||
| }, | ||
| }, | ||
| }, | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
you don't need a story for this. the default is false so every other story already verifies this.
| <Buttonsize="sm"variant="outline"onClick={onCancel}> | ||
| Cancel | ||
| </Button> | ||
| <Stackdirection="row"spacing={2}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
theactions prop is already rendered inside of a flex container that adds spacing. just use a fragment.
4c1cdad to96f849cCompare…ermissionsAddresses review feedback:- Added View Source button to CreateWorkspacePageViewExperimental component- Refactored createWorkspaceChecks helper to include template update permission- Updated both regular and experimental pages to use the new permissions helper- Added story for experimental component with View Source button- Removed unnecessary WithoutViewSourceButton story (default behavior)The View Source button now appears in both the regular and experimentalworkspace creation pages for template administrators.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
96f849c toaca0211Compare28789d7 intomainUh oh!
There was an error while loading.Please reload this page.
ethanndickson commentedSep 23, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
FYI, this doesn't work:#19921 |
Uh oh!
There was an error while loading.Please reload this page.
Summary
Adds a "View Source" button to the workspace creation page that allows template administrators to quickly navigate to the template editor.
Context:https://codercom.slack.com/archives/C015YDF37AT/p1753109218026359
Changes
canUpdateTemplatepermission check to workspace creation flowExternalLinkIconfor consistency with other source viewing featuresProblem Solved
Addresses user friction where template administrators expect to be able to edit templates directly from the workspace creation flow. Previously, admins had to navigate away from the workspace creation page to find the template editor.
Testing
Screenshots
The View Source button appears in the top-right corner of the workspace creation page, similar to the implementation shown in the original request.
Fixes user feedback about template admin workflow friction.