Skip to content

Commit bae864b

Browse files
committed
refactor: Refactor handleAppMenu*()
1 parent 8233cc4 commit bae864b

1 file changed

Lines changed: 28 additions & 33 deletions

File tree

src/livecodes/core.ts

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3131,45 +3131,40 @@ const registerMenuButton = (menu: HTMLElement, button: HTMLElement) => {
31313131
};
31323132

31333133
const handleAppMenuProject = () => {
3134-
const menuProjectContainer = UI.getAppMenuProjectScroller();
3135-
const menuProjectButton = UI.getAppMenuProjectButton();
3136-
if (!menuProjectContainer || !menuProjectButton) return;
3137-
3138-
const html = isMac()
3139-
? menuProjectHTML.replace(/<kbd>Ctrl<\/kbd>/g, '<kbd>⌘</kbd>')
3140-
: menuProjectHTML;
3141-
menuProjectContainer.innerHTML = html;
3142-
translateElement(menuProjectContainer);
3143-
// adjustFontSize(menuProjectContainer);
3144-
registerMenuButton(menuProjectContainer, menuProjectButton);
3134+
setupAppMenu(UI.getAppMenuProjectScroller(), UI.getAppMenuProjectButton(), menuProjectHTML);
31453135
};
31463136

31473137
const handleAppMenuSettings = () => {
3148-
const menuSettingsContainer = UI.getAppMenuSettingsScroller();
3149-
const menuSettingsButton = UI.getAppMenuSettingsButton();
3150-
if (!menuSettingsContainer || !menuSettingsButton) return;
3151-
3152-
const html = isMac()
3153-
? menuSettingsHTML.replace(/<kbd>Ctrl<\/kbd>/g, '<kbd>⌘</kbd>')
3154-
: menuSettingsHTML;
3155-
menuSettingsContainer.innerHTML = html;
3156-
3157-
translateElement(menuSettingsContainer);
3158-
adjustFontSize(menuSettingsContainer);
3159-
registerMenuButton(menuSettingsContainer, menuSettingsButton);
3138+
setupAppMenu(
3139+
UI.getAppMenuSettingsScroller(),
3140+
UI.getAppMenuSettingsButton(),
3141+
menuSettingsHTML,
3142+
true,
3143+
);
31603144
};
31613145

31623146
const handleAppMenuHelp = () => {
3163-
const menuHelpContainer = UI.getAppMenuHelpScroller();
3164-
const menuHelpButton = UI.getAppMenuHelpButton();
3165-
if (!menuHelpContainer || !menuHelpButton) return;
3166-
3167-
const html = isMac() ? menuHelpHTML.replace(/<kbd>Ctrl<\/kbd>/g, '<kbd>⌘</kbd>') : menuHelpHTML;
3168-
menuHelpContainer.innerHTML = html;
3169-
menuHelpContainer.classList.add('hidden');
3170-
translateElement(menuHelpContainer);
3171-
// adjustFontSize(menuHelpContainer);
3172-
registerMenuButton(menuHelpContainer, menuHelpButton);
3147+
setupAppMenu(UI.getAppMenuHelpScroller(), UI.getAppMenuHelpButton(), menuHelpHTML);
3148+
};
3149+
3150+
const setupAppMenu = (
3151+
container: HTMLElement | null,
3152+
button: HTMLElement | null,
3153+
menuHTML: string,
3154+
shouldAdjustFontSize = false,
3155+
) => {
3156+
if (!container || !button) return;
3157+
3158+
const html = isMac() ? menuHTML.replace(/<kbd>Ctrl<\/kbd>/g, '<kbd>⌘</kbd>') : menuHTML;
3159+
3160+
container.innerHTML = html;
3161+
translateElement(container);
3162+
3163+
if (shouldAdjustFontSize) {
3164+
adjustFontSize(container);
3165+
}
3166+
3167+
registerMenuButton(container, button);
31733168
};
31743169

31753170
/**

0 commit comments

Comments
 (0)