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>
33 lines
977 B
TypeScript
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>,
|
|
);
|