feat: add privacy policy and terms of service pages with CMS content

This commit is contained in:
Do Siki
2026-04-26 23:30:53 +02:00
parent 703ce7f1d0
commit feb68436cb
8 changed files with 292 additions and 3 deletions
+54
View File
@@ -0,0 +1,54 @@
import { content } from '@/content'
export const metadata = {
title: `${content.pages.adatvedelem.title} | ${content.common.labels.features || 'mozdIT Bt.'}`,
description: 'Adatvédelmi tájékoztató - ismerje meg, hogyan kezeljük személyes adatait.',
}
export default function PrivacyPolicy() {
const pageContent = content.pages.adatvedelem
return (
<div className="py-20 lg:py-28 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="mb-12">
<h1
className="text-4xl md:text-5xl font-bold mb-4"
style={{ color: 'var(--color-foreground)' }}
>
{pageContent.title}
</h1>
<p
className="text-sm"
style={{ color: 'var(--color-foreground-muted)' }}
>
Utolsó frissítés: {pageContent.lastUpdated}
</p>
</div>
<div className="space-y-12">
{pageContent.sections.map((section) => (
<section key={section.id}>
<h2
className="text-2xl font-semibold mb-4"
style={{ color: 'var(--color-foreground)' }}
>
{section.title}
</h2>
<div
className="prose max-w-none"
style={{ color: 'var(--color-foreground-muted)' }}
dangerouslySetInnerHTML={{
// Ehelyett a valódi alkalmazásban javasolt egy Markdown parser, de az egyszerűség kedvéért a sima sortöréseket lekezeljük
__html: section.content
.replace(/\n\n/g, '</p><p class="mb-4">')
.replace(/• \*\*(.*?)\*\*/g, '<br/>• <strong>$1</strong>')
.replace(/^/, '<p class="mb-4">')
.replace(/$/, '</p>')
}}
/>
</section>
))}
</div>
</div>
)
}
@@ -0,0 +1,53 @@
import { content } from '@/content'
export const metadata = {
title: `${content.pages.hasznalatiFeltetelek.title} | ${content.common.labels.features || 'mozdIT Bt.'}`,
description: 'Általános Szerződési Feltételek - Ismerje meg a mozdIT Bt. szolgáltatásainak használati feltételeit.',
}
export default function TermsOfService() {
const pageContent = content.pages.hasznalatiFeltetelek
return (
<div className="py-20 lg:py-28 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="mb-12">
<h1
className="text-4xl md:text-5xl font-bold mb-4"
style={{ color: 'var(--color-foreground)' }}
>
{pageContent.title}
</h1>
<p
className="text-sm"
style={{ color: 'var(--color-foreground-muted)' }}
>
Utolsó frissítés: {pageContent.lastUpdated}
</p>
</div>
<div className="space-y-12">
{pageContent.sections.map((section) => (
<section key={section.id}>
<h2
className="text-2xl font-semibold mb-4"
style={{ color: 'var(--color-foreground)' }}
>
{section.title}
</h2>
<div
className="prose max-w-none"
style={{ color: 'var(--color-foreground-muted)' }}
dangerouslySetInnerHTML={{
__html: section.content
.replace(/\n\n/g, '</p><p class="mb-4">')
.replace(/• \*\*(.*?)\*\*/g, '<br/>• <strong>$1</strong>')
.replace(/^/, '<p class="mb-4">')
.replace(/$/, '</p>')
}}
/>
</section>
))}
</div>
</div>
)
}
+10 -3
View File
@@ -20,7 +20,8 @@ import type {
HomePageContent,
AboutPageContent,
ServicesPageContent,
ContactPageContent
ContactPageContent,
LegalPageContent
} from './types'
// Import JSON files
@@ -29,6 +30,8 @@ import homeJson from './pages/home.json'
import aboutJson from './pages/about.json'
import servicesJson from './pages/services.json'
import contactJson from './pages/contact.json'
import adatvedelemJson from './pages/adatvedelem.json'
import hasznalatiFeltetelekJson from './pages/hasznalati-feltetelek.json'
// Type assertions for JSON imports
const common: CommonContent = commonJson as CommonContent
@@ -36,6 +39,8 @@ const home: HomePageContent = homeJson as HomePageContent
const about: AboutPageContent = aboutJson as AboutPageContent
const services: ServicesPageContent = servicesJson as ServicesPageContent
const contact: ContactPageContent = contactJson as ContactPageContent
const adatvedelem: LegalPageContent = adatvedelemJson as LegalPageContent
const hasznalatiFeltetelek: LegalPageContent = hasznalatiFeltetelekJson as LegalPageContent
// Combined content object
export const content: SiteContent = {
@@ -44,7 +49,9 @@ export const content: SiteContent = {
home,
about,
services,
contact
contact,
adatvedelem,
hasznalatiFeltetelek
}
}
@@ -56,7 +63,7 @@ export function getPageContent<T extends keyof SiteContent['pages']>(
}
// Export individual content for direct imports
export { common, home, about, services, contact }
export { common, home, about, services, contact, adatvedelem, hasznalatiFeltetelek }
// Re-export types
export * from './types'
+31
View File
@@ -0,0 +1,31 @@
{
"title": "Adatvédelmi Tájékoztató",
"lastUpdated": "2026. április 26.",
"sections": [
{
"id": "bevezetes",
"title": "1. Bevezetés",
"content": "A mozdIT Bt. (székhely: Budapest, Magyarország; e-mail: info@mozdit.hu) mint adatkezelő elkötelezett a felhasználók személyes adatainak védelme iránt. Jelen tájékoztató célja, hogy az Európai Unió Általános Adatvédelmi Rendelete (GDPR) előírásainak megfelelően átlátható módon bemutassa cégünk adatkezelési gyakorlatát."
},
{
"id": "adatkezeles-celja",
"title": "2. Milyen adatokat kezelünk, mi a céljuk és a jogalapjuk?",
"content": "A szolgáltatásaink nyújtása során az alábbi adatokat kezeljük:\n\n• **Kapcsolatfelvétel és űrlapok:** Név, e-mail cím, telefonszám, a beküldött üzenet tartalma. (Cél: ügyfélkapcsolat, árajánlatadás. Jogalap: hozzájárulás és szerződést megelőző lépések.)\n• **Ügyfél-nyilvántartás és számlázás:** Számlázási név és cím, adószám, kapcsolattartó adatai. (Cél: szolgáltatás biztosítása, számlázás. Jogalap: jogi kötelezettség, szerződés teljesítése.)\n• **Webtárhely és e-mail szolgáltatás:** Technikai naplófájlok (IP címek, belépési időpontok), e-mail forgalmi adatok szűrése (spam, vírusok). (Cél: IT biztonság fenntartása, szolgáltatás biztosítása. Jogalap: szerződés teljesítése, jogos érdek.)\n• **Domain-regisztráció:** Tulajdonosi és kapcsolattartói adatok. (Cél: domain delegáció ügyintézése a regisztrátorok felé. Jogalap: szerződés teljesítése.)\n• **Sütik (Cookies):** Weboldalunk a megfelelő technikai működés érdekében alapvető (munkamenet) sütiket használ. Harmadik fél analitikai kódjait (pl. Meta pixel) jelenleg nem használjuk az alapvető nyomkövetéshez."
},
{
"id": "adattovabbitas",
"title": "3. Adattovábbítás és adatfeldolgozók",
"content": "A személyes adatokat bizalmasan kezeljük, és alapvetően a mozdIT Bt. saját, dedikált infrastruktúráján tároljuk. Harmadik félnek csak jogszabályi kötelezettség alapján (pl. NAV részére könyvelési okokból), illetve a domain-regisztrációs szolgáltatások keretében továbbítunk adatokat az illetékes regisztrátorok (pl. ISZT) felé."
},
{
"id": "adatmegorzes",
"title": "4. Az adatkezelés időtartama",
"content": "A számviteli bizonylatokat a Számviteli törvény értelmében 8 évig megőrizzük. A kapcsolatfelvételi űrlapon megadott, de szerződéssel nem végződő adatokat az ügy lezárását követő 1 év elteltével töröljük. A webszerverek technikai naplófájljait (logokat) a biztonsági és üzemeltetési feladatok ellátása céljából legfeljebb 30 napig őrizzük meg."
},
{
"id": "jogok",
"title": "5. Az érintettek jogai",
"content": "Az érintettek bármikor tájékoztatást kérhetnek adataik kezeléséről, kérhetik azok helyesbítését, törlését (a kötelező adatkezelések kivételével) vagy zárolását. Kérésüket az info@mozdit.hu e-mail címre küldhetik el, amire indokolatlan késedelem nélkül, de legkésőbb egy hónapon belül válaszolunk. Jogosulatlan adatkezelés esetén a Nemzeti Adatvédelmi és Információszabadság Hatósághoz (NAIH) lehet fordulni panasszal."
}
]
}
@@ -0,0 +1,31 @@
{
"title": "Használati Feltételek (ÁSZF)",
"lastUpdated": "2026. április 26.",
"sections": [
{
"id": "bevezetes",
"title": "1. Általános rendelkezések",
"content": "Jelen Általános Szerződési Feltételek (ÁSZF) a mozdIT Bt. (székhely: Budapest, Magyarország; e-mail: info@mozdit.hu) által nyújtott webtárhely, e-mail szolgáltatás és domain regisztráció szolgáltatásainak igénybevételére vonatkozó szabályokat tartalmazzák. A szolgáltatások megrendelésével és használatával az Ügyfél elfogadja jelen feltételeket."
},
{
"id": "szolgaltatasok",
"title": "2. Szolgáltatások leírása",
"content": "A mozdIT Bt. dedikált szerverein nyújt webtárhely, e-mail fiók és DNS szolgáltatásokat. A szolgáltatások garantált rendelkezésre állása 99,9% éves szinten. A szolgáltató automatikus biztonsági mentéseket végez, de javasolja az Ügyfél számára is az adatai rendszeres mentését."
},
{
"id": "ugyfel-kotelezettsegei",
"title": "3. Az Ügyfél kötelezettségei",
"content": "Az Ügyfél köteles a szolgáltatásokat rendeltetésszerűen használni. Szigorúan tilos a tárhelyen és e-mail fiókokban illegális, szerzői jogot sértő tartalmak elhelyezése, valamint spam (kéretlen reklámlevél) tömeges küldése. A Szolgáltató fenntartja a jogot, hogy jogsértés vagy hálózatot veszélyeztető tevékenység (pl. DDoS forrás) észlelése esetén a szolgáltatást előzetes értesítés nélkül azonnal szüneteltesse vagy megszüntesse."
},
{
"id": "dijazas",
"title": "4. Díjazás és fizetési feltételek",
"content": "A szolgáltatások díjai a felek által megkötött egyedi megállapodás vagy elfogadott árajánlat alapján fizetendők. A számlázás elektronikus úton történik. A fizetési határidő elmulasztása esetén a Szolgáltató jogosult a szolgáltatás szüneteltetésére, melyről az Ügyfelet előzetesen e-mailben értesíti."
},
{
"id": "felelosseg",
"title": "5. Felelősségkorlátozás",
"content": "A Szolgáltató mindent megtesz az adatok biztonsága és a folyamatos üzemeltetés érdekében, ugyanakkor nem vállal felelősséget a vis maior, illetve a harmadik felek által okozott (pl. hálózati) kimaradások miatti esetleges adatvesztésért vagy elmaradt haszonért."
}
]
}
+13
View File
@@ -166,6 +166,16 @@ export interface CommonContent {
}
}
export interface LegalPageContent {
title: string
lastUpdated: string
sections: {
id: string
title: string
content: string
}[]
}
// Main content structure
export interface SiteContent {
common: CommonContent
@@ -174,5 +184,8 @@ export interface SiteContent {
about: AboutPageContent
services: ServicesPageContent
contact: ContactPageContent
adatvedelem: LegalPageContent
hasznalatiFeltetelek: LegalPageContent
}
}