This commit is contained in:
@@ -21,7 +21,12 @@ import { Spinner } from "@/components/ui/spinner";
|
||||
import { actionLog } from "@/lib/api";
|
||||
import { adminCheck } from "@/lib/auth";
|
||||
import { db } from "@/lib/db";
|
||||
import { characters, element as elementEnum, versions } from "@/lib/db/schema";
|
||||
import {
|
||||
characters,
|
||||
element,
|
||||
element as elementEnum,
|
||||
versions,
|
||||
} from "@/lib/db/schema";
|
||||
|
||||
export default async function CharacterEditPage({
|
||||
params,
|
||||
@@ -35,9 +40,7 @@ export default async function CharacterEditPage({
|
||||
]);
|
||||
if (!char) redirect("/admin/char");
|
||||
|
||||
async function submit(
|
||||
form: FormData,
|
||||
) {
|
||||
async function submit(form: FormData) {
|
||||
"use server";
|
||||
if (!(await adminCheck())) redirect("/login");
|
||||
|
||||
@@ -62,7 +65,7 @@ export default async function CharacterEditPage({
|
||||
try {
|
||||
data = {
|
||||
name: form.get("name") as string,
|
||||
vision: form.get("element") as string,
|
||||
vision: form.get("element") as (typeof element.enumValues)[number],
|
||||
stars: parseInt((form.get("stars") as string) || "0", 10) as 4 | 5,
|
||||
image: form.get("image") as string,
|
||||
order: parseInt(form.get("order") as string, 10),
|
||||
|
||||
@@ -21,7 +21,12 @@ import { Spinner } from "@/components/ui/spinner";
|
||||
import { actionLog } from "@/lib/api";
|
||||
import { adminCheck } from "@/lib/auth";
|
||||
import { db } from "@/lib/db";
|
||||
import { characters, element as elementEnum, versions } from "@/lib/db/schema";
|
||||
import {
|
||||
characters,
|
||||
element,
|
||||
element as elementEnum,
|
||||
versions,
|
||||
} from "@/lib/db/schema";
|
||||
import { genId } from "./overrides";
|
||||
|
||||
export default async function CharacterCreatePage() {
|
||||
@@ -32,9 +37,7 @@ export default async function CharacterCreatePage() {
|
||||
db.select().from(versions).orderBy(desc(versions.id)),
|
||||
]);
|
||||
|
||||
async function submit(
|
||||
form: FormData,
|
||||
) {
|
||||
async function submit(form: FormData) {
|
||||
"use server";
|
||||
if (!(await adminCheck())) redirect("/login");
|
||||
|
||||
@@ -60,7 +63,7 @@ export default async function CharacterCreatePage() {
|
||||
data = {
|
||||
id: form.get("id") as string,
|
||||
name: form.get("name") as string,
|
||||
vision: form.get("element") as string,
|
||||
vision: form.get("element") as (typeof element.enumValues)[number],
|
||||
stars: parseInt((form.get("stars") as string) || "0", 10) as 4 | 5,
|
||||
image: form.get("image") as string,
|
||||
order: parseInt(form.get("order") as string, 10),
|
||||
|
||||
@@ -174,7 +174,11 @@ export default async function ArtifactFormPage({
|
||||
</div>
|
||||
{config.enka ? (
|
||||
editing ? (
|
||||
<CharacterChooser clist={clist} uid={q.uid} char={q.char} />
|
||||
<CharacterChooser
|
||||
clist={clist}
|
||||
uid={q.uid}
|
||||
char={q.char ?? undefined}
|
||||
/>
|
||||
) : (
|
||||
<CharacterChooser clist={clist} />
|
||||
)
|
||||
@@ -200,7 +204,7 @@ export default async function ArtifactFormPage({
|
||||
name="character"
|
||||
data={clist}
|
||||
className="w-full bg-transparent! hover:bg-accent!"
|
||||
defaultValue={editing ? q.char : undefined}
|
||||
defaultValue={editing ? (q.char ?? undefined) : undefined}
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
|
||||
@@ -16,7 +16,7 @@ export async function GET(
|
||||
const [char] = await db
|
||||
.select()
|
||||
.from(characters)
|
||||
.where(eq(characters.name, sub.char));
|
||||
.where(eq(characters.name, sub.char ?? "THISISNULLANDNOTSUPPOSEDTOMATCH"));
|
||||
if (!char)
|
||||
return new Response(`Unknown character: ${sub.char}`, { status: 500 });
|
||||
const card = await fetch(
|
||||
|
||||
Reference in New Issue
Block a user