diff --git a/src/AuthContext/AuthContextProvider.tsx b/src/AuthContext/AuthContextProvider.tsx index b9a3345..88dc19d 100644 --- a/src/AuthContext/AuthContextProvider.tsx +++ b/src/AuthContext/AuthContextProvider.tsx @@ -4,7 +4,6 @@ import {AxiosError} from "axios" import {decrypt, readMessage, readPrivateKey} from "openpgp" import {useMutation} from "@tanstack/react-query" -import AuthContext, {AuthContextType, EncryptionStatus} from "./AuthContext" import {ServerUser, User} from "~/server-types" 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 PasswordShareConfirmationDialog from "~/AuthContext/PasswordShareConfirmationDialog" +import AuthContext, {AuthContextType, EncryptionStatus} from "./AuthContext" + export interface AuthContextProviderProps { children: ReactNode } @@ -225,7 +226,18 @@ export default function AuthContextProvider({children}: AuthContextProviderProps break case "ask-for-password": setAskForPassword(true) - + break + case "get-user": + window.dispatchEvent( + new CustomEvent("kleckrelay-blob", { + detail: { + type: "get-user", + data: { + user: user, + }, + }, + }), + ) break } }, diff --git a/src/extension-types.ts b/src/extension-types.ts index 70521f9..8f550dd 100644 --- a/src/extension-types.ts +++ b/src/extension-types.ts @@ -1,17 +1,19 @@ interface ExtensionKleckMessagePasswordAvailable { type: "password-available" - data: { - isAvailable: boolean - } } interface ExtensionKleckMessageAskForPassword { type: "ask-for-password" } +interface ExtensionKleckMessageUser { + type: "get-user" +} + export type ExtensionKleckMessage = | ExtensionKleckMessagePasswordAvailable | ExtensionKleckMessageAskForPassword + | ExtensionKleckMessageUser export type ExtensionKleckEvent = MessageEvent & { detail: ExtensionKleckMessage