Files
SaaS-PDF/frontend/src/pages/PrivacyPage.tsx
Your Name f933ffa8a0 chore: update project branding from SaaS-PDF to Dociva
- Updated robots.txt to reflect new site name and sitemap URL.
- Modified sitemap.xml to change all URLs from saas-pdf.com to dociva.io.
- Changed storage key for site assistant in SiteAssistant.tsx.
- Updated SEOHead.tsx to change site name in meta tags.
- Translated app name and related text in Arabic, English, and French JSON files.
- Updated contact email in ContactPage.tsx, PrivacyPage.tsx, and TermsPage.tsx.
- Changed internal admin page title to reflect new branding.
- Updated pricing page meta description to reference Dociva.
- Adjusted Nginx configuration for new domain.
- Modified deployment script to reflect new branding.
- Updated sitemap generation script to use new domain.
2026-03-16 21:51:12 +02:00

66 lines
2.2 KiB
TypeScript

import { useTranslation } from 'react-i18next';
import SEOHead from '@/components/seo/SEOHead';
import { generateWebPage } from '@/utils/seo';
import { FILE_RETENTION_MINUTES } from '@/config/toolLimits';
const LAST_UPDATED = '2026-03-06';
const CONTACT_EMAIL = 'support@dociva.io';
export default function PrivacyPage() {
const { t } = useTranslation();
const fileItems = t('pages.privacy.fileHandlingItems', { minutes: FILE_RETENTION_MINUTES, returnObjects: true }) as string[];
const thirdPartyItems = t('pages.privacy.thirdPartyItems', { returnObjects: true }) as string[];
return (
<>
<SEOHead
title={t('pages.privacy.title')}
description={t('pages.privacy.metaDescription')}
path="/privacy"
jsonLd={generateWebPage({
name: t('pages.privacy.title'),
description: t('pages.privacy.metaDescription'),
url: `${window.location.origin}/privacy`,
})}
/>
<div className="prose mx-auto max-w-2xl dark:prose-invert">
<h1>{t('pages.privacy.title')}</h1>
<p><em>{t('pages.privacy.lastUpdated', { date: LAST_UPDATED })}</em></p>
<h2>{t('pages.privacy.dataCollectionTitle')}</h2>
<p>{t('pages.privacy.dataCollectionText')}</p>
<h2>{t('pages.privacy.fileHandlingTitle')}</h2>
{Array.isArray(fileItems) && (
<ul>
{fileItems.map((item, idx) => <li key={idx}>{item}</li>)}
</ul>
)}
<h2>{t('pages.privacy.cookiesTitle')}</h2>
<p>{t('pages.privacy.cookiesText')}</p>
<h2>{t('pages.privacy.thirdPartyTitle')}</h2>
{Array.isArray(thirdPartyItems) && (
<ul>
{thirdPartyItems.map((item, idx) => <li key={idx}>{item}</li>)}
</ul>
)}
<h2>{t('pages.privacy.securityTitle')}</h2>
<p>{t('pages.privacy.securityText')}</p>
<h2>{t('pages.privacy.rightsTitle')}</h2>
<p>{t('pages.privacy.rightsText', { minutes: FILE_RETENTION_MINUTES })}</p>
<h2>{t('pages.privacy.contactTitle')}</h2>
<p>
{t('pages.privacy.contactText')}{' '}
<a href={`mailto:${CONTACT_EMAIL}`}>{CONTACT_EMAIL}</a>.
</p>
</div>
</>
);
}