mirror of
https://github.com/stack-auth/stack.git
synced 2026-07-03 21:02:05 +08:00
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
DB migration compat / Check if migrations changed (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Build and Run / docker (push) Has been cancelled
Runs E2E API Tests (Local Emulator) / E2E Tests (Local Emulator, Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (mock, 22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (prod, 22.x) (push) Has been cancelled
Runs E2E API Tests with custom port prefix / build (22.x) (push) Has been cancelled
Runs E2E Fallback Tests / E2E Fallback Tests (Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Lint & build / lint_and_build (24) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
DB migration compat / Back-compat — Current branch migrations with ${{ needs.check-migrations-changed.outputs.base_branch }} branch code (push) Has been cancelled
DB migration compat / Forward-compat — Current branch code with ${{ needs.check-migrations-changed.outputs.base_branch }} branch migrations (push) Has been cancelled
DB migration compat / No migration changes (skipped) (push) Has been cancelled
38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
"use client";
|
|
|
|
import { useAction } from "convex/react";
|
|
import { useState } from "react";
|
|
import { api } from "@/convex/_generated/api";
|
|
import { useUser } from "@hexclave/next";
|
|
import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
|
|
|
|
export default function Page() {
|
|
const myAction = useAction(api.myActions.myAction);
|
|
const user = useUser({ or: "redirect" });
|
|
const [data, setData] = useState<string | null>(null);
|
|
|
|
|
|
return (
|
|
<div className="flex flex-col gap-8 max-w-lg mx-auto pt-10">
|
|
<div className="flex flex-col gap-4 bg-slate-200 dark:bg-slate-800 p-4 rounded-md">
|
|
<h2 className="text-xl font-bold">User read-only metadata</h2>
|
|
<code>
|
|
<pre>{JSON.stringify(user.clientReadOnlyMetadata, null, 2)}</pre>
|
|
</code>
|
|
</div>
|
|
<input type="text" placeholder="test 123" className="border border-slate-300 rounded-md p-2" onChange={(e) => setData(e.target.value)} />
|
|
<button
|
|
className="bg-foreground text-background text-sm px-4 py-2 rounded-md"
|
|
onClick={() => {
|
|
runAsynchronouslyWithAlert(async () => {
|
|
await myAction({ testMetadata: data ?? "" })
|
|
alert("User's client read-only metadata updated, refresh to see changes")
|
|
})
|
|
}}
|
|
>
|
|
My Action
|
|
</button>
|
|
</div>
|
|
)
|
|
}
|