diff --git a/src/app/globals.css b/src/app/globals.css index 81a24f5..2ea264f 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -3,5 +3,5 @@ @tailwind utilities; body { - @apply bg-zinc-950 text-zinc-100; + @apply bg-zinc-100 text-zinc-900 dark:bg-zinc-950 dark:text-zinc-100; } diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c9d2edb..3307152 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,6 +3,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { useState } from "react"; import { SettingsProvider } from "@/context/settings-context"; +import { ThemeProvider } from "@/context/theme-context"; import "./globals.css"; export default function RootLayout({ @@ -20,10 +21,12 @@ export default function RootLayout({ ); return ( - + - {children} + + {children} + diff --git a/src/app/page.tsx b/src/app/page.tsx index 64f1131..4e841d0 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -47,10 +47,10 @@ export default function HomePage() {
-

+

What should the agent do?

-

+

It can browse the web, interact with pages, and report back.

@@ -59,16 +59,16 @@ export default function HomePage() { } /> {isCreating && ( -

- Starting session… +

+ Starting session\u2026

)} {error && ( -

+

{error}

)} @@ -80,7 +80,7 @@ export default function HomePage() { key={s} onClick={() => handleSend(s)} disabled={isCreating} - className="px-3 py-1.5 text-[13px] text-zinc-400 bg-zinc-900 border border-zinc-800 rounded-full hover:bg-zinc-800 hover:text-zinc-300 transition-colors disabled:opacity-50" + className="px-3 py-1.5 text-[13px] text-zinc-500 dark:text-zinc-400 bg-zinc-200 dark:bg-zinc-900 border border-zinc-300 dark:border-zinc-800 rounded-full hover:bg-zinc-300 dark:hover:bg-zinc-800 hover:text-zinc-700 dark:hover:text-zinc-300 transition-colors disabled:opacity-50" > {s} diff --git a/src/app/session/[id]/page.tsx b/src/app/session/[id]/page.tsx index 556afd1..e2d2cff 100644 --- a/src/app/session/[id]/page.tsx +++ b/src/app/session/[id]/page.tsx @@ -6,6 +6,7 @@ import { SessionProvider, useSession } from "@/context/session-context"; import { ChatInput } from "@/components/chat-input"; import { ChatMessages } from "@/components/chat-messages"; import { BrowserPanel } from "@/components/browser-panel"; +import { ThemeToggle } from "@/components/theme-toggle"; function SessionPage() { const { session, turns, isBusy, isTerminal, isSending, sendMessage, stopTask } = @@ -28,6 +29,11 @@ function SessionPage() {
{/* Chat column */}
+ {/* Header with theme toggle */} +
+ +
+ {/* Messages */}
- {/* Browser panel — always visible on desktop */} + {/* Browser panel \u2014 always visible on desktop */}
extractCurrentUrl(turns), [turns]); return ( -
+
{/* Header */} -
- +
+ Agent's Browser
{/* URL bar */} -
- - {isSessionEnded ? "Session ended" : currentUrl || "Waiting…"} +
+ + {isSessionEnded ? "Session ended" : currentUrl || "Waiting\u2026"}
{/* Browser view */} -
+
{liveUrl ? (