import {ipcRenderer} from "electron"; import type {HTML} from "../../../../common/html"; import {html} from "../../../../common/html"; import {generateNodeFromHTML} from "../../components/base"; interface BaseSectionProps { $element: HTMLElement; disabled?: boolean; value: boolean; clickHandler: () => void; } export function generateSettingOption(props: BaseSectionProps): void { const {$element, disabled, value, clickHandler} = props; $element.textContent = ""; const $optionControl = generateNodeFromHTML( generateOptionHTML(value, disabled), ); $element.append($optionControl); if (!disabled) { $optionControl.addEventListener("click", clickHandler); } } export function generateOptionHTML( settingOption: boolean, disabled?: boolean, ): HTML { const labelHTML = disabled ? html`` : html``; if (settingOption) { return html`
${labelHTML}
`; } return html`
${labelHTML}
`; } /* A method that in future can be used to create dropdown menus using ${optionsHTML} `; } export function reloadApp(): void { ipcRenderer.send("forward-message", "reload-viewer"); }