wuhu-torn-helper/src/ts/class/action/SearchHelper.ts
2023-04-03 18:00:41 +08:00

40 lines
1.5 KiB
TypeScript

import TornStyleBlock from "../utils/TornStyleBlock";
import TornStyleSwitch from "../utils/TornStyleSwitch";
import CommonUtils from "../utils/CommonUtils";
import ClassName from "../../container/ClassName";
import { Injectable } from "../../container/Injectable";
import LocalConfigWrapper from "../LocalConfigWrapper";
@ClassName('SearchHelper')
@Injectable()
export default class SearchHelper {
constructor(
private readonly localConfigWrapper: LocalConfigWrapper,
) {
}
public init(): void {
let block = new TornStyleBlock('搜索助手');
let placeholderSwitch = new TornStyleSwitch('底部空白占位区');
block.append(placeholderSwitch.getBase()).insert2Dom();
CommonUtils.addStyle('body.WHSearchPagePlaceholder .content.logged-in {margin-bottom: 340px;}');
let config = this.localConfigWrapper.config.SearchPagePlaceholder;
placeholderSwitch.getInput().checked = config || false;
config ? this.enable() : this.disable();
placeholderSwitch.getInput().addEventListener('change', () => {
placeholderSwitch.getInput().checked ? this.enable() : this.disable();
});
}
private enable(): void {
document.body.classList.add('WHSearchPagePlaceholder');
this.localConfigWrapper.config.SearchPagePlaceholder = true;
}
private disable(): void {
document.body.classList.remove('WHSearchPagePlaceholder');
this.localConfigWrapper.config.SearchPagePlaceholder = false;
}
}