From: Daniel Karbach Date: Thu, 31 Jul 2025 10:07:33 +0000 (+0200) Subject: discord legal pages X-Git-Url: http://git.localhorst.tv/?a=commitdiff_plain;h=ac377e21a5db48914e2502ec513b89d3115e3513;p=alttp.git discord legal pages --- diff --git a/resources/js/app/Routes.jsx b/resources/js/app/Routes.jsx index abfeee4..f5aa150 100644 --- a/resources/js/app/Routes.jsx +++ b/resources/js/app/Routes.jsx @@ -24,6 +24,20 @@ const router = createBrowserRouter( '../pages/DiscordBot' )} /> + import( + /* webpackChunkName: "discord" */ + '../pages/DiscordPrivacy' + )} + /> + import( + /* webpackChunkName: "discord" */ + '../pages/DiscordTerms' + )} + /> } diff --git a/resources/js/i18n/de.js b/resources/js/i18n/de.js index b3e2dd4..a28d86d 100644 --- a/resources/js/i18n/de.js +++ b/resources/js/i18n/de.js @@ -203,6 +203,18 @@ export default { userSubscriptions: 'Abonnierte Benutzer', userUnsubError: 'Fehler beim Kündigen', }, + discordPrivacy: { + date: 'Letzte Änderung: {{ date, LL }}', + heading: 'Discord Bot Datenschutzbestimmungen', + p1: 'Wenn du den Discord Bot auf deinen Server einlädst, läd er die Channel-Liste, Rollen-Liste und User-Liste. Das wird benutzt, um die Steuerelemente auf der Weboberfläche zu füllen.', + p2: 'Daten im Zusammenhang mit DMs und Interaktionen werden nur zur Abhandlung im Arbeitsspeicher behalten und NICHT permanent gespeichert.', + }, + discordTerms: { + date: 'Letzte Änderung: {{ date, LL }}', + heading: 'Discord Bot Nutzungsbedingungen', + p1: 'Jedem steht frei, den Discord Bot einzuladen und die bereitgestellten Funktionen zu nutzen.', + p2: 'Die Nützlichkeit ebbt jedoch stark ab, wenn man nicht an Retro Speedrun und Randomizer Races interessiert ist.', + }, episodes: { addPlayer: 'Spieler hinzufügen', addRestream: 'Neuer Restream', diff --git a/resources/js/i18n/en.js b/resources/js/i18n/en.js index 5e63ab9..fd7d9f6 100644 --- a/resources/js/i18n/en.js +++ b/resources/js/i18n/en.js @@ -203,6 +203,18 @@ export default { userSubscriptions: 'User subscriptions', userUnsubError: 'Error unsubscribing', }, + discordPrivacy: { + date: 'Last changed: {{ date, LL }}', + heading: 'Discord Bot Privacy Policy', + p1: 'When you add this bot to your server, it loads the channel list, role list and user list. This is to populate the control elements on the web interface.', + p2: 'Data involved in handling DMs and interactions are processed in RAM and are NOT stored on disk.', + }, + discordTerms: { + date: 'Last changed: {{ date, LL }}', + heading: 'Discord Bot Terms of Service', + p1: 'Anyone is free to invite this bot to their discord server and use its functions as they see fit.', + p2: 'Its usefulness, however, greatly decreases if you\'re not into retro speedrun and randomizer races.', + }, episodes: { addPlayer: 'Add player', addRestream: 'Add Restream', diff --git a/resources/js/pages/DiscordPrivacy.jsx b/resources/js/pages/DiscordPrivacy.jsx new file mode 100644 index 0000000..eb4e604 --- /dev/null +++ b/resources/js/pages/DiscordPrivacy.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Container } from 'react-bootstrap'; +import { Helmet } from 'react-helmet'; +import { useTranslation } from 'react-i18next'; + +const TERMS_DATE = new Date('2025-07-31T10:00:00Z'); + +export const Component = () => { + const { t } = useTranslation(); + + return +

{t('discordPrivacy.heading')}

+ + {t('discordPrivacy.heading')} + +

{t('discordPrivacy.p1')}

+

{t('discordPrivacy.p2')}

+

{t('discordPrivacy.date', { date: TERMS_DATE })}

+
; +}; diff --git a/resources/js/pages/DiscordTerms.jsx b/resources/js/pages/DiscordTerms.jsx new file mode 100644 index 0000000..9e097ae --- /dev/null +++ b/resources/js/pages/DiscordTerms.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Container } from 'react-bootstrap'; +import { Helmet } from 'react-helmet'; +import { useTranslation } from 'react-i18next'; + +const PRIVACY_DATE = new Date('2025-07-31T10:00:00Z'); + +export const Component = () => { + const { t } = useTranslation(); + + return +

{t('discordTerms.heading')}

+ + {t('discordTerms.heading')} + +

{t('discordTerms.p1')}

+

{t('discordTerms.p2')}

+

{t('discordTerms.date', { date: PRIVACY_DATE })}

+
; +};