evOo-local/apps/web/e2e/fixtures/oo-atelier.tsx
cynarAI 63578bb645
feat(avatar): dress up any Oo in the Atelier on web and mobile (#143)
The Atelier replaces Avatar Studio: pick a species, colour, eyes,
glasses, hats, neckwear, arms and temperament, with every option drawn
as your own Oo wearing it. Onboarding's "Design your Oo" now offers
species looks per vibe and opens the Atelier for the rest; mobile bot
settings carry the same editor instead of a bare colour row, so picking
a colour there no longer throws away the rest of the look.


Claude-Session: https://claude.ai/code/session_01EKuME5CgL1ddGGN7LGvtBj

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
2026-10-05 03:20:05 +02:00

33 lines
977 B
TypeScript

import { setupI18n } from "@lingui/core";
import { I18nProvider } from "@lingui/react";
import { useState } from "react";
import { createRoot } from "react-dom/client";
import { OoAtelierDialog } from "../../src/components/OoAtelier";
import "../../src/styles.css";
const params = new URLSearchParams(location.search);
document.documentElement.dataset.theme = params.get("theme") === "dark" ? "dark" : "light";
const i18n = setupI18n({ locale: "en", messages: { en: {} } });
function Atelier() {
const [value, setValue] = useState("oo1:c=FF781C;sp=cat;la=soft;ir=green;ew=round;hd=chef");
return (
<OoAtelierDialog
open
onOpenChange={() => undefined}
value={value}
identity="fixture"
onChange={setValue}
allowUpload
/>
);
}
createRoot(document.getElementById("root")!).render(
<I18nProvider i18n={i18n}>
<main className="min-h-screen bg-background text-foreground">
<Atelier />
</main>
</I18nProvider>,
);