-
Notifications
You must be signed in to change notification settings - Fork 950
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… creation Adds a View Source button to the workspace creation page that allows template administrators 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 header This addresses user friction where template admins expect to be able to edit templates 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>
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 users These stories exercise the canUpdateTemplate prop and demonstrate the 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 the CreateWorkspacePageViewExperimental
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 the createWorkspaceChecks
helper, that's what it is for
export const WithoutViewSourceButton: 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.
<Button size="sm" variant="outline" onClick={onCancel}> | ||
Cancel | ||
</Button> | ||
<Stack direction="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.
the actions
prop is already rendered inside of a flex container that adds spacing. just use a fragment.
4c1cdad
to
96f849c
Compare
…ermissions Addresses 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 experimental workspace creation pages for template administrators. Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
96f849c
to
aca0211
Compare
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.