import type { Cookie } from "@yaakapp-internal/models"; import { cookieJarsAtom, patchModel } from "@yaakapp-internal/models"; import { useAtomValue } from "jotai"; import { cookieDomain } from "../lib/model_util"; import { Banner } from "./core/Banner"; import { IconButton } from "./core/IconButton"; import { InlineCode } from "./core/InlineCode"; interface Props { cookieJarId: string | null; } export const CookieDialog = ({ cookieJarId }: Props) => { const cookieJars = useAtomValue(cookieJarsAtom); const cookieJar = cookieJars?.find((c) => c.id === cookieJarId); if (cookieJar == null) { return
No cookie jar selected
; } if (cookieJar.cookies.length === 0) { return ( Cookies will appear when a response contains the Set-Cookie header ); } return (
{cookieJar?.cookies.map((c: Cookie) => ( ))}
Domain Cookie
{cookieDomain(c)} {c.raw_cookie} patchModel(cookieJar, { cookies: cookieJar.cookies.filter((c2: Cookie) => c2 !== c), }) } />
); };