summaryrefslogtreecommitdiffhomepage
path: root/cloud/app/src/routes
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-08-20 16:52:43 -0400
committerDax Raad <[email protected]>2025-08-20 17:01:18 -0400
commit522bed6b7dabd09328b3c8aae90b06ab06344623 (patch)
tree905dca3e2b3fb4e765d03f2ec78e285f19a31155 /cloud/app/src/routes
parentdda672284c69ad399029316a63677cf49cbc54f3 (diff)
downloadopencode-522bed6b7dabd09328b3c8aae90b06ab06344623.tar.gz
opencode-522bed6b7dabd09328b3c8aae90b06ab06344623.zip
ignore: cloud stuff
Diffstat (limited to 'cloud/app/src/routes')
-rw-r--r--cloud/app/src/routes/[workspaceID].tsx15
-rw-r--r--cloud/app/src/routes/auth/callback.ts5
-rw-r--r--cloud/app/src/routes/index.tsx18
3 files changed, 33 insertions, 5 deletions
diff --git a/cloud/app/src/routes/[workspaceID].tsx b/cloud/app/src/routes/[workspaceID].tsx
new file mode 100644
index 000000000..706a64323
--- /dev/null
+++ b/cloud/app/src/routes/[workspaceID].tsx
@@ -0,0 +1,15 @@
+import { createAsync, query } from "@solidjs/router"
+import { getActor, withActor } from "~/context/auth"
+
+const getPosts = query(async () => {
+ "use server"
+ return withActor(() => {
+ return "ok"
+ })
+}, "posts")
+
+
+export default function () {
+ const actor = createAsync(async () => getActor())
+ return <div>{JSON.stringify(actor())}</div>
+}
diff --git a/cloud/app/src/routes/auth/callback.ts b/cloud/app/src/routes/auth/callback.ts
index a561c70d0..22dcb2b6d 100644
--- a/cloud/app/src/routes/auth/callback.ts
+++ b/cloud/app/src/routes/auth/callback.ts
@@ -5,11 +5,6 @@ export async function GET(input: APIEvent) {
const url = new URL(input.request.url)
const code = url.searchParams.get("code")
if (!code) throw new Error("No code found")
- const redirectURI = `${url.origin}${url.pathname}`
- console.log({
- redirectURI,
- code,
- })
const result = await AuthClient.exchange(code, `${url.origin}${url.pathname}`)
if (result.err) {
throw new Error(result.err.message)
diff --git a/cloud/app/src/routes/index.tsx b/cloud/app/src/routes/index.tsx
index da4e23364..057ddb49e 100644
--- a/cloud/app/src/routes/index.tsx
+++ b/cloud/app/src/routes/index.tsx
@@ -6,6 +6,9 @@ import IMG_SPLASH from "../asset/screenshot-splash.webp"
import IMG_VSCODE from "../asset/screenshot-vscode.webp"
import IMG_GITHUB from "../asset/screenshot-github.webp"
import { IconCopy, IconCheck } from "../component/icon"
+import { createAsync, query, redirect, RouteDefinition } from "@solidjs/router"
+import { getActor, withActor } from "~/context/auth"
+import { Account } from "@opencode/cloud-core/account.js"
function CopyStatus() {
return (
@@ -16,7 +19,22 @@ function CopyStatus() {
)
}
+const isLoggedIn = query(async () => {
+ "use server"
+ const actor = await getActor()
+ if (actor.type === "account") {
+ const workspaces = await withActor(() => Account.workspaces())
+ throw redirect("/" + workspaces[0].id)
+ }
+ return
+}, "isLoggedIn")
+
+
+
export default function Home() {
+ createAsync(() => isLoggedIn(), {
+ deferStream: true,
+ })
onMount(() => {
const commands = document.querySelectorAll("[data-copy]")
for (const button of commands) {