forked from jonwiggins/optio
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpatch.diff
More file actions
59 lines (57 loc) · 2.2 KB
/
Copy pathpatch.diff
File metadata and controls
59 lines (57 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
--- apps/web/src/app/sessions/page.tsx
+++ apps/web/src/app/sessions/page.tsx
@@ -21,7 +21,12 @@ export default function SessionsPage() {
useEffect(() => {
api
.listRepos()
- .then((res) => setRepos(res.repos))
+ .then((res) => {
+ setRepos(res.repos);
+ if (res.repos.length === 1) {
+ setSelectedRepo(res.repos[0].repoUrl);
+ }
+ })
.catch(() => {});
}, []);
@@ -30,7 +35,6 @@ export default function SessionsPage() {
api
.listSessions({
state: filter === "all" ? undefined : filter,
- repoUrl: selectedRepo || undefined,
})
.then((res) => {
setSessions(res.sessions);
@@ -38,14 +42,14 @@ export default function SessionsPage() {
})
.catch(() => toast.error("Failed to load sessions"))
.finally(() => setLoading(false));
- }, [filter, selectedRepo]);
+ }, [filter]);
const handleCreate = async () => {
if (repos.length === 0) {
toast.error("Add a repo first");
return;
}
- const repoUrl = selectedRepo || repos[0]?.repoUrl;
+ const repoUrl = repos.length === 1 ? repos[0].repoUrl : selectedRepo;
if (!repoUrl) return;
setCreating(true);
try {
@@ -101,7 +105,7 @@ export default function SessionsPage() {
onChange={(e) => setSelectedRepo(e.target.value)}
className="px-3 py-2 rounded-lg bg-bg-card border border-border text-sm focus:outline-none focus:border-primary"
>
- <option value="">All repos</option>
+ <option value="">---</option>
{repos.map((r: any) => (
<option key={r.id} value={r.repoUrl}>
{r.fullName}
@@ -111,7 +115,7 @@ export default function SessionsPage() {
)}
<button
onClick={handleCreate}
- disabled={creating || repos.length === 0}
+ disabled={creating || repos.length === 0 || (repos.length > 1 && !selectedRepo)}
className="flex items-center gap-2 px-3 py-2 rounded-lg bg-primary text-white text-sm font-medium hover:bg-primary-hover transition-colors disabled:opacity-50"
>
{creating ? (