This commit is contained in:
Frank
2025-10-06 16:15:10 -04:00
parent 1b17d8070b
commit 9e8fd16e6e
13 changed files with 437 additions and 62 deletions

View File

@@ -11,23 +11,23 @@ import { createAsync, query, useParams } from "@solidjs/router"
import { Actor } from "@opencode-ai/console-core/actor.js"
import { withActor } from "~/context/auth.withActor"
import { User } from "@opencode-ai/console-core/user.js"
import { Resource } from "@opencode-ai/console-resource"
import { beta } from "~/lib/beta"
const getUser = query(async (workspaceID: string) => {
const getUserInfo = query(async (workspaceID: string) => {
"use server"
return withActor(async () => {
const actor = Actor.assert("user")
const user = await User.fromID(actor.properties.userID)
return {
isAdmin: user?.role === "admin",
isBeta: Resource.App.stage === "production" ? workspaceID === "wrk_01K46JDFR0E75SG2Q8K172KF3Y" : true,
}
}, workspaceID)
}, "user.get")
export default function () {
const params = useParams()
const data = createAsync(() => getUser(params.id))
const userInfo = createAsync(() => getUserInfo(params.id))
const isBeta = createAsync(() => beta(params.id))
return (
<div data-page="workspace-[id]">
<section data-component="title-section">
@@ -44,15 +44,15 @@ export default function () {
<div data-slot="sections">
<NewUserSection />
<KeySection />
<Show when={data()?.isAdmin}>
<Show when={data()?.isBeta}>
<Show when={userInfo()?.isAdmin}>
<Show when={isBeta()}>
<MemberSection />
</Show>
<BillingSection />
<MonthlyLimitSection />
</Show>
<UsageSection />
<Show when={data()?.isAdmin}>
<Show when={userInfo()?.isAdmin}>
<PaymentSection />
</Show>
</div>