import { inject, type InjectionKey } from 'vue' export interface MinecraftLaunchErrorPayload { instance_id: string instance_name: string } export type MinecraftLaunchErrorHandler = ( error: unknown, payload: MinecraftLaunchErrorPayload, ) => Promise export const minecraftLaunchErrorKey: InjectionKey = Symbol('minecraft-launch-error') export function useMinecraftLaunchError(): MinecraftLaunchErrorHandler { const handler = inject(minecraftLaunchErrorKey) return async (error, payload) => (await handler?.(error, payload)) ?? false }