From 7b4d367a06ff9e0d60335586af9a15eb5490d979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Zatorski?= Date: Wed, 2 Sep 2026 10:56:41 +0200 Subject: [PATCH] =?UTF-8?q?regulamin=20i=20polityka=20na=20stronie=20g?= =?UTF-8?q?=C5=82=C3=B3wnej?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../softspm/webinar/settings/SettingKey.java | 15 ++-- frontend/src/academy/AcademyLayout.tsx | 86 ++++++++++++------- frontend/src/pages/public/LegalPage.tsx | 26 +++++- 3 files changed, 89 insertions(+), 38 deletions(-) diff --git a/backend/src/main/java/com/softspm/webinar/settings/SettingKey.java b/backend/src/main/java/com/softspm/webinar/settings/SettingKey.java index c721b6a..8f419cc 100644 --- a/backend/src/main/java/com/softspm/webinar/settings/SettingKey.java +++ b/backend/src/main/java/com/softspm/webinar/settings/SettingKey.java @@ -426,16 +426,19 @@ public enum SettingKey { "Linia w stopce: nazwa spółki, adres, numery rejestrowe.", Requirement.OPTIONAL_EMPTY), /* - * Adresy dokumentow, a nie ich tresc. Regulamin i polityka prywatnosci - * bywaja wspolne dla calej firmy i utrzymywane poza ta aplikacja, wiec - * wskazanie adresu jest tansze niz przepisywanie dokumentu do panelu. - * Puste ukrywa odnosnik: lepiej go nie pokazac, niz prowadzic donikad. + * NADPISANIE adresu dokumentu, a nie jego tresc. Platforma ma wbudowany + * regulamin (UswiadUE) i polityke prywatnosci (RODO), skladane z danych + * firmy: strony `/regulamin` i `/polityka-prywatnosci` istnieja zawsze. + * Te dwa klucze sluza wylacznie instancji, ktora utrzymuje wspolny dla + * calej firmy dokument poza ta aplikacja i chce na niego kierowac. + * Puste NIE ukrywa juz odnosnika: stopka prowadzi wtedy do strony + * wbudowanej, ktora zawsze ma tresc. */ ACADEMY_TERMS_URL(SettingType.STRING, "", - "Adres regulaminu. Puste ukrywa odnośnik w stopce.", + "Zewnętrzny adres regulaminu. Puste = wbudowany regulamin platformy.", Requirement.OPTIONAL_EMPTY), ACADEMY_PRIVACY_URL(SettingType.STRING, "", - "Adres polityki prywatności. Puste ukrywa odnośnik w stopce.", + "Zewnętrzny adres polityki prywatności. Puste = wbudowana polityka platformy.", Requirement.OPTIONAL_EMPTY), /* * Prog uznania lekcji wideo za obejrzana. Wartosc domyslna jest nizsza niz diff --git a/frontend/src/academy/AcademyLayout.tsx b/frontend/src/academy/AcademyLayout.tsx index 266eb85..3804257 100644 --- a/frontend/src/academy/AcademyLayout.tsx +++ b/frontend/src/academy/AcademyLayout.tsx @@ -206,11 +206,17 @@ function initials(firstName: string | null, lastName: string | null) { * wybrano 1a, bo miesci odnosniki serwisowe i dane spolki, ktore i tak * musza gdzies byc, a jednolinijkowa wersja wypycha je do tresci strony. * - * KAZDY ODNOSNIK JEST OPCJONALNY. + * REGULAMIN I POLITYKA ZAWSZE MAJA DOKAD PROWADZIC. * --------------------------------------------------------------------------- - * Pusty adres regulaminu UKRYWA odnosnik, zamiast prowadzic pod pusta - * sciezke: odnosnik donikad jest gorszy niz jego brak. Znika sam odnosnik, - * nie cala stopka. + * Platforma ma WBUDOWANE dokumenty prawne (`/regulamin`, + * `/polityka-prywatnosci`): regulamin wedlug UswiadUE i polityke wedlug RODO, + * skladane z danych firmy z ustawien. Odnosnik prowadzi wiec domyslnie do + * naszej wlasnej strony i NIGDY nie jest martwy. + * + * Adres zewnetrzny (`termsUrl`/`privacyUrl` z ustawien) jest wylacznie + * NADPISANIEM dla instancji, ktora utrzymuje wspolny dla firmy dokument poza + * ta aplikacja. Pusty adres nie ukrywa juz odnosnika: kieruje go na strone + * wbudowana, ktora zawsze istnieje. */ export function AcademyFooter({ text, @@ -218,7 +224,9 @@ export function AcademyFooter({ privacyUrl, }: { text?: string + /** Zewnetrzny adres regulaminu. Puste = strona wbudowana `/regulamin`. */ termsUrl?: string + /** Zewnetrzny adres polityki. Puste = strona wbudowana `/polityka-prywatnosci`. */ privacyUrl?: string }) { const { brandName } = usePublicConfig() @@ -262,31 +270,16 @@ export function AcademyFooter({

Dokumenty