2021-04-18 11:05:43 +01:00
|
|
|
import { Page } from "../types/Page.js";
|
2021-04-29 10:38:42 +01:00
|
|
|
import { addClipboardNotifications, setErrorText, setPageContent, changePage } from "../pageUtils.js";
|
2021-04-18 11:05:43 +01:00
|
|
|
import { makeElement } from "../htmlUtils.js";
|
|
|
|
import { getToken } from "../utils.js";
|
|
|
|
import { renewSelf } from "../api.js";
|
|
|
|
import ClipboardJS from "clipboard";
|
2021-04-18 11:52:24 +01:00
|
|
|
import i18next from 'i18next';
|
2021-04-18 11:05:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
export class MePage extends Page {
|
|
|
|
constructor() {
|
|
|
|
super();
|
|
|
|
}
|
2021-04-18 11:52:24 +01:00
|
|
|
|
2021-04-18 11:05:43 +01:00
|
|
|
async render() {
|
|
|
|
setPageContent(makeElement({
|
|
|
|
tag: "ul",
|
|
|
|
class: "uk-nav",
|
|
|
|
children: [
|
|
|
|
makeElement({
|
|
|
|
tag: "li",
|
|
|
|
children: makeElement({
|
|
|
|
tag: "a",
|
2021-04-18 11:52:24 +01:00
|
|
|
text: i18next.t("log_out_btn"),
|
2021-04-18 11:05:43 +01:00
|
|
|
onclick: () => {
|
2021-04-30 10:38:23 +01:00
|
|
|
pageState.token = "";
|
2021-04-18 11:05:43 +01:00
|
|
|
changePage("HOME");
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}),
|
|
|
|
makeElement({
|
|
|
|
tag: "li",
|
|
|
|
children: makeElement({
|
|
|
|
tag: "a",
|
2021-04-18 11:52:24 +01:00
|
|
|
text: i18next.t("copy_token_btn"),
|
2021-04-18 11:05:43 +01:00
|
|
|
attributes: {
|
|
|
|
"data-clipboard-text": getToken(),
|
|
|
|
},
|
|
|
|
thenRun: (e) => {
|
2021-04-29 10:38:42 +01:00
|
|
|
let clipboard = new ClipboardJS(e);
|
|
|
|
addClipboardNotifications(clipboard);
|
2021-04-18 11:05:43 +01:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}),
|
|
|
|
makeElement({
|
|
|
|
tag: "li",
|
|
|
|
children: makeElement({
|
|
|
|
tag: "a",
|
2021-04-18 11:52:24 +01:00
|
|
|
text: i18next.t("renew_lease_btn"),
|
2021-04-18 11:05:43 +01:00
|
|
|
onclick: () => {
|
|
|
|
renewSelf().then(() => {
|
|
|
|
changePage("HOME");
|
|
|
|
}).catch(e => {
|
|
|
|
setErrorText(e.message);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
})
|
2021-04-19 20:17:07 +01:00
|
|
|
}),
|
|
|
|
makeElement({
|
|
|
|
tag: "li",
|
|
|
|
children: makeElement({
|
|
|
|
tag: "a",
|
|
|
|
text: i18next.t("change_language_btn"),
|
|
|
|
onclick: () => {
|
|
|
|
changePage("SET_LANGUAGE");
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}),
|
2021-04-18 11:05:43 +01:00
|
|
|
]
|
|
|
|
}));
|
|
|
|
}
|
|
|
|
|
|
|
|
get name() {
|
2021-04-18 11:52:24 +01:00
|
|
|
return i18next.t("me_page_title");
|
2021-04-18 11:05:43 +01:00
|
|
|
}
|
|
|
|
}
|