* refactor: move footer items into the user dropdown
The items at the bottom looked unprofessional. Users don't
always need to be prompted to join our Discord or see the
active version of Coder.
This moves the items in the user dropdown which looks better.
* Update site/src/components/UserDropdownContent/UserDropdownContent.tsx
Co-authored-by: Asher <ash@coder.com>
* Fix import order
Co-authored-by: Asher <ash@coder.com>
* chore(deps): upgrade @material-ui/core to 4.12.4
This is the latest version which includes a fix for the warning we were
seeing while running our tests about `css` function being deprecated.
* refactor: use alpha() instead of fade
`fade()` was deprecated in favor of `alpha()` in a previous version of
`@material-ui/core/styles`.
* refactor: rows -> minRows
This was deprecated in a previous version of `@material-ui/core`.
* refactor: overlap circle -> circular
overlap="circle" was deprecated in favor of overlap="circular".
* refactor: createMuiTheme -> createTheme
This was deprecated and changed to `createTheme`.
* fixup!: chore(deps): upgrade @material-ui/core to 4.12.4
* fixup!: refactor: createMuiTheme -> createTheme
* fix: add SvgIconProps on icons
I couldn't find any release notes or breaking changes related to this
but it seems `props` can no longer be inferred on `SvgIcon`s so I had to
manually add the type.
* Revert "refactor: rows -> minRows"
This reverts commit 94dae6fea8.
* chore(deps): downgrade @material-ui/core to 4.12.0
* fixup!: fix: add SvgIconProps on icons
* fix: pass {} to useStyles
Looks like we may need to pass an empty object if some components in a
file use `props` in styles and some don't.
* fix: update types in Pill.tsx
We need to use generics so that `makeStyles` correctly infers the types
for the `Pill.tsx` styles.
I also updated the types to use `PillProps` directly to make sure they
stay in sync.
* chore: add no-implicit-coercion ESLint rule
This adds a new ESLint rule to prevent us from using implicit coercion
in the codebase. See https://eslint.org/docs/latest/rules/no-implicit-coercion
* chore: fix implicit coercion errors
* fixup: formatting
* Use darker colors in the dashboard
I think this looks a bit nicer. It's pretty subjective, but right now
we sit in-between a light and a dark mode, but more on the dark side.
This essentially transforms us into a dark mode.
* Add icons to workspaces rows and apge
* Add narrowed navbar to tighten up design
* Swap gray[3] for gray[4]
* Tweak overrides - should not cause visual change
* Use closest color for avatar
* Change hover color of contained buttons
* Change nav item color (matches avatar now)
* Format
* Use lighter border for contained button hover
This looks more clickable than lightening the background
* Delete unused component
* Make dropdown arrow consistent
Same up as down. Contrast text everywhere except nav, where it matches links and avatar.
* No need to fade right arrows
* Add hover color
* Consistent box shadows
* Format
* Delete unused DialogSearch
* Deleting unused button types to avoid confusion
* Use disabled arrow on disabled action buttons
* add a divider after Account menu item
* test: improve Storybook tests
* add closed and open userdropdown tests
* add default isOpen
* extract UserDropdownContent into a single component
* remove the isOpen prop
* address nit comments
* update test name
* Make column renderer use the same type as its key
That way the renderer only takes `string` for example when rendering the
name field instead of `string | number` when the interface has some
fields that are strings and some fields are numbers.
This will be necessary when switching to generated types since some of
the fields are numbers (like the owner count on a template).
* Switch fully to generated types
In some places the organization ID is part of the URL but not part of
the request so I separated out the ID into a separate argument in the
relevant API functions.
Otherwise this was a straightforward replacement where I mostly only
needed to change some of the interface names (User instead of
UserResponse for example) and add a few missing but required properties.
I kind of winged the template form; I am not sure what the difference
between a template and template version is or why the latter comes
before the former so the form just returns all the data required to
create both.
* Delete handwritten types
Except for UserAgent which seems to be purely frontend and
ReconnectingPTYRequest which is not in codersdk so I am just leaving it
for now.
* Remove implemented omitempty as a future idea
This was implemented in 2d3dc436a8.
* Add missing optionalities to generated request interfaces