- Notifications
You must be signed in to change notification settings - Fork1k
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>
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
to96f849c
Compare…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
toaca0211
Compare28789d7
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
canUpdateTemplate
permission check to workspace creation flowExternalLinkIcon
for 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.