mirror of
https://github.com/Myzel394/kleckrelay-website.git
synced 2025-06-19 07:55:25 +02:00
improving communication between extension and website
This commit is contained in:
parent
da58320e5c
commit
01918c97c7
@ -4,7 +4,6 @@ import {AxiosError} from "axios"
|
|||||||
import {decrypt, readMessage, readPrivateKey} from "openpgp"
|
import {decrypt, readMessage, readPrivateKey} from "openpgp"
|
||||||
|
|
||||||
import {useMutation} from "@tanstack/react-query"
|
import {useMutation} from "@tanstack/react-query"
|
||||||
import AuthContext, {AuthContextType, EncryptionStatus} from "./AuthContext"
|
|
||||||
|
|
||||||
import {ServerUser, User} from "~/server-types"
|
import {ServerUser, User} from "~/server-types"
|
||||||
import {REFRESH_TOKEN_URL, RefreshTokenResult, logout as logoutUser, refreshToken} from "~/apis"
|
import {REFRESH_TOKEN_URL, RefreshTokenResult, logout as logoutUser, refreshToken} from "~/apis"
|
||||||
@ -13,6 +12,8 @@ import {decryptString, encryptString} from "~/utils"
|
|||||||
import {ExtensionKleckEvent} from "~/extension-types"
|
import {ExtensionKleckEvent} from "~/extension-types"
|
||||||
import PasswordShareConfirmationDialog from "~/AuthContext/PasswordShareConfirmationDialog"
|
import PasswordShareConfirmationDialog from "~/AuthContext/PasswordShareConfirmationDialog"
|
||||||
|
|
||||||
|
import AuthContext, {AuthContextType, EncryptionStatus} from "./AuthContext"
|
||||||
|
|
||||||
export interface AuthContextProviderProps {
|
export interface AuthContextProviderProps {
|
||||||
children: ReactNode
|
children: ReactNode
|
||||||
}
|
}
|
||||||
@ -225,7 +226,18 @@ export default function AuthContextProvider({children}: AuthContextProviderProps
|
|||||||
break
|
break
|
||||||
case "ask-for-password":
|
case "ask-for-password":
|
||||||
setAskForPassword(true)
|
setAskForPassword(true)
|
||||||
|
break
|
||||||
|
case "get-user":
|
||||||
|
window.dispatchEvent(
|
||||||
|
new CustomEvent("kleckrelay-blob", {
|
||||||
|
detail: {
|
||||||
|
type: "get-user",
|
||||||
|
data: {
|
||||||
|
user: user,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
interface ExtensionKleckMessagePasswordAvailable {
|
interface ExtensionKleckMessagePasswordAvailable {
|
||||||
type: "password-available"
|
type: "password-available"
|
||||||
data: {
|
|
||||||
isAvailable: boolean
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ExtensionKleckMessageAskForPassword {
|
interface ExtensionKleckMessageAskForPassword {
|
||||||
type: "ask-for-password"
|
type: "ask-for-password"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface ExtensionKleckMessageUser {
|
||||||
|
type: "get-user"
|
||||||
|
}
|
||||||
|
|
||||||
export type ExtensionKleckMessage =
|
export type ExtensionKleckMessage =
|
||||||
| ExtensionKleckMessagePasswordAvailable
|
| ExtensionKleckMessagePasswordAvailable
|
||||||
| ExtensionKleckMessageAskForPassword
|
| ExtensionKleckMessageAskForPassword
|
||||||
|
| ExtensionKleckMessageUser
|
||||||
|
|
||||||
export type ExtensionKleckEvent = MessageEvent & {
|
export type ExtensionKleckEvent = MessageEvent & {
|
||||||
detail: ExtensionKleckMessage
|
detail: ExtensionKleckMessage
|
||||||
|
Loading…
x
Reference in New Issue
Block a user