feat(projects): show load/error + safer create

This commit is contained in:
Abhimanyu Saharan
2026-02-02 13:23:49 +05:30
parent cfac3dac4c
commit 4b6e5603c1

View File

@@ -44,15 +44,13 @@ export default function ProjectsPage() {
<div className={styles.grid2}> <div className={styles.grid2}>
<div className={styles.card}> <div className={styles.card}>
<div className={styles.cardTitle}>Create project</div> <div className={styles.cardTitle}>Create project</div>
{projects.isLoading ? <div className={styles.mono}>Loading</div> : null}
{projects.error ? <div className={styles.mono}>{(projects.error as Error).message}</div> : null}
<div className={styles.list}> <div className={styles.list}>
<Input <Input placeholder="Project name" value={name} onChange={(e) => setName(e.target.value)} autoFocus />
placeholder="Project name"
value={name}
onChange={(e) => setName(e.target.value)}
/>
<Button <Button
onClick={() => createProject.mutate({ data: { name, status: "active" } })} onClick={() => createProject.mutate({ data: { name, status: "active" } })}
disabled={!name.trim() || createProject.isPending} disabled={!name.trim() || createProject.isPending || projects.isFetching}
> >
Create Create
</Button> </Button>