diff --git a/.env.example b/.env.example index 70e5cca..fa0be7c 100644 --- a/.env.example +++ b/.env.example @@ -4,3 +4,8 @@ ADMIN_PASSWORD=admin REPORT_SECRET= PUBLIC_START_DATE=2023-12-26T00:00:00+0200 PUBLIC_BASE_PATH= + +PUBLIC_SERVER_IP=example.com +PUBLIC_TS_LINK=ts3server://example.com +PUBLIC_DISCORD_LINK=https://example.com +PUBLIC_PAYPAL_LINK=https://example.com diff --git a/src/routes/admin/settings/+page.server.ts b/src/routes/admin/settings/+page.server.ts index 5f731cf..1c6253a 100644 --- a/src/routes/admin/settings/+page.server.ts +++ b/src/routes/admin/settings/+page.server.ts @@ -22,9 +22,7 @@ export const load: PageServerLoad = async ({ parent, cookies }) => { return { settings: { - global: { - paypal_link: settings['global.paypal_link'] ?? '' - }, + global: {}, register: { enabled: settings['register.enabled'] ?? true, disabled_title: settings['register.disabled_title'] ?? 'Anmeldung geschlossen', diff --git a/src/routes/admin/settings/+page.svelte b/src/routes/admin/settings/+page.svelte index d8c9de9..2d16c52 100644 --- a/src/routes/admin/settings/+page.svelte +++ b/src/routes/admin/settings/+page.svelte @@ -8,9 +8,7 @@ await fetch(`${env.PUBLIC_BASE_PATH}/admin/settings`, { method: 'POST', body: JSON.stringify({ - global: { - paypal_link: returnIfNoDup(settings.global.paypal_link, data.settings.global.paypal_link) - }, + global: {}, register: { enabled: returnIfNoDup(settings.register.enabled, data.settings.register.enabled), disabled_title: returnIfNoDup( @@ -35,13 +33,13 @@ <div class="h-full flex flex-col items-center justify-between"> <div class="grid grid-cols-3 w-full [&>*]:mx-8"> - <div> + <!--div> <div class="divider">Global</div> <label class="label"> <span class="label-text">PayPal-Spendenlink</span> <input type="text" class="input input-bordered" bind:value={settings.global.paypal_link} /> </label> - </div> + </div--> <div> <div class="divider">Anmeldung</div> <label class="label cursor-pointer"> diff --git a/src/routes/faq/+page.server.ts b/src/routes/faq/+page.server.ts deleted file mode 100644 index db0a81b..0000000 --- a/src/routes/faq/+page.server.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { PageServerLoad } from './$types'; -import { Settings } from '$lib/server/database'; - -export const load: PageServerLoad = async () => { - return { - paypal_link: (await Settings.findOne({ where: { key: 'global.paypal_link' } }))?.value ?? '' - }; -}; diff --git a/src/routes/faq/+page.svelte b/src/routes/faq/+page.svelte index f4f38d1..bdde7b9 100644 --- a/src/routes/faq/+page.svelte +++ b/src/routes/faq/+page.svelte @@ -1,5 +1,6 @@ <script lang="ts"> import type { PageData } from './$types'; + import { env } from '$env/dynamic/public'; export let data: PageData; @@ -9,7 +10,7 @@ questions: [ { title: 'Wie kann ich einen Admin kontaktieren?', - content: `<p>Einen Admin kannst du im Chat, über WhatsApp, per Teamspeak (<a class="link" href="ts3server://mhsl.eu?port=9987">mhsl.eu</a>) oder Discord (<a class="link" href="https://discord.gg/EBGefWPc2K" target="_blank">https://discord.gg/EBGefWPc2K</a>) kontaktieren.</p>` + content: `<p>Einen Admin kannst du im Chat, über WhatsApp, per Teamspeak (<a class="link" href="${env.PUBLIC_TS_LINK}">mhsl.eu</a>) oder Discord (<a class="link" href="https://discord.gg/EBGefWPc2K" target="_blank">https://discord.gg/EBGefWPc2K</a>) kontaktieren.</p>` }, { title: 'Wer ist eigentlich Organisator und warum?', @@ -28,11 +29,11 @@ des Projekts.</p>` }, { title: 'Gibt es einen Teamspeak-Server?', - content: `<p>Ja, den offiziellen Teamspeak-Server erreichst du unter der IP <a class="link" href="ts3server://mhsl.eu?port=9987">mhsl.eu</a>.</p>` + content: `<p>Ja, den offiziellen Teamspeak-Server erreichst du unter der IP <a class="link" href="${env.PUBLIC_TS_LINK}">mhsl.eu</a>.</p>` }, { title: 'Gibt es einen Discord-Server?', - content: `<p>Ja, den offiziellen Discord-Server erreichst du unter <a class="link" href="https://discord.gg/EBGefWPc2K" target="_blank">https://discord.gg/EBGefWPc2K</a>.</p>` + content: `<p>Ja, den offiziellen Discord-Server erreichst du unter <a class="link" href="${env.PUBLIC_DISCORD_LINK}" target="_blank">${env.PUBLIC_DISCORD_LINK}</a>.</p>` }, { title: 'Wozu dient die CraftAttack-WhatsApp-Gruppe?', @@ -82,7 +83,7 @@ dich jederzeit beim Admin-Team melden.</p>` title: 'Ich komme nicht auf den Server, was kann ich tun?', content: `<p>Wenn du dem Server nicht beitreten kannst, überprüfe Folgendes:</p> <ol class="list-decimal pl-8 py-3"> -<li>Hast du die korrekte IP verwendet? Sie lautet <span class="underline italic">craftattack.mhsl.eu</span>.</li> +<li>Hast du die korrekte IP verwendet? Sie lautet <span class="underline italic">${env.PUBLIC_SERVER_IP}</span>.</li> <li>Hast du Leerzeichen verwendet, insbesondere vor oder hinter der IP, oder dich vertippt?</li> <li>Kommst du auf andere Server, oder ist es nur ein Problem beim CraftAttack-Server?</li> <li>Hast du dich korrekt auf der Webseite angemeldet?</li> @@ -92,14 +93,14 @@ Fehlermeldung bereit.</p>` }, { title: 'Was ist die Server-IP?', - content: `<p>Die Serveradresse lautet: <span class="underline italic">craftattack.mhsl.eu</span>.</p>` + content: `<p>Die Serveradresse lautet: <span class="underline italic">${env.PUBLIC_SERVER_IP}</span>.</p>` }, { title: 'Ist es kostenlos mitzuspielen?', content: `<p>Ja, die Teilnahme ist selbstverständlich kostenlos.${ - data.paypal_link + env.PUBLIC_PAYPAL_LINK ? `Wir freuen uns aber, wenn du das Projekt mit einer Spende nach der Anmeldung unterstützen würdest.<br> -Hier kannst du für das Projekt spenden: <a class="link" href=${data.paypal_link} target="_blank">${data.paypal_link}</a>.` +Hier kannst du für das Projekt spenden: <a class="link" href=${data.paypal_link} target="_blank">${env.PUBLIC_PAYPAL_LINK}</a>.` : '' }</p>` }, diff --git a/src/routes/register/RegistrationComplete.svelte b/src/routes/register/RegistrationComplete.svelte index a378cb1..a478e9f 100644 --- a/src/routes/register/RegistrationComplete.svelte +++ b/src/routes/register/RegistrationComplete.svelte @@ -59,6 +59,13 @@ >. </p> <p>Alle weiteren Informationen werden in der Whatsapp-Gruppe bekannt gegeben.</p> +<p class="mt-1">Weiterführende Links:</p> +<ul class="list-disc pl-8"> + <li><a class="link" href="{env.PUBLIC_BASE_PATH}/faq" target="_blank">FAQ</a></li> + <li><a class="link" href={env.PUBLIC_TS_LINK} target="_blank">TeamSpeak</a></li> + <li><a class="link" href={env.PUBLIC_DISCORD_LINK} target="_blank">Discord</a></li> + <li><a class="link" href={env.PUBLIC_PAYPAL_LINK} target="_blank">PayPal Spendenlink</a></li> +</ul> <div class="divider" /> <div class="flex justify-around mt-2 mb-4"> <div class="grid grid-cols-1 sm:grid-cols-2 w-full sm:w-fit gap-x-4 gap-y-2"> diff --git a/src/routes/reports/+page.server.ts b/src/routes/reports/+page.server.ts new file mode 100644 index 0000000..0d5a440 --- /dev/null +++ b/src/routes/reports/+page.server.ts @@ -0,0 +1,15 @@ +import type { PageServerLoad } from './$types'; +import { Report, Settings } from '$lib/server/database'; + +export const load: PageServerLoad = async () => { + return { + created: Report.findAll({ where: {} }), + + enabled: (await Settings.findOne({ where: { key: 'register.enabled' } }))?.value ?? true, + disabled_title: + (await Settings.findOne({ where: { key: 'register.disabled_title' } }))?.value ?? + 'Anmeldung geschlossen', + disabled_details: + (await Settings.findOne({ where: { key: 'register.disabled_details' } }))?.value ?? '' + }; +}; diff --git a/src/routes/reports/+page.svelte b/src/routes/reports/+page.svelte new file mode 100644 index 0000000..e69de29