import { useState, useEffect } from 'react'; import { Database, Plus, Trash2 } from 'lucide-react'; export default function PocketBase() { const [items, setItems] = useState([]); const [newItem, setNewItem] = useState(''); const [loading, setLoading] = useState(false); // Simulate fetching data on mount useEffect(() => { fetchItems(); }, []); const fetchItems = async () => { try { const res = await fetch('/api/pocketbase'); const data = await res.json(); setItems(data.items || []); } catch (error) { console.error('Failed to fetch items'); } }; const addItem = async () => { if (!newItem.trim()) return; setLoading(true); try { const res = await fetch('/api/pocketbase', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: newItem }), }); if (res.ok) { setNewItem(''); fetchItems(); } } catch (error) { console.error('Failed to add item'); } finally { setLoading(false); } }; return (

PocketBase Manager

setNewItem(e.target.value)} placeholder="Add new record..." className="flex-1 bg-slate-900 border border-slate-600 rounded-lg px-4 py-2 text-white placeholder-slate-500 focus:ring-2 focus:ring-emerald-500 focus:border-transparent outline-none" />
{items.length === 0 ? (

No records found

) : ( items.map((item, index) => (
{item.name || item.id}
)) )}
); }