diff --git a/src/app/jams/(manip)/edit/jam/[jamid]/components/form.tsx b/src/app/jams/(manip)/edit/jam/[jamid]/components/form.tsx
index caba035..920a0a2 100644
--- a/src/app/jams/(manip)/edit/jam/[jamid]/components/form.tsx
+++ b/src/app/jams/(manip)/edit/jam/[jamid]/components/form.tsx
@@ -9,6 +9,7 @@ export function Form({jamID, preset}:{jamID:string, preset:{
name: string,
description: string,
theme: string,
+ theme_description: string,
date_start: string,
date_end: string
}}) {
@@ -93,6 +94,18 @@ export function Form({jamID, preset}:{jamID:string, preset:{
Error: {formik.errors.theme}
+
+
+
+
+ Error: {formik.errors.theme_description}
+
+
+
+
+
+
+ Error: {formik.errors.theme_description}
+
+
= parseInt(jam.date_start);
- if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) jam.theme = "";
+ if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) {
+ jam.theme = "";
+ jam.theme_description = "";
+ }
return Response.json(jam);
}
@@ -113,6 +116,7 @@ export async function PATCH(request: NextRequest, {params}: {params: {jam:string
if (body.name != null && typeof body.name === 'string' && body.name.length >= 10 && body.name.length <= 2048) newBody.name = body.name;
if (body.description != null && typeof body.description === 'string' && body.description.length >= 10 && body.description.length <= 10000) newBody.description = body.description;
if (body.theme != null && typeof body.theme === 'string' && body.theme.length >= 2 && body.theme.length <= 255) newBody.theme = body.theme;
+ if (body.theme_description != null && typeof body.theme_description === 'string' && body.theme_description.length >= 10 && body.theme_description.length <= 10000) newBody.theme_description = body.theme_description;
if (body.date_start != null && typeof body.date_start === 'number') newBody.date_start = body.date_start;
if (body.date_end != null && typeof body.date_end === 'number') newBody.date_end = body.date_end;
diff --git a/src/app/jams/api/jams/route.ts b/src/app/jams/api/jams/route.ts
index f8c7d8e..c523149 100644
--- a/src/app/jams/api/jams/route.ts
+++ b/src/app/jams/api/jams/route.ts
@@ -39,7 +39,10 @@ export async function GET(request: NextRequest) {
jams.forEach((jam) => {
const started = Date.now() >= parseInt(jam.date_start);
- if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) jam.theme = "";
+ if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) {
+ jam.theme = "";
+ jam.theme_description = "";
+ }
})
return Response.json(jams);
@@ -96,7 +99,8 @@ export async function POST(request: NextRequest) {
if (body.author_id != null) te.push("author_id");
if (typeof body.name !== 'string' || body.name.length < 10 || body.name.length > 2048) te.push("name");
if (typeof body.description !== 'string' || body.description.length < 10 || body.description.length > 10000) te.push("description");
- if (typeof body.theme !== 'string' || body.theme.length < 2 || body.theme.length > 10000) te.push("theme");
+ if (typeof body.theme !== 'string' || body.theme.length < 2 || body.theme.length > 255) te.push("theme");
+ if (typeof body.theme_description !== 'string' || body.theme_description.length < 10 || body.theme_description.length > 10000) te.push("theme_description");
if (typeof body.date_start !== 'number') te.push("date_start");
if (typeof body.date_end !== 'number') te.push("date_end");
if (body.created != null) te.push("created");
@@ -114,6 +118,7 @@ export async function POST(request: NextRequest) {
name: newBody.name,
description: newBody.description,
theme: newBody.theme,
+ theme_description: newBody.theme_description,
date_start: newBody.date_start,
date_end: newBody.date_end,
created: Date.now()
diff --git a/src/app/jams/jam/[jam]/page.tsx b/src/app/jams/jam/[jam]/page.tsx
index 32ef85b..842b225 100644
--- a/src/app/jams/jam/[jam]/page.tsx
+++ b/src/app/jams/jam/[jam]/page.tsx
@@ -64,7 +64,10 @@ export default async function Home({
.selectAll()
.executeTakeFirst() as unknown as JSONUserTable;
- if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) jam.theme = "";
+ if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) {
+ jam.theme = "";
+ jam.theme_description = "";
+ }
let content = await db
.selectFrom('content')
@@ -104,6 +107,7 @@ export default async function Home({
diff --git a/src/app/jams/page.tsx b/src/app/jams/page.tsx
index 2844a5d..692f1fc 100644
--- a/src/app/jams/page.tsx
+++ b/src/app/jams/page.tsx
@@ -47,7 +47,10 @@ export default async function Home({
jams.forEach((jam) => {
const started = Date.now() >= parseInt(jam.date_start);
- if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) jam.theme = "";
+ if (!started && !existingUser?.admin && jam.author_id != existingUser?.id) {
+ jam.theme = "";
+ jam.theme_description = "";
+ }
})
return (
diff --git a/src/lib/mastoauth/kysely.ts b/src/lib/mastoauth/kysely.ts
index 941a29c..126f68a 100644
--- a/src/lib/mastoauth/kysely.ts
+++ b/src/lib/mastoauth/kysely.ts
@@ -44,6 +44,7 @@ export interface JamTable {
date_end: number;
created: number;
theme: string;
+ theme_description: string;
}
export interface ContentTable {
diff --git a/src/lib/mastoauth/realtypes.ts b/src/lib/mastoauth/realtypes.ts
index dbc5064..c888f72 100644
--- a/src/lib/mastoauth/realtypes.ts
+++ b/src/lib/mastoauth/realtypes.ts
@@ -26,6 +26,7 @@ export interface JSONJamTable {
date_end: string;
created: string;
theme: string;
+ theme_description: string;
}
export interface JSONContentTable {