regulamin i polityka na stronie głównej
Deploy PROD / deploy (push) Successful in 25s

This commit is contained in:
2026-09-02 10:56:41 +02:00
parent 7fc35a1955
commit 7b4d367a06
3 changed files with 89 additions and 38 deletions
+23 -3
View File
@@ -1,4 +1,6 @@
import { PublicLayout } from './PublicLayout'
import { Link } from 'react-router-dom'
import { AcademyLayout } from '../../academy/AcademyLayout'
import { Icon } from '../../components/Icon'
import { useLegal } from '../../lib/useLegal'
/**
@@ -9,6 +11,15 @@ import { useLegal } from '../../lib/useLegal'
* obecne, a w miejsce danych firmy podstawiane sa wartosci z konfiguracji.
* Obowiazek informacyjny RODO jest juz czescia tresci polityki, wiec strona
* tylko ja wyswietla.
*
* UZYWA `AcademyLayout`, nie `PublicLayout`.
* ---------------------------------------------------------------------------
* Regulamin i polityka to strony serwisu, do ktorych uzytkownik trafia ze
* stopki strony glownej, wiec maja miec ten sam naglowek i te sama stopke co
* strona glowna: pasek nawigacji (Kursy/Webinary/Cennik), odnosnik do panelu
* albo konta zaleznie od zalogowania oraz logo linkujace do strony glownej.
* `PublicLayout` jest waski i pozbawiony nawigacji - pasuje do formularza
* zapisu otwieranego z linku w mailu, nie do samodzielnej strony serwisu.
*/
export function LegalPage({ kind }: { kind: 'terms' | 'privacy' }) {
const legal = useLegal()
@@ -17,8 +28,17 @@ export function LegalPage({ kind }: { kind: 'terms' | 'privacy' }) {
const html = kind === 'terms' ? legal.data?.termsHtml : legal.data?.privacyHtml
return (
<PublicLayout wide>
<AcademyLayout>
<article className="space-y-6">
{/* Wyrazny powrot do strony glownej nad tytulem, obok logo w naglowku. */}
<Link
to="/"
className="inline-flex items-center gap-1.5 text-sm text-slate-500 transition-colors duration-fast hover:text-slate-900"
>
<Icon name="arrow-left" size={16} />
Strona główna
</Link>
<h1 className="text-2xl font-semibold text-slate-900">{title}</h1>
{legal.isPending ? (
@@ -32,6 +52,6 @@ export function LegalPage({ kind }: { kind: 'terms' | 'privacy' }) {
/>
)}
</article>
</PublicLayout>
</AcademyLayout>
)
}