@kitten-science/kitten-scientists
Version:
Add-on for the wonderful incremental browser game: https://kittensgame.com/web/
67 lines • 3.7 kB
JavaScript
import { Icons } from "../images/Icons.js";
import { ksVersion } from "../KittenScientists.js";
import { cl } from "../tools/Log.js";
import { ButtonListItem } from "./components/ButtonListItem.js";
import { Container } from "./components/Container.js";
import { Delimiter } from "./components/Delimiter.js";
import { Dialog } from "./components/Dialog.js";
import { LabelListItem } from "./components/LabelListItem.js";
import stylesLabelListItem from "./components/LabelListItem.module.css";
import { OptionsListItem } from "./components/OptionsListItem.js";
import { SettingListItem } from "./components/SettingListItem.js";
import stylesSettingListItem from "./components/SettingListItem.module.css";
import { SettingsList } from "./components/SettingsList.js";
import { SettingsPanel } from "./components/SettingsPanel.js";
import { TextButton } from "./components/TextButton.js";
export class InternalsUi extends SettingsPanel {
constructor(parent, settings, locale) {
console.debug(...cl(`Constructing ${InternalsUi.name}`));
super(parent, settings, new LabelListItem(parent, parent.host.engine.i18n("ui.internals"), {
classes: [stylesSettingListItem.checked, stylesSettingListItem.setting],
icon: Icons.Settings,
}).addChildrenHead([new Container(parent, { classes: [stylesLabelListItem.fillSpace] })]));
this.addChildrenContent([
new SettingsList(parent, {
hasDisableAll: false,
hasEnableAll: false,
}).addChildren([
new ButtonListItem(parent, new TextButton(parent, parent.host.engine.i18n("ui.internals.interval", [settings.interval]), {
onClick: async () => {
const value = await Dialog.prompt(parent, parent.host.engine.i18n("ui.internals.interval.prompt"), parent.host.engine.i18n("ui.internals.interval.promptTitle", [
parent.host.renderAbsolute(settings.interval, locale.selected),
]), parent.host.renderAbsolute(settings.interval), parent.host.engine.i18n("ui.internals.interval.promptExplainer"));
if (value === undefined || value === "" || value.startsWith("-")) {
return;
}
if (value === "0") {
settings.enabled = false;
}
settings.interval = parent.host.parseAbsolute(value) ?? settings.interval;
},
onRefresh() {
this.element.text(parent.host.engine.i18n("ui.internals.interval", [settings.interval]));
},
})),
new Delimiter(parent),
new SettingListItem(parent, settings.ksColumn, parent.host.engine.i18n("ui.ksColumn"), {
onCheck: () => {
parent.host.rebuildUi();
},
onUnCheck: () => {
parent.host.rebuildUi();
},
}),
new SettingListItem(parent, settings.highlighStock, parent.host.engine.i18n("ui.highlightStock")),
new Delimiter(parent),
new OptionsListItem(parent, parent.host.engine.i18n("ui.language"), settings.locale, {
onCheck: () => {
parent.host.rebuildUi();
},
}),
new Delimiter(parent),
new LabelListItem(parent, `Kitten Scientists ${ksVersion("v")}`),
]),
]);
}
}
//# sourceMappingURL=InternalsUi.js.map