Skip to content

Commit 40ee863

Browse files
committed
ibm-plex-mono
1 parent fd6c9e4 commit 40ee863

File tree

13 files changed

+61
-27
lines changed

13 files changed

+61
-27
lines changed

coderd/apidoc/docs.go

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/users.go

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -989,8 +989,22 @@ func (api *API) userAppearanceSettings(rw http.ResponseWriter, r *http.Request)
989989
themePreference = ""
990990
}
991991

992+
terminalFont, err := api.Database.GetUserTerminalFont(ctx, user.ID)
993+
if err != nil {
994+
if !errors.Is(err, sql.ErrNoRows) {
995+
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
996+
Message: "Error reading user settings.",
997+
Detail: err.Error(),
998+
})
999+
return
1000+
}
1001+
1002+
terminalFont = ""
1003+
}
1004+
9921005
httpapi.Write(ctx, rw, http.StatusOK, codersdk.UserAppearanceSettings{
9931006
ThemePreference: themePreference,
1007+
TerminalFont: codersdk.TerminalFontName(terminalFont),
9941008
})
9951009
}
9961010

@@ -1015,20 +1029,33 @@ func (api *API) putUserAppearanceSettings(rw http.ResponseWriter, r *http.Reques
10151029
return
10161030
}
10171031

1018-
updatedSettings, err := api.Database.UpdateUserThemePreference(ctx, database.UpdateUserThemePreferenceParams{
1032+
updatedThemePreference, err := api.Database.UpdateUserThemePreference(ctx, database.UpdateUserThemePreferenceParams{
10191033
UserID: user.ID,
10201034
ThemePreference: params.ThemePreference,
10211035
})
10221036
if err != nil {
10231037
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1024-
Message: "Internal error updating user.",
1038+
Message: "Internal error updating user theme prefence.",
1039+
Detail: err.Error(),
1040+
})
1041+
return
1042+
}
1043+
1044+
updatedTerminalFont, err := api.Database.UpdateUserTerminalFont(ctx, database.UpdateUserTerminalFontParams{
1045+
UserID: user.ID,
1046+
TerminalFont: string(params.ThemePreference),
1047+
})
1048+
if err != nil {
1049+
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1050+
Message: "Internal error updating user terminal font.",
10251051
Detail: err.Error(),
10261052
})
10271053
return
10281054
}
10291055

10301056
httpapi.Write(ctx, rw, http.StatusOK, codersdk.UserAppearanceSettings{
1031-
ThemePreference: updatedSettings.Value,
1057+
ThemePreference: updatedThemePreference.Value,
1058+
TerminalFont: codersdk.TerminalFontName(updatedTerminalFont.Value),
10321059
})
10331060
}
10341061

codersdk/users.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,18 +194,18 @@ type TerminalFontName string
194194

195195
const (
196196
TerminalFontUnknown TerminalFontName = ""
197-
TerminalFontIbmMonoPlex TerminalFontName = "ibm-mono-plex"
197+
TerminalFontIbmPlexMono TerminalFontName = "ibm-plex-mono"
198198
TerminalFontFiraCode TerminalFontName = "fira-code"
199199
)
200200

201201
type UserAppearanceSettings struct {
202202
ThemePreference string `json:"theme_preference"`
203-
TerminalFont TerminalFontName `json:"terminal_font" enums:"ibm-mono-plex,fira-code"`
203+
TerminalFont TerminalFontName `json:"terminal_font" enums:"ibm-plex-mono,fira-code"`
204204
}
205205

206206
type UpdateUserAppearanceSettingsRequest struct {
207207
ThemePreference string `json:"theme_preference" validate:"required"`
208-
TerminalFont TerminalFontName `json:"terminal_font" validate:"required" enums:"ibm-mono-plex,fira-code"`
208+
TerminalFont TerminalFontName `json:"terminal_font" validate:"required" enums:"ibm-plex-mono,fira-code"`
209209
}
210210

211211
type UpdateUserPasswordRequest struct {

docs/reference/api/schemas.md

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/api/users.md

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/src/api/typesGenerated.ts

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/src/pages/UserSettingsPage/AppearancePage/AppearanceForm.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ type Story = StoryObj<typeof AppearanceForm>;
1818

1919
export const Example: Story = {
2020
args: {
21-
initialValues: { theme_preference: "" },
21+
initialValues: { theme_preference: "", terminal_font: "" },
2222
},
2323
};

site/src/pages/UserSettingsPage/AppearancePage/AppearanceForm.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { PreviewBadge } from "components/Badges/Badges";
66
import { Stack } from "components/Stack/Stack";
77
import { ThemeOverride } from "contexts/ThemeProvider";
88
import type { FC } from "react";
9-
import themes, { DEFAULT_THEME, type Theme } from "theme";
9+
import themes, { DEFAULT_TERMINAL_FONT, DEFAULT_THEME, type Theme } from "theme";
1010

1111
export interface AppearanceFormProps {
1212
isUpdating?: boolean;
@@ -22,13 +22,14 @@ export const AppearanceForm: FC<AppearanceFormProps> = ({
2222
initialValues,
2323
}) => {
2424
const currentTheme = initialValues.theme_preference || DEFAULT_THEME;
25+
const currentTerminalFont = initialValues.terminal_font || DEFAULT_TERMINAL_FONT;
2526

2627
const onChangeTheme = async (theme: string) => {
2728
if (isUpdating) {
2829
return;
2930
}
3031

31-
await onSubmit({ theme_preference: theme });
32+
await onSubmit({ theme_preference: theme, terminal_font: currentTerminalFont });
3233
};
3334

3435
return (

site/src/pages/UserSettingsPage/AppearancePage/AppearancePage.test.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ describe("appearance page", () => {
1212
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
1313
...MockUser,
1414
theme_preference: "dark",
15+
terminal_font: "",
1516
});
1617

1718
const dark = await screen.findByText("Dark");
@@ -27,6 +28,7 @@ describe("appearance page", () => {
2728
jest.spyOn(API, "updateAppearanceSettings").mockResolvedValueOnce({
2829
...MockUser,
2930
theme_preference: "light",
31+
terminal_font: "",
3032
});
3133

3234
const light = await screen.findByText("Light");

site/src/pages/UserSettingsPage/AppearancePage/AppearancePage.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export const AppearancePage: FC = () => {
4747
error={updateAppearanceSettingsMutation.error}
4848
initialValues={{
4949
theme_preference: appearanceSettingsQuery.data.theme_preference,
50+
terminal_font: appearanceSettingsQuery.data.terminal_font,
5051
}}
5152
onSubmit={updateAppearanceSettingsMutation.mutateAsync}
5253
/>

site/src/testHelpers/entities.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -536,6 +536,7 @@ export const SuspendedMockUser: TypesGen.User = {
536536

537537
export const MockUserAppearanceSettings: TypesGen.UserAppearanceSettings = {
538538
theme_preference: "dark",
539+
terminal_font: "",
539540
};
540541

541542
export const MockOrganizationMember: TypesGen.OrganizationMemberWithUserData = {

site/src/theme/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ const theme = {
3636
} satisfies Record<string, Theme>;
3737

3838
export default theme;
39+
40+
export const DEFAULT_TERMINAL_FONT = "ibm-plex-mono";

0 commit comments

Comments
 (0)