Skip to content

Conversation

@charliepark
Copy link
Contributor

@charliepark charliepark commented Oct 31, 2025

Now that oxidecomputer/omicron#9299 is in Omicron, we want to use the new permissions in the web console as well. This PR bumps Omicron (will want to bump again before merging this) and also redesigns the access forms to use radio buttons, which allow us to show all options on the screen, with descriptions of what each role enables.

Screenshot 2025-11-03 at 4 34 06 PM

@vercel
Copy link

vercel bot commented Oct 31, 2025

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

Project Deployment Preview Updated (UTC)
console Ready Ready Preview Nov 4, 2025 0:32am

the div wrapping the radios was messing up the way RadioFieldDyn passes
checked state to its child radios because they're expected to be direct
children
@benjaminleonard
Copy link
Contributor

This should be a regular modal rather than a side modal, since it's a single input / action.

Spacing seems inconsistent here, not sure why.
image

I can take a quick look at the design now.

@charliepark
Copy link
Contributor Author

This should be a regular modal rather than a side modal, since it's a single input / action.

Okay; just for clarity, does the "Add user" modal remain a side modal, because you have to enter the name and select the role, or is it conceptually a single input and should be a regular modal?

@benjaminleonard
Copy link
Contributor

I could go either way, my initial designs had it as a side modal but that's because I had the ability to add multiple users in one go. It's sort of a fuzzy rule based on length.

Also, I could see the edit role being part of a side modal but only if it was part of a broader edit user / user view modal.

image

Let's use a regular modal for both for now.

control={control}
disabled={isSubmitting}
>
<RadioFieldDyn name="presetId" control={control} disabled={isSubmitting}>
Copy link
Collaborator

Choose a reason for hiding this comment

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

these were the only other RadioFieldDyn and they were using label="" as a hack around the fact there was a default value if label wasn't passed. That's silly, so I got rid of the default value and stopped passing a label here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

nice

return (
<div>
<div className="mb-2">
<div className="mb-3">
Copy link
Collaborator

@david-crespo david-crespo Nov 3, 2025

Choose a reason for hiding this comment

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

The fact that the only existing callers don't pass a label means that I can change the spacing here without consequence. Looks fine. I considered mb-4 but it was slightly too much. I think the real issue here is that the label and the values have the same treatment, so there's no sense of hierarchy. A problem for another time.

Image

@david-crespo
Copy link
Collaborator

Final copy:

image

@david-crespo david-crespo enabled auto-merge (squash) November 4, 2025 00:33
Copy link
Collaborator

@david-crespo david-crespo left a comment

Choose a reason for hiding this comment

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

let's party

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.

4 participants