diff options
| author | Dax Raad <[email protected]> | 2025-08-30 01:36:25 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-08-30 01:36:25 -0400 |
| commit | 48e01cfee793a9cfc4d17794abf808f71a35c888 (patch) | |
| tree | f9b4e616cf9102348158504cf9fe8f57684c8cc5 /cloud/app/src/routes/workspace.tsx | |
| parent | b54aa65f5f0f1eba6890843df010642ce25ee7d8 (diff) | |
| download | opencode-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.tsx | 22 |
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> |
