Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: install more terminal fonts#17289

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

Merged
mtojek merged 4 commits intomainfrommore-fonts-1
Apr 8, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletionscoderd/apidoc/docs.go
View file
Open in desktop

Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.

12 changes: 10 additions & 2 deletionscoderd/apidoc/swagger.json
View file
Open in desktop

Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.

13 changes: 9 additions & 4 deletionscodersdk/users.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -192,12 +192,17 @@ type ValidateUserPasswordResponse struct {
// TerminalFontName is the name of supported terminal font
type TerminalFontName string

var TerminalFontNames = []TerminalFontName{TerminalFontUnknown, TerminalFontIBMPlexMono, TerminalFontFiraCode}
var TerminalFontNames = []TerminalFontName{
TerminalFontUnknown, TerminalFontIBMPlexMono, TerminalFontFiraCode,
TerminalFontSourceCodePro, TerminalFontJetBrainsMono,
}

const (
TerminalFontUnknown TerminalFontName = ""
TerminalFontIBMPlexMono TerminalFontName = "ibm-plex-mono"
TerminalFontFiraCode TerminalFontName = "fira-code"
TerminalFontUnknown TerminalFontName = ""
TerminalFontIBMPlexMono TerminalFontName = "ibm-plex-mono"
TerminalFontFiraCode TerminalFontName = "fira-code"
TerminalFontSourceCodePro TerminalFontName = "source-code-pro"
TerminalFontJetBrainsMono TerminalFontName = "jetbrains-mono"
)

type UserAppearanceSettings struct {
Expand Down
12 changes: 7 additions & 5 deletionsdocs/reference/api/schemas.md
View file
Open in desktop

Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.

2 changes: 2 additions & 0 deletionssite/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -44,6 +44,8 @@
"@fontsource-variable/inter": "5.1.1",
"@fontsource/fira-code": "5.2.5",
"@fontsource/ibm-plex-mono": "5.1.1",
"@fontsource/jetbrains-mono": "5.2.5",
"@fontsource/source-code-pro": "5.2.5",
"@monaco-editor/react": "4.6.0",
"@mui/icons-material": "5.16.14",
"@mui/lab": "5.0.0-alpha.175",
Expand Down
16 changes: 16 additions & 0 deletionssite/pnpm-lock.yaml
View file
Open in desktop

Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.

9 changes: 8 additions & 1 deletionsite/src/api/typesGenerated.ts
View file
Open in desktop

Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.

View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,7 +16,11 @@ import { Stack } from "components/Stack/Stack";
import { ThemeOverride } from "contexts/ThemeProvider";
import type { FC } from "react";
import themes, { DEFAULT_THEME, type Theme } from "theme";
import { DEFAULT_TERMINAL_FONT, terminalFontLabels } from "theme/constants";
import {
DEFAULT_TERMINAL_FONT,
terminalFontLabels,
terminalFonts,
} from "theme/constants";
import { Section } from "../Section";

export interface AppearanceFormProps {
Expand DownExpand Up@@ -115,7 +119,7 @@ export const AppearanceForm: FC<AppearanceFormProps> = ({
value={name}
control={<Radio />}
label={
<div css={{ fontFamily:terminalFontLabels[name] }}>
<div css={{ fontFamily:terminalFonts[name] }}>
{terminalFontLabels[name]}
</div>
}
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -51,8 +51,8 @@ describe("appearance page", () => {
theme_preference: "dark",
});

constibmPlex = await screen.findByText("Fira Code");
await userEvent.click(ibmPlex);
constfiraCode = await screen.findByText("Fira Code");
await userEvent.click(firaCode);

// Check if the API was called correctly
expect(API.updateAppearanceSettings).toHaveBeenCalledTimes(1);
Expand All@@ -61,4 +61,44 @@ describe("appearance page", () => {
theme_preference: "dark",
});
});

it("changes font to fira code, then back to web terminal font", async () => {
renderWithAuth(<AppearancePage />);

// given
jest
.spyOn(API, "updateAppearanceSettings")
.mockResolvedValueOnce({
...MockUser,
terminal_font: "fira-code",
theme_preference: "dark",
})
.mockResolvedValueOnce({
...MockUser,
terminal_font: "ibm-plex-mono",
theme_preference: "dark",
});

// when
const firaCode = await screen.findByText("Fira Code");
await userEvent.click(firaCode);

// then
expect(API.updateAppearanceSettings).toHaveBeenCalledTimes(1);
expect(API.updateAppearanceSettings).toHaveBeenCalledWith({
terminal_font: "fira-code",
theme_preference: "dark",
});

// when
const ibmPlex = await screen.findByText("Web Terminal Font");
await userEvent.click(ibmPlex);

// then
expect(API.updateAppearanceSettings).toHaveBeenCalledTimes(2);
expect(API.updateAppearanceSettings).toHaveBeenNthCalledWith(2, {
terminal_font: "ibm-plex-mono",
theme_preference: "dark",
});
});
});
12 changes: 11 additions & 1 deletionsite/src/theme/constants.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,13 +7,23 @@ export const BODY_FONT_FAMILY = `"Inter Variable", system-ui, sans-serif`;

export const terminalFonts: Record<TerminalFontName, string> = {
"fira-code": MONOSPACE_FONT_FAMILY.replace("IBM Plex Mono", "Fira Code"),
"jetbrains-mono": MONOSPACE_FONT_FAMILY.replace(
"IBM Plex Mono",
"JetBrains Mono",
),
"source-code-pro": MONOSPACE_FONT_FAMILY.replace(
"IBM Plex Mono",
"Source Code Pro",
),
"ibm-plex-mono": MONOSPACE_FONT_FAMILY,

"": MONOSPACE_FONT_FAMILY,
};
export const terminalFontLabels: Record<TerminalFontName, string> = {
"fira-code": "Fira Code",
"ibm-plex-mono": "IBM Plex Mono",
"jetbrains-mono": "JetBrains Mono",
"source-code-pro": "Source Code Pro",
"ibm-plex-mono": "Web Terminal Font",
"": "", // needed for enum completeness, otherwise fails the build
};
export const DEFAULT_TERMINAL_FONT = "ibm-plex-mono";
Expand Down
6 changes: 5 additions & 1 deletionsite/src/theme/globalFonts.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,10 @@ import "@fontsource/ibm-plex-mono/400.css";
import "@fontsource/ibm-plex-mono/600.css";
// Main body copy font
import "@fontsource-variable/inter";
// Alternativefont for Terminal
// Alternativefonts for Terminal
import "@fontsource/fira-code/400.css";
import "@fontsource/fira-code/600.css";
import "@fontsource/source-code-pro/400.css";
import "@fontsource/source-code-pro/600.css";
import "@fontsource/jetbrains-mono/400.css";
import "@fontsource/jetbrains-mono/600.css";
Loading

[8]ページ先頭

©2009-2025 Movatter.jp