Update kodukord, not hardcoded anymor, but as a .md file

This commit is contained in:
Rene Arumetsa
2025-08-14 18:27:27 +03:00
parent 2ddb2e198d
commit e1baa116ea
2 changed files with 68 additions and 51 deletions

View File

@@ -1,63 +1,50 @@
// app/kodukord/page.tsx (App Router)
import fs from "node:fs";
import path from "node:path";
import ReactMarkdown from "react-markdown";
import remarkGfm from "remark-gfm";
import { vipnagorgialla } from "@/components/Vipnagorgialla";
export default function Rulebook() {
export const runtime = "nodejs"; // ensure fs is available (not Edge)
export const dynamic = "force-static"; // read at build time
export default function Page() {
const filePath = path.join(process.cwd(), "src/data", "kodukord.md");
const content = fs.readFileSync(filePath, "utf8");
return (
<div className="flex flex-col min-h-[90vh] m-6 mt-16 md:m-16">
{/* Page title (separate from markdown headings) */}
<h1
className={`text-4xl md:text-5xl lg:text-6xl ${vipnagorgialla.className} font-bold italic text-[#2A2C3F] dark:text-[#EEE5E5] mt-8 md:mt-16 mb-4 uppercase`}
>
Kodukord
</h1>
<ol className="list-decimal ml-6 md:text-xl text-[#2A2C3F] dark:text-[#EEE5E5] y-4">
<li>
Keelatud on:
<ol className="list-[lower-alpha] ml-6 y-2">
<li>alkoholi ja uimastite omamine ja tarbimine ürituse vältel</li>
<li>alkoholijoobes või uimastite mõju all viibimine üritusel</li>
<li>
suitsetamine (ka e-sigaret) selleks mitte ettenähtud kohtades
suitsetada võib suitsuruumis või õues vastava prügikasti juures
<ul className="list-disc ml-6">
<li>suitsetamine alaealistel</li>
<li>mokatubaka kasutamine TalTech-i territooriumil</li>
</ul>
</li>
<li>külm- ja imitatsioonrelvad</li>
<li>
ürituse alal igasuguse vägivalla kasutamine teiste ja teiste vara
suhtes
</li>
<li>teiste vara omavoliline kasutamine, näppimine</li>
<li>turniiri reeglitele mittevastavalt mängimine</li>
<li>
omavoliline taristu (võrgu) näppimine võrguprobleemidega tuleb
pöörduda korraldajate poole
</li>
<li>
mängimiseks ebavajalike seadmete ühendamine vooluvõrku (nt
veekeetja, puhur, sirgendaja)
</li>
</ol>
</li>
<li>Iga külastaja vastutab enda asjade ja vara eest ise</li>
<li>
Korraldajale varalise kahju tekitanud külastaja on kohustatud korvama
täies ulatuses tekitatud kahju
</li>
<li>
Magamiseks ettenähtud ajal ja magamiseks ettenähtud ruumis tuleb olla
vaikselt ja võimaldada kaas mängijatel magada
</li>
<li>Korraldajad ei vastuta külastajate eest</li>
<li>
Mängijad on TipiLAN-il kohustatud kinni pidama mängule seatud
vanusepiirangutest
</li>
</ol>
<p className="md:text-xl text-[#2A2C3F] dark:text-[#EEE5E5] y-4 mt-4">
NB! Reeglite rikkumise puhul on korraldajatel õigus mängija (koos tema
meeskonnaga) eemaldada ja rakendada edasist keeldu TipiLAN-i üritustelt.
</p>
<div className="prose prose-lg dark:prose-invert max-w-none">
<ReactMarkdown
remarkPlugins={[remarkGfm]}
components={{
h1: ({node, ...props}) => (
<h1 className="text-3xl md:text-4xl font-bold my-4" {...props} />
),
h2: ({node, ...props}) => (
<h2 className="text-2xl md:text-3xl font-semibold my-3" {...props} />
),
ol: ({node, ...props}) => (
<ol className="list-decimal ml-6 md:text-xl" {...props} />
),
ul: ({node, ...props}) => (
<ul className="list-disc ml-6 md:text-xl" {...props} />
),
p: ({node, ...props}) => (
<p className="md:text-xl" {...props} />
),
}}
>
{content}
</ReactMarkdown>
</div>
</div>
);
}