import type {Html} from "../../../../common/html"; import {html} from "../../../../common/html"; import {generateNodeFromHtml} from "../../components/base"; import {ipcRenderer} from "../../typed-ipc-renderer"; 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 ? // eslint-disable-next-line unicorn/template-indent html`` : html``; if (settingOption) { return html`