1
0
Fork 0
VaultUI/src/pages/Transit/TransitView.js

69 lines
1.7 KiB
JavaScript
Raw Normal View History

2021-05-03 09:25:42 +01:00
import { DoesNotExistError } from "../../types/internalErrors.js";
2021-04-17 10:45:42 +01:00
import { Page } from "../../types/Page.js";
2021-05-03 09:25:42 +01:00
import { changePage, setErrorText, setTitleElement } from "../../pageUtils.js";
import { getTransitKeys } from "../../api.js";
2021-04-17 10:45:42 +01:00
import { makeElement } from "../../htmlUtils.js";
import { pageState } from "../../globalPageState.js";
import i18next from 'i18next';
2021-04-15 15:09:43 +01:00
export class TransitViewPage extends Page {
constructor() {
super();
}
goBack() {
2021-04-17 11:24:43 +01:00
changePage("HOME");
2021-04-15 15:09:43 +01:00
}
async render() {
pageState.currentSecret = "";
setTitleElement(pageState);
let newButton = makeElement({
tag: "button",
text: "New",
class: ["uk-button", "uk-button-primary", "uk-margin-bottom"],
onclick: () => {
2021-04-17 11:24:43 +01:00
changePage("TRANSIT_NEW_KEY");
2021-04-15 15:09:43 +01:00
}
});
pageContent.appendChild(newButton);
try {
let res = await getTransitKeys(pageState.currentBaseMount);
pageContent.appendChild(makeElement({
tag: "ul",
class: ["uk-nav", "uk-nav-default"],
children: [
...res.map(function (secret) {
return makeElement({
tag: "li",
children: makeElement({
tag: "a",
text: secret,
onclick: _ => {
pageState.currentSecret = secret;
2021-04-17 11:24:43 +01:00
changePage("TRANSIT_VIEW_SECRET");
2021-04-15 15:09:43 +01:00
}
})
});
})
]
}));
} catch (e) {
if (e == DoesNotExistError) {
pageContent.appendChild(makeElement({
tag: "p",
text: i18next.t("transit_view_none_here_text")
2021-04-15 15:09:43 +01:00
}));
} else {
setErrorText(e.message);
}
}
}
get name() {
return i18next.t("transit_view_title");
2021-04-15 15:09:43 +01:00
}
}