This commit is contained in:
Rizky 2024-05-15 14:57:15 +07:00
parent 06a8d6e482
commit 9397ebc5ca
3 changed files with 144 additions and 140 deletions

File diff suppressed because one or more lines are too long

View File

@ -75,6 +75,37 @@ export const initExtNotif = async (vi: VG, prasi_ext: PrasiExt) => {
switch (data.type) { switch (data.type) {
case "notification-token": case "notification-token":
prasi_ext.notif = { token: data.token }; prasi_ext.notif = { token: data.token };
w.notif = {
async send(data: NOTIF_ARG) {
if (vi && vi.site.api) {
return await vi.site.api._notif("send", {
type: "send",
id:
typeof data.user_id === "string"
? data.user_id
: data.user_id.toString(),
body: data.body,
title: data.title,
data: data.data,
});
}
},
async register(user_id: any) {
if (vi && vi.site.api && prasi_ext.notif?.token) {
return await vi.site.api._notif("register", {
type: "register",
id:
typeof user_id === "string"
? user_id
: user_id.toString(),
token: prasi_ext.notif.token,
});
}
},
onReceive(notif) {},
onTap(notif) {},
};
break; break;
case "notification-tap": case "notification-tap":
if (!w.notif?.onTap) { if (!w.notif?.onTap) {
@ -111,38 +142,5 @@ export const initExtNotif = async (vi: VG, prasi_ext: PrasiExt) => {
}); });
window.parent.postMessage({ mobile: true, type: "ready" }, "*"); window.parent.postMessage({ mobile: true, type: "ready" }, "*");
w.notif = {
async send() {},
register() {},
onReceive(notif) {},
onTap(notif) {},
};
w.notif.register = async (user_id: any) => {
await waitUntil(() => prasi_ext.notif?.token);
if (vi && vi.site.api && prasi_ext.notif?.token) {
return await vi.site.api._notif("register", {
type: "register",
id: typeof user_id === "string" ? user_id : user_id.toString(),
token: prasi_ext.notif.token,
});
}
};
}
if (w.notif) {
w.notif.send = async (data: NOTIF_ARG) => {
if (vi && vi.site.api) {
return await vi.site.api._notif("send", {
type: "send",
id:
typeof data.user_id === "string"
? data.user_id
: data.user_id.toString(),
body: data.body,
title: data.title,
data: data.data,
});
}
};
} }
}; };

View File

@ -30,6 +30,9 @@ await build({
}, },
}); });
const build_all =
process.argv[process.argv.length - 1] === "main" ? false : true;
if (build_all) {
const glob = new Glob("**"); const glob = new Glob("**");
const public_files = [] as string[]; const public_files = [] as string[];
for await (const file of glob.scan(dir.path("app/web/public"))) { for await (const file of glob.scan(dir.path("app/web/public"))) {
@ -68,7 +71,9 @@ await parcel.exited;
const public_br = dir.path("app/web/public-br"); const public_br = dir.path("app/web/public-br");
if (!(await existsAsync(public_br))) { if (!(await existsAsync(public_br))) {
const api = new fdir().withRelativePaths().crawl(dir.path("app/web/public")); const api = new fdir()
.withRelativePaths()
.crawl(dir.path("app/web/public"));
const files = api.sync(); const files = api.sync();
if (files) { if (files) {
await Promise.all( await Promise.all(
@ -131,3 +136,4 @@ if (files) {
); );
} }
} }
}