add screens for the shortcuts for the BVC group (doesn't submit yet)

This commit is contained in:
2024-02-24 18:38:11 -07:00
parent 6aab1ff49d
commit 866dcb3a2a
10 changed files with 667 additions and 14 deletions

View File

@@ -299,7 +299,7 @@
<label
for="toggleShowAmounts"
class="flex items-center justify-between cursor-pointer my-4"
@click="handleChange"
@click="toggleShowContactAmounts"
>
<!-- label -->
<span class="text-slate-500 text-sm font-bold">Contacts Display</span>
@@ -439,6 +439,28 @@
{{ DEFAULT_PUSH_SERVER }}
</span>
<label
for="toggleShowShortcutBvc"
class="flex items-center justify-between cursor-pointer my-4"
@click="toggleShowShortcutBvc"
>
<!-- label -->
<span class="text-slate-500 text-sm font-bold"
>Show Shortcut on Home Page</span
>
<!-- toggle -->
<div class="relative ml-2">
<!-- input -->
<input type="checkbox" v-model="showShortcutBvc" class="sr-only" />
<!-- line -->
<div class="block bg-slate-500 w-14 h-8 rounded-full"></div>
<!-- dot -->
<div
class="dot absolute left-1 top-1 bg-slate-400 w-6 h-6 rounded-full transition"
></div>
</div>
</label>
<div class="mt-4">
<h2 class="text-slate-500 text-sm font-bold">
Contacts & Settings Database
@@ -537,6 +559,7 @@ export default class AccountViewView extends Vue {
showB64Copy = false;
showPubCopy = false;
showAdvanced = false;
showShortcutBvc = false;
subscription: PushSubscription | null = null;
warnIfProdServer = false;
warnIfTestServer = false;
@@ -596,6 +619,7 @@ export default class AccountViewView extends Vue {
(settings?.lastName ? ` ${settings.lastName}` : ""); // pre v 0.1.3
this.isRegistered = !!settings?.isRegistered;
this.showContactGives = !!settings?.showContactGivesInline;
this.showShortcutBvc = !!settings?.showShortcutBvc;
this.warnIfProdServer = !!settings?.warnIfProdServer;
this.warnIfTestServer = !!settings?.warnIfTestServer;
this.webPushServer = (settings?.webPushServer as string) || "";
@@ -653,7 +677,7 @@ export default class AccountViewView extends Vue {
.then(() => setTimeout(fn, 2000));
}
handleChange() {
toggleShowContactAmounts() {
this.showContactGives = !this.showContactGives;
this.updateShowContactAmounts();
}
@@ -668,6 +692,11 @@ export default class AccountViewView extends Vue {
this.updateWarnIfTestServer(this.warnIfTestServer);
}
toggleShowShortcutBvc() {
this.showShortcutBvc = !this.showShortcutBvc;
this.updateShowShortcutBvc(this.showShortcutBvc);
}
readableTime(timeStr: string) {
return timeStr.substring(0, timeStr.indexOf("T"));
}
@@ -763,7 +792,7 @@ export default class AccountViewView extends Vue {
-1,
);
console.error(
"Telling user to try again after contact setting update because:",
"Telling user to try again after contact-amounts setting update because:",
err,
);
}
@@ -786,7 +815,7 @@ export default class AccountViewView extends Vue {
-1,
);
console.error(
"Telling user to try again after setting update because:",
"Telling user to try again after prod-server-warning setting update because:",
err,
);
}
@@ -809,7 +838,30 @@ export default class AccountViewView extends Vue {
-1,
);
console.error(
"Telling user to try again after setting update because:",
"Telling user to try again after test-server-warning setting update because:",
err,
);
}
}
public async updateShowShortcutBvc(newSetting: boolean) {
try {
await db.open();
db.settings.update(MASTER_SETTINGS_KEY, {
showShortcutBvc: newSetting,
});
} catch (err) {
this.$notify(
{
group: "alert",
type: "danger",
title: "Error Updating BVC Shortcut Setting",
text: "The setting may not have saved. Try again, maybe after restarting the app.",
},
-1,
);
console.error(
"Telling user to try again after BVC-shortcut setting update because:",
err,
);
}