Skip to content

Commit fba9bad

Browse files
committed
Add raw admin CRUD pages and stabilize Discord agent looping.
Introduces new raw admin profile/sponsor/talk management routes and UI, and updates Discord tool-loop control to use stopWhen with stepCountIs for the installed AI SDK while keeping recent-context diagnostics.
1 parent 3529898 commit fba9bad

File tree

13 files changed

+2497
-6
lines changed

13 files changed

+2497
-6
lines changed

app/src/app/admin/page.tsx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,38 @@ export default async function AdminPage() {
181181
</div>
182182
</div>
183183
</Link>
184+
185+
{/* Raw Content Admin Card */}
186+
<Link
187+
href="/admin/raw"
188+
className="block p-6 bg-cyan-50 border border-cyan-200 rounded-lg hover:bg-cyan-100 transition-colors group"
189+
>
190+
<div className="flex items-center">
191+
<div className="flex-shrink-0">
192+
<svg
193+
className="h-8 w-8 text-cyan-600"
194+
fill="none"
195+
stroke="currentColor"
196+
viewBox="0 0 24 24"
197+
>
198+
<path
199+
strokeLinecap="round"
200+
strokeLinejoin="round"
201+
strokeWidth={2}
202+
d="M19 11H5m14-7H5m14 14H5"
203+
/>
204+
</svg>
205+
</div>
206+
<div className="ml-4">
207+
<h3 className="text-lg font-medium text-gray-900 group-hover:text-cyan-900">
208+
Raw Content Admin
209+
</h3>
210+
<p className="text-sm text-gray-600">
211+
Add raw sponsors, profiles, and talks
212+
</p>
213+
</div>
214+
</div>
215+
</Link>
184216
</div>
185217
</div>
186218
</div>

app/src/app/admin/raw/page.tsx

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import Link from "next/link";
2+
3+
export default function RawAdminPage() {
4+
return (
5+
<div className="min-h-screen bg-gray-50 py-8">
6+
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
7+
<div className="bg-white shadow-lg rounded-lg">
8+
<div className="px-6 py-4 border-b border-gray-200">
9+
<div className="flex items-center justify-between">
10+
<div>
11+
<h1 className="text-2xl font-bold text-gray-900">
12+
Raw Content Admin
13+
</h1>
14+
<p className="text-gray-600 mt-1">
15+
Create raw sponsors, profiles, and talks
16+
</p>
17+
</div>
18+
<Link
19+
href="/admin"
20+
className="inline-flex items-center px-3 py-2 border border-gray-300 shadow-sm text-sm leading-4 font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
21+
>
22+
← Back to Admin
23+
</Link>
24+
</div>
25+
</div>
26+
27+
<div className="p-6">
28+
<div className="grid gap-4 md:grid-cols-3">
29+
<Link
30+
href="/admin/raw/sponsors"
31+
className="block p-5 border border-gray-200 rounded-lg hover:bg-gray-50 transition-colors"
32+
>
33+
<h2 className="text-lg font-semibold text-gray-900">
34+
Sponsors
35+
</h2>
36+
<p className="text-sm text-gray-600 mt-1">
37+
Create sponsors with dark and light logo uploads
38+
</p>
39+
</Link>
40+
41+
<Link
42+
href="/admin/raw/profiles"
43+
className="block p-5 border border-gray-200 rounded-lg hover:bg-gray-50 transition-colors"
44+
>
45+
<h2 className="text-lg font-semibold text-gray-900">
46+
Profiles
47+
</h2>
48+
<p className="text-sm text-gray-600 mt-1">
49+
Create member/organizer profiles with optional image upload
50+
</p>
51+
</Link>
52+
53+
<Link
54+
href="/admin/raw/talks"
55+
className="block p-5 border border-gray-200 rounded-lg hover:bg-gray-50 transition-colors"
56+
>
57+
<h2 className="text-lg font-semibold text-gray-900">Talks</h2>
58+
<p className="text-sm text-gray-600 mt-1">
59+
Create talks and assign one or more speakers
60+
</p>
61+
</Link>
62+
</div>
63+
</div>
64+
</div>
65+
</div>
66+
</div>
67+
);
68+
}

0 commit comments

Comments
 (0)