Merge remote-tracking branch 'pheiduck/main' into rebase-pheiduck

This commit is contained in:
Peter Lewis 2023-12-21 14:25:54 +00:00
commit aa939d876c
No known key found for this signature in database
29 changed files with 3466 additions and 680 deletions

View file

@ -45,6 +45,8 @@ new Vue({
currentRelease: null,
latestRelease: null,
isDark: null,
chartOptions: {
chart: {
background: 'transparent',
@ -112,7 +114,7 @@ new Vue({
},
},
methods: {
dateTime: value => {
dateTime: (value) => {
return new Intl.DateTimeFormat(undefined, {
year: 'numeric',
month: 'short',
@ -127,9 +129,9 @@ new Vue({
if (!this.authenticated) return;
const clients = await this.api.getClients();
this.clients = clients.map(client => {
this.clients = clients.map((client) => {
if (client.name.includes('@') && client.name.includes('.')) {
client.avatar = `https://www.gravatar.com/avatar/${md5(client.name)}?d=blank`;
client.avatar = `https://www.gravatar.com/avatar/${sha512(client.name)}?d=blank`;
}
if (!this.clientsPersist[client.id]) {
@ -186,7 +188,7 @@ new Vue({
this.requiresPassword = session.requiresPassword;
return this.refresh();
})
.catch(err => {
.catch((err) => {
alert(err.message || err.toString());
})
.finally(() => {
@ -202,7 +204,7 @@ new Vue({
this.authenticated = false;
this.clients = null;
})
.catch(err => {
.catch((err) => {
alert(err.message || err.toString());
});
},
@ -211,54 +213,69 @@ new Vue({
if (!name) return;
this.api.createClient({ name })
.catch(err => alert(err.message || err.toString()))
.catch((err) => alert(err.message || err.toString()))
.finally(() => this.refresh().catch(console.error));
},
deleteClient(client) {
this.api.deleteClient({ clientId: client.id })
.catch(err => alert(err.message || err.toString()))
.catch((err) => alert(err.message || err.toString()))
.finally(() => this.refresh().catch(console.error));
},
enableClient(client) {
this.api.enableClient({ clientId: client.id })
.catch(err => alert(err.message || err.toString()))
.catch((err) => alert(err.message || err.toString()))
.finally(() => this.refresh().catch(console.error));
},
disableClient(client) {
this.api.disableClient({ clientId: client.id })
.catch(err => alert(err.message || err.toString()))
.catch((err) => alert(err.message || err.toString()))
.finally(() => this.refresh().catch(console.error));
},
updateClientName(client, name) {
this.api.updateClientName({ clientId: client.id, name })
.catch(err => alert(err.message || err.toString()))
.catch((err) => alert(err.message || err.toString()))
.finally(() => this.refresh().catch(console.error));
},
updateClientAddress(client, address) {
this.api.updateClientAddress({ clientId: client.id, address })
.catch(err => alert(err.message || err.toString()))
.catch((err) => alert(err.message || err.toString()))
.finally(() => this.refresh().catch(console.error));
},
toggleTheme() {
if (this.isDark) {
localStorage.theme = 'light';
document.documentElement.classList.remove('dark');
} else {
localStorage.theme = 'dark';
document.documentElement.classList.add('dark');
}
this.isDark = !this.isDark;
},
},
filters: {
bytes,
timeago: value => {
timeago: (value) => {
return timeago().format(value);
},
},
mounted() {
this.isDark = false;
if (localStorage.theme === 'dark') {
this.isDark = true;
}
this.api = new API();
this.api.getSession()
.then(session => {
.then((session) => {
this.authenticated = session.authenticated;
this.requiresPassword = session.requiresPassword;
this.refresh({
updateCharts: true,
}).catch(err => {
}).catch((err) => {
alert(err.message || err.toString());
});
})
.catch(err => {
.catch((err) => {
alert(err.message || err.toString());
});