From 590bc213f0701f8db11c094932cedbea4f3a1fb5 Mon Sep 17 00:00:00 2001 From: Nicolai Rosdahl Tellefsen Date: Mon, 21 Oct 2024 19:36:41 +0200 Subject: [PATCH] feat: initial create competitions pages --- src/components/competitions/CreativeBox.astro | 81 +++++ src/pages/competitions/creative.astro | 316 ++++++++++++++++++ 2 files changed, 397 insertions(+) create mode 100644 src/components/competitions/CreativeBox.astro create mode 100644 src/pages/competitions/creative.astro diff --git a/src/components/competitions/CreativeBox.astro b/src/components/competitions/CreativeBox.astro new file mode 100644 index 0000000..e0bea2d --- /dev/null +++ b/src/components/competitions/CreativeBox.astro @@ -0,0 +1,81 @@ +--- +import H2 from "../../components/H2.astro"; +import H3 from "../../components/H3.astro"; + +export interface Props { + title: string; + children: any; + prizes: Array<{ + name?: string; + price?: number | string; + }>; + byoc?: boolean; + requiresTicket?: boolean; + class?: string; + url?: string; + category?: + | "foto" + | "video" + | "grafikk" + | "musikk" + | "diverse" + | "cosplay" + | "utvikling"; +} + +const { title, prizes, url, class: classNames, category } = Astro.props; + +const formatPrice = (prize: number | string) => + typeof prize === "string" + ? prize + : new Intl.NumberFormat("nb-NO", { + style: "currency", + currency: "NOK", + maximumFractionDigits: 0, + }).format(prize); + +const categoryStyles = { + foto: "bg-red-500", + video: "bg-green-500", + grafikk: "bg-blue-500", + musikk: "bg-yellow-500", + diverse: "bg-purple-500", + cosplay: "bg-indigo-500", + utvikling: "bg-pink-500", +}; + +const categoryStyle = categoryStyles[category || "diverse"]; +const hasPrices = !!prizes.length; +--- + +
+

+ + + + { + hasPrices ? ( + <> +
+ {prizes.map(({ name, price }, index) => ( +
+
+ {name || `${index + 1}. plass`} +
+
+ {price ? formatPrice(price) : "TBA"} +
+
+ ))} +
+ + ) : null + } + { + url && ( + + ) + } +

diff --git a/src/pages/competitions/creative.astro b/src/pages/competitions/creative.astro new file mode 100644 index 0000000..e0b7b34 --- /dev/null +++ b/src/pages/competitions/creative.astro @@ -0,0 +1,316 @@ +--- +import H1 from "../../components/H1.astro"; +import Layout from "../../layouts/Layout.astro"; +import Main from "../../components/Main.astro"; +import H2 from "../../components/H2.astro"; +import H3 from "../../components/H3.astro"; +import ContentContainer from "../../components/ContentContainer.astro"; +import CreativeBox from "../../components/competitions/CreativeBox.astro"; +import Pill from "../../components/competitions/Pill.astro"; + +const boxStyles = "p-6 rounded-3xl sm:mx-auto sm:rounded-2xl"; +--- + + +
+ +

+
+
+
+

+

+ Kreative impulser og klar for å vise hva du er god for? + Kreativitet har alltid vært en sentral del av The Gathering. Fra + imponerende cosplay til banebrytende musikk, TG er stedet hvor + fantasien får fritt spillerom. Uansett om du er en erfaren + deltaker eller nybegynner, vil du finne en rekke kreative + konkurranser som passer for deg. +

+

Praktisk informasjon

+

+ + Alle de kreative konkurransene krever at du har eget utstyr, som maskin, + tegnebrett, symaskin, kamera eller annet. +

+

+ + Alle de kreative konkurransene gjennomføres og kåres i skipet, derfor + må du være på plass på The Gathering for å kunne delta +

+
+
+ +

+ Bruk kun AI verktøy, uten etterbehandling, til å lage et bilde av et + spesifikt tema. Tema vil bli annonsert under arrangementet. +

+
+ +

+ Bruk kun AI - verktøy, uten etterbehandling, til å lage et bilde av + et spesifikt tema. Tema vil bli annonsert under The Gathering 2025. +

+
+ +

+ Så ta med deg ditt favoritt cosplay fra et spill, tv-serie/film, + manga eller animasjon. Vi gleder oss til å se deg stå på scenen og + vise fram ditt beste cosplay. Vi ses på The Gathering 2025. +

+
+ +

+ Lag et dataprogram som imponerer med kul grafikk og bra musikk. + Målet med konkurransen er å vise frem tekniske ferdigheter og + kreativitet. +

+
+ +

+ Er du glad i å ta bilder? Da passer denne konkurransen for deg. Ut + fra det temaet som blir annonsert, skal du ta ditt beste bilde. +

+
+ +

Få ut kunstneren i deg å tegn ditt beste bilde.

+
+ +

+ Er du glad i å tegne, vil prøve, eller bare har lyst til å delta, da + er dette konkurransen for deg. Ut fra det temaet som blir annonsert, + skal du tegne ditt beste bilde. +

+
+ +

+ Har du en liten musiker i deg. Da er dette din mulighet til å få + vise deg fram. +

+
+ +

+ Har du en liten musiker i deg. Da er dette din mulighet til å få + vise deg fram. Du vil få tilgang til en samplepack og et tema for + sjanger. Ut fra dette skal du lage din beste låt. +

+
+ +

+ Lag et stykke html så lite som mulig. Bruk alle mulige triks for å + forminske koden. Det skal se helt likt ut som originalen i + nettleseren. Minste html - fil vinner! +

+
+ +

+ Lag et program som gjør noe som man aldri får bruk for. Kanskje en + app på telefon eller et program på pcen. Et helt og holdent + ubrukelig program. +

+
+ +

+ Målet er å lage din beste video som er 10 sekunder lang etter et + spesifikt tema som vil bli annonsert under arrangementet. +

+
+ +

+ Konkurransen er for alle som ønsker å skape et manipulert + videoklipp, også kjent som visuelle effekter eller vfx. +

+
+
+ +

+