(feat): improved mobile notifications
(feat): add lint rules (feat): improve markdown inline code box
This commit is contained in:
parent
336b9464c9
commit
4a841de073
35 changed files with 777 additions and 287 deletions
|
|
@ -5,7 +5,7 @@ import { useMTP } from "@tensamin/mtp";
|
|||
import { createContext, useEffect, useContext } from "react";
|
||||
import { toast as sonnerToast } from "sonner";
|
||||
import { Avatar, AvatarFallback, AvatarImage } from "@methanium/ui";
|
||||
import { isTauri } from "@tauri-apps/api/core";
|
||||
import { invoke, isTauri } from "@tauri-apps/api/core";
|
||||
import {
|
||||
isPermissionGranted as isTauriNotificationPermissionGranted,
|
||||
requestPermission as requestTauriNotificationPermission,
|
||||
|
|
@ -108,7 +108,30 @@ export default function Provider(props: { children: React.ReactNode }) {
|
|||
(await requestTauriNotificationPermission()) === "granted";
|
||||
|
||||
if (permissionGranted) {
|
||||
sendTauriNotification({ title: user.Display, body: content });
|
||||
let handledNatively = false;
|
||||
try {
|
||||
handledNatively = await invoke<boolean>(
|
||||
"mtp_post_message_notification",
|
||||
{
|
||||
senderId: user.UserId,
|
||||
sender: user.Display,
|
||||
body: content,
|
||||
avatar: user.Avatar,
|
||||
},
|
||||
);
|
||||
} catch (error) {
|
||||
log(
|
||||
1,
|
||||
"notifications",
|
||||
"red",
|
||||
"Failed to create native message notification",
|
||||
error,
|
||||
);
|
||||
}
|
||||
|
||||
if (!handledNatively) {
|
||||
sendTauriNotification({ title: user.Display, body: content });
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const hasPermissions = await requestNotificationPermission();
|
||||
|
|
|
|||
Loading…
Reference in a new issue