+
+
+
+
+ {error ? (
+
+ {error}
+
+ ) : null}
+
+
+ {saved ? : null}
+
+
+ );
+}
diff --git a/apps/web/src/pages/SettingsOverlay.tsx b/apps/web/src/pages/SettingsOverlay.tsx
index d71d40a..ed33b67 100644
--- a/apps/web/src/pages/SettingsOverlay.tsx
+++ b/apps/web/src/pages/SettingsOverlay.tsx
@@ -3,6 +3,7 @@ import type { AvatarStyle, SpaceMemoryConfig } from "@rakazo/contracts";
import { Button, Dialog, DialogClose, DialogContent, DialogTitle } from "@rakazo/ui-web";
import {
Brain,
+ Clapperboard,
CloudDownload,
Cpu,
Gauge,
@@ -16,6 +17,7 @@ import {
} from "lucide-react";
import { type ComponentType, useEffect, useRef, useState } from "react";
import { computersAreUnavailable } from "../components/ComputersUnavailableHint";
+import { MediaSettings } from "../components/MediaSettings";
import { UserProfileSettings } from "../components/UserProfileSettings";
import type { TradingBotUiState } from "../lib/trading-bot-status";
import {
@@ -37,6 +39,7 @@ export type SettingsSection =
| "memory"
| "profile"
| "voice"
+ | "media"
| "usage"
| "computer"
| "updates"
@@ -111,6 +114,7 @@ export function SettingsOverlay({
{ id: "memory", label: t`Memory`, icon: Brain },
{ id: "profile", label: t`About you`, icon: UserRound },
{ id: "voice", label: t`Voice`, icon: Volume2 },
+ ...(isDeploymentOwner ? [{ id: "media" as const, label: t`Media`, icon: Clapperboard }] : []),
{ id: "usage", label: t`Usage`, icon: Gauge },
...(showComputer ? [{ id: "computer" as const, label: t`Computer`, icon: Monitor }] : []),
{ id: "updates", label: t`Updates`, icon: CloudDownload },
@@ -250,6 +254,7 @@ export function SettingsOverlay({
/>
) : null}
{section === "profile" ?