40 lines
1.5 KiB
TypeScript
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;
|
|
}
|
|
}
|