mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2024-09-20 07:16:17 +08:00
fix(custom font): allow underscore in custom-font's name (@NadAlaba)
This commit is contained in:
parent
93d6fff895
commit
693418b91b
|
@ -18,7 +18,8 @@ const commands: MonkeyTypes.Command[] = [
|
|||
|
||||
function update(fonts: MonkeyTypes.FontObject[]): void {
|
||||
fonts.forEach((font) => {
|
||||
const configVal = font.name.replace(/ /g, "_");
|
||||
const configFontName = font.name.replace(/_/g, "__").replace(/ /g, "_");
|
||||
const configVal = configFontName;
|
||||
|
||||
const customData: Record<string, string | boolean> = {
|
||||
name: font.name,
|
||||
|
@ -31,7 +32,7 @@ function update(fonts: MonkeyTypes.FontObject[]): void {
|
|||
customData["isSystem"] = font.systemFont ?? false;
|
||||
|
||||
subgroup.list.push({
|
||||
id: "changeFont" + font.name.replace(/ /g, "_"),
|
||||
id: "changeFont" + configFontName,
|
||||
display: font.display !== undefined ? font.display : font.name,
|
||||
configValue: configVal,
|
||||
customData,
|
||||
|
@ -39,7 +40,7 @@ function update(fonts: MonkeyTypes.FontObject[]): void {
|
|||
UI.previewFontFamily(font.name);
|
||||
},
|
||||
exec: (): void => {
|
||||
UpdateConfig.setFontFamily(font.name.replace(/ /g, "_"));
|
||||
UpdateConfig.setFontFamily(configFontName);
|
||||
},
|
||||
});
|
||||
});
|
||||
|
@ -52,7 +53,7 @@ function update(fonts: MonkeyTypes.FontObject[]): void {
|
|||
},
|
||||
exec: ({ input }) => {
|
||||
if (input === undefined || input === "") return;
|
||||
UpdateConfig.setFontFamily(input.replace(/\s/g, "_"));
|
||||
UpdateConfig.setFontFamily(input.replace(/_/g, "__").replace(/\s/g, "_"));
|
||||
// Settings.groups.fontFamily.updateInput();
|
||||
},
|
||||
});
|
||||
|
|
|
@ -1255,7 +1255,9 @@ export function setFontFamily(
|
|||
config.fontFamily = font;
|
||||
document.documentElement.style.setProperty(
|
||||
"--font",
|
||||
`"${font.replace(/_/g, " ")}", "Roboto Mono", "Vazirmatn", monospace`
|
||||
`"${font
|
||||
.replace(/(?<!_)_(?!_)/g, " ")
|
||||
.replace(/__/g, "_")}", "Roboto Mono", "Vazirmatn", monospace`
|
||||
);
|
||||
saveToLocalStorage("fontFamily", nosave);
|
||||
ConfigEvent.dispatch("fontFamily", config.fontFamily);
|
||||
|
|
|
@ -892,7 +892,9 @@ list.applyCustomFont = new SimpleModal({
|
|||
text: "Make sure you have the font installed on your computer before applying",
|
||||
buttonText: "apply",
|
||||
execFn: async (_thisPopup, fontName): Promise<ExecReturn> => {
|
||||
Settings.groups["fontFamily"]?.setValue(fontName.replace(/\s/g, "_"));
|
||||
Settings.groups["fontFamily"]?.setValue(
|
||||
fontName.replace(/_/g, "__").replace(/\s/g, "_")
|
||||
);
|
||||
|
||||
return {
|
||||
status: 1,
|
||||
|
|
|
@ -652,17 +652,15 @@ async function fillSettingsPage(): Promise<void> {
|
|||
const activeClass = Config.fontFamily === font.name ? " active" : "";
|
||||
const display = font.display !== undefined ? font.display : font.name;
|
||||
if (Config.fontFamily === font.name) isCustomFont = false;
|
||||
fontsElHTML += `<button class="${activeClass}" style="font-family:${fontFamily}" data-config-value="${font.name.replace(
|
||||
/ /g,
|
||||
"_"
|
||||
)}">${display}</button>`;
|
||||
fontsElHTML += `<button class="${activeClass}" style="font-family:${fontFamily}" data-config-value="${font.name
|
||||
.replace(/_/g, "__")
|
||||
.replace(/ /g, "_")}">${display}</button>`;
|
||||
}
|
||||
|
||||
fontsElHTML += isCustomFont
|
||||
? `<button class="no-auto-handle active" data-config-value="custom">Custom (${Config.fontFamily.replace(
|
||||
/_/g,
|
||||
" "
|
||||
)})</button>`
|
||||
? `<button class="no-auto-handle active" data-config-value="custom">Custom (${Config.fontFamily
|
||||
.replace(/(?<!_)_(?!_)/g, " ")
|
||||
.replace(/__/g, "_")})</button>`
|
||||
: '<button class="no-auto-handle" data-config-value="custom"">Custom</button>';
|
||||
|
||||
fontsEl.innerHTML = fontsElHTML;
|
||||
|
|
Loading…
Reference in a new issue