diff --git a/app/src/admin/ReviewPanel.jsx b/app/src/admin/ReviewPanel.jsx
new file mode 100644
index 0000000..aa94a56
--- /dev/null
+++ b/app/src/admin/ReviewPanel.jsx
@@ -0,0 +1,27 @@
+import { useState, useEffect } from 'react';
+import { useToast, pillBtn } from '../../teknav-ui.jsx';
+import { adminApi } from '../lib/admin-api.js';
+import { BRAND, PanelState } from './Shared.jsx';
+
+function ReviewsPanel() {
+ const [items, setItems] = useState([]);
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(false);
+ const load = () => adminApi.listReviews().then(setItems).catch(() => setError(true)).finally(() => setLoading(false));
+ useEffect(() => { load(); }, []);
+ const update = async (articleId, status) => { await adminApi.updateReview(articleId, { status }); load(); };
+ if (loading || error || items.length === 0) return