import { useState, useEffect } from "react"; import { invoke } from "@tauri-apps/api/core"; import { useNavigate } from "react-router-dom"; interface Workspace { id: string; name: string; slug: string; } export default function WorkspacePage() { const [workspaces, setWorkspaces] = useState([]); const [error, setError] = useState(null); const navigate = useNavigate(); useEffect(() => { invoke("list_workspaces") .then(setWorkspaces) .catch((e) => setError(String(e))); }, []); return (

Workspaces

{error &&

{error}

} {workspaces.map((ws) => (
navigate(`/workspaces/${ws.id}`)} style={{ padding: 16, border: "1px solid #ccc", marginBottom: 8, cursor: "pointer", borderRadius: 4 }} > {ws.name} /{ws.slug}
))} {workspaces.length === 0 && !error &&

No workspaces found.

}
); }