mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
const ManagerPage = require("./managerpage");
|
|
const ejs = require('ejs')
|
|
const { logger } = require("./filesystem")
|
|
const fs = require("fs");
|
|
const { showErrorPopup } = require("./popup");
|
|
|
|
class WelcomePage extends ManagerPage {
|
|
constructor(manager, options) {
|
|
super(manager, options);
|
|
}
|
|
|
|
render(str) {
|
|
const element = this.getElement();
|
|
element.innerHTML = str;
|
|
|
|
element.querySelector(".basic").addEventListener("click", (e) => this.onbasicClicked(e));
|
|
element.querySelector(".advanced").addEventListener("click", (e) => this.onAdvancedClicked(e));
|
|
|
|
super.render();
|
|
}
|
|
|
|
show(previousPage) {
|
|
ejs.renderFile("./ejs/welcome.ejs", {...this.options, ...this.manager.options}, {}, (err, str) => {
|
|
if (!err) {
|
|
this.render(str);
|
|
} else {
|
|
logger.error(err);
|
|
}
|
|
});
|
|
|
|
super.show(previousPage);
|
|
}
|
|
|
|
onbasicClicked(e) {
|
|
this.createOptionsFile("basic");
|
|
}
|
|
|
|
onAdvancedClicked(e) {
|
|
this.createOptionsFile("advanced");
|
|
}
|
|
|
|
createOptionsFile(mode) {
|
|
try {
|
|
fs.writeFileSync("options.json", JSON.stringify({mode: mode}));
|
|
location.reload();
|
|
} catch (e) {
|
|
showErrorPopup(`A critical error occurred, check ${this.manager.options.logLocation} for more info.`)
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = WelcomePage; |