diff --git a/packages/frontend/src/scripts/post-message.ts b/packages/frontend/src/scripts/post-message.ts index 6f63d3c7da..3f94988493 100644 --- a/packages/frontend/src/scripts/post-message.ts +++ b/packages/frontend/src/scripts/post-message.ts @@ -11,10 +11,18 @@ export const postMessageEventTypes = [ export type PostMessageEventType = typeof postMessageEventTypes[number]; -export type MiPostMessageEvent = { - type: PostMessageEventType; +export interface PostMessageEventPayload extends Record { + 'misskey:shareForm:shareCompleted': undefined; + 'misskey:embed:ready': undefined; + 'misskey:embed:changeHeight': { + height: number; + }; +}; + +export type MiPostMessageEvent = { + type: T; iframeId?: string; - payload?: any; + payload?: PostMessageEventPayload[T]; }; let defaultIframeId: string | null = null; @@ -27,7 +35,7 @@ export function setIframeId(id: string): void { /** * 親フレームにイベントを送信 */ -export function postMessageToParentWindow(type: PostMessageEventType, payload?: any, iframeId: string | null = null): void { +export function postMessageToParentWindow(type: T, payload?: PostMessageEventPayload[T], iframeId: string | null = null): void { let _iframeId = iframeId; if (_iframeId == null) { _iframeId = defaultIframeId;