summaryrefslogtreecommitdiffhomepage
path: root/cloud/app/src/routes/workspace.tsx
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-08-30 01:36:25 -0400
committerDax Raad <[email protected]>2025-08-30 01:36:25 -0400
commit48e01cfee793a9cfc4d17794abf808f71a35c888 (patch)
treef9b4e616cf9102348158504cf9fe8f57684c8cc5 /cloud/app/src/routes/workspace.tsx
parentb54aa65f5f0f1eba6890843df010642ce25ee7d8 (diff)
downloadopencode-48e01cfee793a9cfc4d17794abf808f71a35c888.tar.gz
opencode-48e01cfee793a9cfc4d17794abf808f71a35c888.zip
ignore: sync
Diffstat (limited to 'cloud/app/src/routes/workspace.tsx')
-rw-r--r--cloud/app/src/routes/workspace.tsx22
1 files changed, 19 insertions, 3 deletions
diff --git a/cloud/app/src/routes/workspace.tsx b/cloud/app/src/routes/workspace.tsx
index 864fab4d3..920276e8c 100644
--- a/cloud/app/src/routes/workspace.tsx
+++ b/cloud/app/src/routes/workspace.tsx
@@ -1,6 +1,20 @@
+import { useAuthSession } from "~/context/auth.session"
import { IconLogo } from "../component/icon"
-import "./workspace/workspace.css"
-import { RouteSectionProps } from "@solidjs/router"
+import "./workspace.css"
+import { action, redirect, RouteSectionProps } from "@solidjs/router"
+
+const logout = action(async () => {
+ "use server"
+ const auth = await useAuthSession()
+ const current = auth.data.current
+ if (current)
+ await auth.update((val) => {
+ delete val.account[current]
+ return val
+ })
+
+ return redirect("/")
+})
export default function WorkspaceLayout(props: RouteSectionProps) {
return (
@@ -13,7 +27,9 @@ export default function WorkspaceLayout(props: RouteSectionProps) {
</div>
<div data-slot="header-actions">
<span>[email protected]</span>
- <a href="/logout">Logout</a>
+ <form action={logout} method="post">
+ <button type="submit" formaction={logout}>Logout</button>
+ </form>
</div>
</header>
<div data-slot="content">{props.children}</div>