allow to customize the push-server for testing

This commit is contained in:
2023-11-12 11:35:36 -07:00
parent fc70a11bd8
commit 65a5edf26b
5 changed files with 115 additions and 21 deletions

View File

@@ -263,19 +263,59 @@
import { Vue, Component } from "vue-facing-decorator";
import axios from "axios";
import { AppString } from "@/constants/app";
import { db } from "@/db/index";
import { MASTER_SETTINGS_KEY } from "@/db/tables/settings";
interface Notification {
group: string;
type: string;
title: string;
text: string;
}
@Component
export default class App extends Vue {
$notify!: (notification: Notification, timeout?: number) => void;
b64 = "";
mounted() {
axios
.get("https://timesafari-pwa.anomalistlabs.com/web-push/vapid")
.then((response) => {
this.b64 = response.data.vapidKey;
console.log(this.b64);
})
.catch((error) => {
console.error("API error", error);
async mounted() {
try {
await db.open();
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
let pushUrl: string = AppString.DEFAULT_PUSH_SERVER;
if (settings?.pushServer) {
pushUrl = settings.pushServer;
}
await axios.get(pushUrl + "/web-push/vapid").then((response) => {
this.b64 = response.data?.vapidKey;
console.log("Got vapid key:", this.b64);
});
if (!this.b64) {
this.$notify(
{
group: "alert",
type: "danger",
title: "Error Setting Notifications",
text: "Could not set notifications.",
},
-1,
);
}
} catch (error) {
console.error("Got an error initializing notifications:", error);
this.$notify(
{
group: "alert",
type: "danger",
title: "Error Setting Notifications",
text: "Got an error setting notifications.",
},
-1,
);
}
}
private askPermission(): Promise<NotificationPermission> {