Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { PublicLayout } from './PublicLayout'
|
||||
import { useLegal } from '../../lib/useLegal'
|
||||
|
||||
/**
|
||||
* Strona regulaminu albo polityki prywatnosci.
|
||||
*
|
||||
* Tresc pochodzi z gotowych, wbudowanych dokumentow (backend sklada je z danych
|
||||
* firmy z ustawien). Administrator nie pisze prawa - dokumenty sa zawsze
|
||||
* obecne, a w miejsce danych firmy podstawiane sa wartosci z konfiguracji.
|
||||
* Obowiazek informacyjny RODO jest juz czescia tresci polityki, wiec strona
|
||||
* tylko ja wyswietla.
|
||||
*/
|
||||
export function LegalPage({ kind }: { kind: 'terms' | 'privacy' }) {
|
||||
const legal = useLegal()
|
||||
|
||||
const title = kind === 'terms' ? 'Regulamin' : 'Polityka prywatności'
|
||||
const html = kind === 'terms' ? legal.data?.termsHtml : legal.data?.privacyHtml
|
||||
|
||||
return (
|
||||
<PublicLayout wide>
|
||||
<article className="space-y-6">
|
||||
<h1 className="text-2xl font-semibold text-slate-900">{title}</h1>
|
||||
|
||||
{legal.isPending ? (
|
||||
<p className="text-sm text-slate-500">Wczytywanie...</p>
|
||||
) : (
|
||||
// tresc jest skladana po stronie serwera z zaufanych stalych i
|
||||
// escapowanych danych firmy - nie przechodzi przez edytor uzytkownika
|
||||
<div
|
||||
className="prose prose-slate max-w-none"
|
||||
dangerouslySetInnerHTML={{ __html: html ?? '' }}
|
||||
/>
|
||||
)}
|
||||
</article>
|
||||
</PublicLayout>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user