diff --git a/packages/console/app/src/component/header.tsx b/packages/console/app/src/component/header.tsx index 29b35bfa..d6b3e2a4 100644 --- a/packages/console/app/src/component/header.tsx +++ b/packages/console/app/src/component/header.tsx @@ -4,9 +4,11 @@ import { A, createAsync } from "@solidjs/router" import { createMemo, Match, Show, Switch } from "solid-js" import { createStore } from "solid-js/store" import { github } from "~/lib/github" +import { queryIsLoggedIn } from "~/routes/workspace/common" export function Header(props: { zen?: boolean }) { const githubData = createAsync(() => github()) + const isLoggedIn = createAsync(() => queryIsLoggedIn()) const starCount = createMemo(() => githubData()?.stars ? new Intl.NumberFormat("en-US", { @@ -39,7 +41,7 @@ export function Header(props: { zen?: boolean }) {
  • - Login + {isLoggedIn() ? "Workspace" : "Login"} Zen @@ -110,7 +112,7 @@ export function Header(props: { zen?: boolean }) {
  • - Login + {isLoggedIn() ? "Workspace" : "Login"} Zen diff --git a/packages/console/app/src/routes/workspace/common.tsx b/packages/console/app/src/routes/workspace/common.tsx index fef1b3cd..62569322 100644 --- a/packages/console/app/src/routes/workspace/common.tsx +++ b/packages/console/app/src/routes/workspace/common.tsx @@ -30,6 +30,18 @@ export function formatDateUTC(date: Date) { return date.toLocaleDateString("en-US", options) } +export const queryIsLoggedIn = query(async () => { + "use server" + return withActor(() => { + try { + Actor.assert("account") + return true + } catch { + return false + } + }) +}, "isLoggedIn.get") + export const querySessionInfo = query(async (workspaceID: string) => { "use server" return withActor(() => { diff --git a/packages/console/app/src/routes/zen/index.tsx b/packages/console/app/src/routes/zen/index.tsx index 05c52323..080070d4 100644 --- a/packages/console/app/src/routes/zen/index.tsx +++ b/packages/console/app/src/routes/zen/index.tsx @@ -1,4 +1,5 @@ import "./index.css" +import { createAsync } from "@solidjs/router" import { Title, Meta, Link } from "@solidjs/meta" import { HttpHeader } from "@solidjs/start" import zenLogoLight from "../../asset/zen-ornate-light.svg" @@ -15,8 +16,10 @@ import { Faq } from "~/component/faq" import { Legal } from "~/component/legal" import { Footer } from "~/component/footer" import { Header } from "~/component/header" +import { queryIsLoggedIn } from "~/routes/workspace/common" export default function Home() { + const isLoggedIn = createAsync(() => queryIsLoggedIn()) return (
    @@ -102,7 +105,7 @@ export default function Home() { - Get started with Zen + {isLoggedIn() ? "Go to workspace " : "Get started with Zen "}