import { http, HttpResponse } from "msw"; import preview from "../../.storybook/preview.tsx"; import { Failure, Pending, Success } from "../async-op.ts"; import { QRCode } from "./QRCode.tsx"; const meta = preview.meta({ title: "Components/QR Code", component: QRCode, tags: ["autodocs"], args: { url: new Success("example.com"), }, parameters: { msw: { handlers: { qr: http.get("http://mock.api/qr", async () => { const svg = ``; const { buffer } = new TextEncoder().encode(svg); return HttpResponse.arrayBuffer(buffer, { headers: { "Content-Type": "image/svg+xml" }, }); }), }, }, }, }); export const SuccessCase = meta.story({}); export const PendingCase = meta.story({ args: { url: new Pending(), }, }); export const FailureCase = meta.story({ args: { url: new Failure("Failed"), }, });