summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/app/src/context/layout.tsx11
1 files changed, 7 insertions, 4 deletions
diff --git a/packages/app/src/context/layout.tsx b/packages/app/src/context/layout.tsx
index d30fd11cf..28fe628a8 100644
--- a/packages/app/src/context/layout.tsx
+++ b/packages/app/src/context/layout.tsx
@@ -682,12 +682,15 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
if (!current) return
const all = current.all.filter((x) => x !== tab)
- batch(() => {
+ if (current.active !== tab) {
setStore("sessionTabs", session, "all", all)
- if (current.active !== tab) return
+ return
+ }
- const index = current.all.findIndex((f) => f === tab)
- const next = all[index - 1] ?? all[0]
+ const index = current.all.findIndex((f) => f === tab)
+ const next = current.all[index - 1] ?? current.all[index + 1] ?? all[0]
+ batch(() => {
+ setStore("sessionTabs", session, "all", all)
setStore("sessionTabs", session, "active", next)
})
},