Added TOS + Privacy
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"pp": {
|
||||
"lastUpdated": "Last Updated: 06/19/2024",
|
||||
"pageTitle": "Privacy Policy",
|
||||
"introText": "LK Results (\"we\", \"our\", or \"us\") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, and safeguard your information when you visit our website lk-results.com (the \"Site\") and use our contact form.",
|
||||
"pp1": {
|
||||
"title": "1. Information We Collect",
|
||||
"desc": "We may collect personal information that you voluntarily provide when you fill out the contact form on our Site. This includes:\n\nName\nEmail address\nPhone number\nCompany name\nAny other information you choose to provide in your message."
|
||||
},
|
||||
"pp2": {
|
||||
"title": "2. How We Use Your Information",
|
||||
"desc": "We use the information we collect to:\n\nRespond to your inquiries and provide customer support.\nCommunicate with you about your inquiries or services you have requested.\nImprove our Site and the services we offer.\nMonitor and analyze usage and trends to enhance user experience."
|
||||
},
|
||||
"pp3": {
|
||||
"title": "3. Sharing Your Information",
|
||||
"desc": "We do not sell or rent your personal information to third parties. We may share your information only in the following circumstances:\n\nWith Service Providers: We may share your information with third-party service providers who assist us in operating our Site or conducting our business, so long as those parties agree to keep this information confidential.\nFor Legal Purposes: We may disclose your information if required by law or in response to valid requests by public authorities (e.g., a court or government agency)."
|
||||
},
|
||||
"pp4": {
|
||||
"title": "4. Security of Your Information",
|
||||
"desc": "We implement appropriate security measures to protect your personal information from unauthorized access, use, or disclosure. However, please note that no method of transmission over the internet or method of electronic storage is 100% secure, and we cannot guarantee absolute security."
|
||||
},
|
||||
"pp5": {
|
||||
"title": "5. Retention of Your Information",
|
||||
"desc": "We will retain your personal information for as long as necessary to fulfill the purposes for which it was collected or to comply with legal requirements."
|
||||
},
|
||||
"pp6": {
|
||||
"title": "6. Your Rights",
|
||||
"desc": "Depending on your location, you may have the right to:\n\nAccess and receive a copy of the personal information we hold about you.\nRequest correction or deletion of your personal information.\nObject to or request the restriction of processing your personal information.\nWithdraw your consent to the use of your personal information, where consent was the basis for processing."
|
||||
},
|
||||
"pp7": {
|
||||
"title": "7. Changes to This Privacy Policy",
|
||||
"desc": "We may update this Privacy Policy from time to time. Changes will be posted on this page, and the \"Last Updated\" date will be revised. Your continued use of the Site after any changes indicates your acceptance of the new Privacy Policy."
|
||||
},
|
||||
"pp8": {
|
||||
"title": "8. Contact Us",
|
||||
"desc": "If you have any questions about these Privacy Policy, please contact us at:\n\nLK Results\[email protected]\n(+351) 923-543-517"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"pp": {
|
||||
"lastUpdated": "Última Atualização: 06/19/2024",
|
||||
"pageTitle": "Política de Privacidade",
|
||||
"introText": "LK Results (\"nós\", \"nosso\" ou \"nos\") está comprometido com a proteção da sua privacidade. Esta Política de Privacidade explica como recolhemos, utilizamos e protegemos as suas informações quando visita o nosso website lk-results.com (o \"Site\") e utiliza o nosso formulário de contacto.",
|
||||
"pp1": {
|
||||
"title": "1. Informações que Recolhemos",
|
||||
"desc": "Podemos recolher informações pessoais que você fornece voluntariamente ao preencher o formulário de contacto no nosso Site. Isto inclui:\n\nNome\nEndereço de Email\nNúmero de Telefone\nNome da Empresa\nQualquer outra informação que decida fornecer na sua mensagem."
|
||||
},
|
||||
"pp2": {
|
||||
"title": "2. Como Utilizamos as Suas Informações",
|
||||
"desc": "Utilizamos as informações que recolhemos para:\n\nResponder às suas perguntas e fornecer suporte ao cliente.\nComunicar consigo sobre as suas questões ou serviços que solicitou.\nMelhorar o nosso Site e os serviços que oferecemos.\nMonitorizar e analisar o uso e as tendências para melhorar a experiência do utilizador."
|
||||
},
|
||||
"pp3": {
|
||||
"title": "3. Partilha das Suas Informações",
|
||||
"desc": "Não vendemos nem alugamos as suas informações pessoais a terceiros. Podemos partilhar as suas informações apenas nas seguintes circunstâncias:\n\nCom Fornecedores de Serviços: Podemos partilhar as suas informações com fornecedores de serviços terceiros que nos assistem na operação do nosso Site ou na condução do nosso negócio, desde que essas partes concordem em manter essa informação confidencial.\nPara Fins Legais: Podemos divulgar as suas informações se exigido por lei ou em resposta a pedidos válidos de autoridades públicas (por exemplo, um tribunal ou agência governamental)."
|
||||
},
|
||||
"pp4": {
|
||||
"title": "4. Segurança das Suas Informações",
|
||||
"desc": "Implementamos medidas de segurança apropriadas para proteger as suas informações pessoais contra acesso, uso ou divulgação não autorizados. No entanto, note que nenhum método de transmissão pela internet ou método de armazenamento eletrónico é 100% seguro, e não podemos garantir segurança absoluta."
|
||||
},
|
||||
"pp5": {
|
||||
"title": "5. Retenção das Suas Informações",
|
||||
"desc": "Reteremos as suas informações pessoais pelo tempo necessário para cumprir os propósitos para os quais foram recolhidas ou para cumprir os requisitos legais."
|
||||
},
|
||||
"pp6": {
|
||||
"title": "6. Os Seus Direitos",
|
||||
"desc": "Dependendo da sua localização, pode ter o direito de:\n\nAceder e receber uma cópia das informações pessoais que mantemos sobre si.\nSolicitar a correção ou eliminação das suas informações pessoais.\nOpor-se ao processamento ou solicitar a restrição do processamento das suas informações pessoais.\nRetirar o seu consentimento para o uso das suas informações pessoais, quando o consentimento foi a base para o processamento."
|
||||
},
|
||||
"pp7": {
|
||||
"title": "7. Alterações a Esta Política de Privacidade",
|
||||
"desc": "Podemos atualizar esta Política de Privacidade periodicamente. As alterações serão publicadas nesta página, e a data de \"Última Atualização\" será revista. A sua utilização contínua do Site após quaisquer alterações indica a sua aceitação da nova Política de Privacidade."
|
||||
},
|
||||
"pp8": {
|
||||
"title": "8. Contacte-nos",
|
||||
"desc": "Se tiver alguma pergunta sobre esta Política de Privacidade, por favor, contacte-nos em:\n\nLK Results\[email protected]\n(+351) 923-543-517"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"tos": {
|
||||
"lastUpdated": "Last Updated: 06/19/2024",
|
||||
"pageTitle": "Terms and Conditions",
|
||||
"introText": "Welcome to LK Results (\"we\", \"our\", or \"us\"). By accessing or using LK Results (the \"Site\"), you agree to comply with and be bound by these Terms and Conditions (\"Terms\"). Please read these Terms carefully. If you do not agree with any part of these Terms, you must not use the Site.",
|
||||
"tos1": {
|
||||
"title": "1. Use of the Site",
|
||||
"desc": "You agree to use the Site and the contact form for lawful purposes only.\nYou must provide accurate and complete information when filling out the contact form.\nYou agree not to use the form to submit any content that is illegal, harmful, or intended to harass or impersonate others."
|
||||
},
|
||||
"tos2": {
|
||||
"title": "2. User Responsibilities",
|
||||
"desc": "You are responsible for ensuring the security and confidentiality of any personal information you provide.\nYou agree not to use the contact form to send unsolicited commercial messages or spam."
|
||||
},
|
||||
"tos3": {
|
||||
"title": "3. Intellectual Property Rights",
|
||||
"desc": "All content and materials on the Site, including text, graphics, logos, and images, are the property of LK Results or its licensors. You may not use, reproduce, or distribute any content without our prior written permission."
|
||||
},
|
||||
"tos4": {
|
||||
"title": "4. Limitation of Liability",
|
||||
"desc": "To the fullest extent permitted by law, LK Results shall not be liable for any damages resulting from your use of the Site or the contact form, including but not limited to direct, indirect, incidental, or consequential damages."
|
||||
},
|
||||
"tos5": {
|
||||
"title": "5. Changes to Terms",
|
||||
"desc": "We may update these Terms from time to time. Changes will be posted on this page, and the \"Last Updated\" date will be revised. Your continued use of the Site after any changes indicates your acceptance of the new Terms."
|
||||
},
|
||||
"tos6": {
|
||||
"title": "6. Contact Us",
|
||||
"desc": "If you have any questions about these Terms, please contact us at:\n\nLK Results\[email protected]\n(+351) 923-543-517"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"tos": {
|
||||
"lastUpdated": "Última Atualização: 19/06/2024",
|
||||
"pageTitle": "Termos e Condições",
|
||||
"introText": "Bem-vindo(a) ao LK Results (\"nós\", \"nosso\" ou \"nos\"). Ao aceder ou utilizar LK Results (o \"Site\"), você concorda em cumprir e estar vinculado por estes Termos e Condições (\"Termos\"). Por favor, leia estes Termos cuidadosamente. Se não concordar com qualquer parte destes Termos, não deve utilizar o Site.",
|
||||
"tos1": {
|
||||
"title": "1. Utilização do Site",
|
||||
"desc": "Concorda em utilizar o Site e o formulário de contacto apenas para fins legais.\nDeve fornecer informações precisas e completas ao preencher o formulário de contacto.\nConcorda em não utilizar o formulário para enviar qualquer conteúdo que seja ilegal, prejudicial ou destinado a assediar ou fazer-se passar por outras pessoas."
|
||||
},
|
||||
"tos2": {
|
||||
"title": "2. Responsabilidades do Utilizador",
|
||||
"desc": "É responsável por garantir a segurança e a confidencialidade de qualquer informação pessoal que forneça.\nConcorda em não utilizar o formulário de contacto para enviar mensagens comerciais não solicitadas ou spam."
|
||||
},
|
||||
"tos3": {
|
||||
"title": "3. Direitos de Propriedade Intelectual",
|
||||
"desc": "Todo o conteúdo e materiais no Site, incluindo texto, gráficos, logótipos e imagens, são propriedade do LK Results ou dos seus licenciadores. Não pode utilizar, reproduzir ou distribuir qualquer conteúdo sem a nossa permissão prévia por escrito."
|
||||
},
|
||||
"tos4": {
|
||||
"title": "4. Limitação de Responsabilidade",
|
||||
"desc": "Na medida máxima permitida por lei, LK Results não será responsável por quaisquer danos resultantes da sua utilização do Site ou do formulário de contacto, incluindo, mas não limitado a danos diretos, indiretos, incidentais ou consequenciais."
|
||||
},
|
||||
"tos5": {
|
||||
"title": "5. Alterações aos Termos",
|
||||
"desc": "Podemos atualizar estes Termos periodicamente. As alterações serão publicadas nesta página, e a data de \"Última Atualização\" será revista. A sua utilização contínua do Site após quaisquer alterações indica a sua aceitação dos novos Termos."
|
||||
},
|
||||
"tos6": {
|
||||
"title": "6. Contacte-nos",
|
||||
"desc": "Se tiver alguma pergunta sobre estes Termos, por favor, contacte-nos em:\n\nLK Results\[email protected]\n(+351) 923-543-517"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -171,8 +171,9 @@
|
||||
"empty": "Please fill out all the fields before sending the message."
|
||||
}
|
||||
},
|
||||
|
||||
"footer": {
|
||||
"rights": "© 2024 LK Results. All rights reservered."
|
||||
"rights": "© 2024 LK Results. All rights reservered.",
|
||||
"tos": "Terms of Service",
|
||||
"privacy": "Privacy Policy"
|
||||
}
|
||||
}
|
||||
@@ -172,6 +172,8 @@
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"rights": "©2024 Direitos reservados a LK Results"
|
||||
"rights": "©2024 Direitos reservados a LK Results",
|
||||
"tos": "Termos de Serviço",
|
||||
"privacy": "Polítca de Privacidade"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,15 @@
|
||||
import { Route, Routes } from "react-router-dom";
|
||||
import Home from "./routes/Home";
|
||||
import TOS from "./routes/TOS";
|
||||
import PP from "./routes/PP";
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<div className="font-baijam min-h-screen text-white">
|
||||
<Routes>
|
||||
<Route path="*" element={<Home />} />
|
||||
<Route path="tos" element={<TOS />} />
|
||||
<Route path="privacy" element={<PP />} />
|
||||
</Routes>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -21,6 +21,7 @@ const Footer = () => {
|
||||
>
|
||||
<FaLinkedin className="text-gold-light" size={30} />
|
||||
</a>
|
||||
{/* Uncomment these lines if you want to include Instagram and Twitter icons */}
|
||||
{/* <a
|
||||
href="https://instagram.com"
|
||||
target="_blank"
|
||||
@@ -32,6 +33,22 @@ const Footer = () => {
|
||||
<FaXTwitter className="text-gold-light" size={30} />
|
||||
</a> */}
|
||||
</div>
|
||||
|
||||
<div className="flex justify-center space-x-5">
|
||||
<a
|
||||
href="/tos"
|
||||
className="text-gray-400 hover:text-gold-light font-medium"
|
||||
>
|
||||
{t("footer.tos")}
|
||||
</a>
|
||||
<a
|
||||
href="/privacy"
|
||||
className="text-gray-400 hover:text-gold-light font-medium"
|
||||
>
|
||||
{t("footer.privacy")}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p className="text-center text-gray-400 font-medium">
|
||||
{t("footer.rights")}
|
||||
</p>
|
||||
@@ -40,3 +57,4 @@ const Footer = () => {
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useState } from "react";
|
||||
import { useState, useEffect } from "react";
|
||||
import { FaTimes, FaBars } from "react-icons/fa";
|
||||
|
||||
import Logo from "../../assets/logo.svg";
|
||||
@@ -9,15 +9,27 @@ export default () => {
|
||||
const { t, i18n } = useTranslation();
|
||||
|
||||
const [colorChange, setColorChange] = useState(false);
|
||||
const changeColor = () => {
|
||||
if (window.scrollY >= 100) {
|
||||
setColorChange(true);
|
||||
} else {
|
||||
setColorChange(false);
|
||||
}
|
||||
};
|
||||
useEffect(() => {
|
||||
const changeColor = () => {
|
||||
if (window.scrollY >= 100) {
|
||||
setColorChange(true);
|
||||
} else {
|
||||
setColorChange(false);
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener("scroll", changeColor);
|
||||
window.addEventListener("scroll", changeColor);
|
||||
|
||||
const scrollPath = sessionStorage.getItem("scrollPath");
|
||||
if (scrollPath) {
|
||||
smoothScroll(scrollPath);
|
||||
sessionStorage.removeItem("scrollPath");
|
||||
}
|
||||
|
||||
return () => {
|
||||
window.removeEventListener("scroll", changeColor);
|
||||
};
|
||||
}, []);
|
||||
|
||||
const navigation = [
|
||||
{ title: t("navbar.services"), path: "Services" },
|
||||
@@ -27,6 +39,15 @@ export default () => {
|
||||
];
|
||||
|
||||
const handleNavigation = (path: string) => {
|
||||
if ((window.location.pathname === "/tos" || window.location.pathname === "/privacy") && navigation.some(navItem => navItem.path === path)) {
|
||||
sessionStorage.setItem("scrollPath", path);
|
||||
window.location.href = "/";
|
||||
}else{
|
||||
smoothScroll(path)
|
||||
}
|
||||
};
|
||||
|
||||
const smoothScroll = (path :string) => {
|
||||
const element = document.getElementById(path);
|
||||
const navbarHeight = 110; // Replace with your navbar's height
|
||||
if (element) {
|
||||
@@ -34,7 +55,7 @@ export default () => {
|
||||
element.getBoundingClientRect().top + window.scrollY - navbarHeight;
|
||||
window.scrollTo({ top: top, behavior: "smooth" });
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const changeLanguage = (lng: string) => {
|
||||
i18n.changeLanguage(lng);
|
||||
@@ -54,7 +75,11 @@ export default () => {
|
||||
href="Top"
|
||||
onClick={(e) => {
|
||||
e.preventDefault(); // Prevent the default anchor tag behavior
|
||||
window.scrollTo({ top: 0, behavior: "smooth" }); // Scroll to the top of the page
|
||||
if (window.location.pathname === "/") {
|
||||
window.scrollTo({ top: 0, behavior: "smooth" });
|
||||
} else {
|
||||
window.location.href = "/";
|
||||
}
|
||||
}}
|
||||
>
|
||||
<img src={Logo} width={60} height={60} alt="logo" />
|
||||
|
||||
+3
-1
@@ -13,9 +13,11 @@ i18n
|
||||
// init i18next
|
||||
// for all options read: https://www.i18next.com/overview/configuration-options
|
||||
.init({
|
||||
ns: ['common', 'TOS'],
|
||||
defaultNS: 'common',
|
||||
backend: {
|
||||
// translation file path
|
||||
loadPath: "/locales/{{lng}}.json",
|
||||
loadPath: (lng : string, ns : string) => `/locales/${ns}/${lng}.json`,
|
||||
},
|
||||
debug: true,
|
||||
fallbackLng: "en",
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
import { useTranslation } from "react-i18next";
|
||||
import Navbar from "../Components/Navbar/Navbar";
|
||||
import Footer from "../Components/Footer/Footer";
|
||||
|
||||
const PP = () => {
|
||||
const { t } = useTranslation("PP")
|
||||
|
||||
return (
|
||||
<div className="min-h-screen">
|
||||
<Navbar />
|
||||
<div className="container mx-auto px-4 py-12">
|
||||
<h1 className="text-3xl font-bold text-center mb-6">{t("pp.pageTitle")}</h1>
|
||||
<div className="shadow-md rounded-lg p-8">
|
||||
<p className="mb-4">{t("pp.lastUpdated")}</p>
|
||||
<p className="mb-4">{t("pp.introText")}</p>
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp1.title")}</h2>
|
||||
{t("pp.pp1.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp2.title")}</h2>
|
||||
{t("pp.pp2.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp3.title")}</h2>
|
||||
{t("pp.pp3.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp4.title")}</h2>
|
||||
{t("pp.pp4.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp5.title")}</h2>
|
||||
{t("pp.pp5.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp6.title")}</h2>
|
||||
{t("pp.pp6.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp7.title")}</h2>
|
||||
{t("pp.pp7.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("pp.pp8.title")}</h2>
|
||||
{t("pp.pp8.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default PP;
|
||||
@@ -0,0 +1,59 @@
|
||||
import { useTranslation } from "react-i18next";
|
||||
import Navbar from "../Components/Navbar/Navbar";
|
||||
import Footer from "../Components/Footer/Footer";
|
||||
|
||||
const TOS = () => {
|
||||
const { t } = useTranslation("TOS")
|
||||
|
||||
return (
|
||||
<div className="min-h-screen">
|
||||
<Navbar />
|
||||
<div className="container mx-auto px-4 py-12">
|
||||
<h1 className="text-3xl font-bold text-center mb-6">{t("tos.pageTitle")}</h1>
|
||||
<div className="shadow-md rounded-lg p-8">
|
||||
<p className="mb-4">{t("tos.lastUpdated")}</p>
|
||||
<p className="mb-4">{t("tos.introText")}</p>
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("tos.tos1.title")}</h2>
|
||||
{t("tos.tos1.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("tos.tos2.title")}</h2>
|
||||
{t("tos.tos2.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("tos.tos3.title")}</h2>
|
||||
{t("tos.tos3.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("tos.tos4.title")}</h2>
|
||||
{t("tos.tos4.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("tos.tos5.title")}</h2>
|
||||
{t("tos.tos5.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
<h2 className="text-2xl font-semibold mb-4">{t("tos.tos6.title")}</h2>
|
||||
{t("tos.tos6.desc").split("\n\n").map((paragraph, index) => (
|
||||
<p key={index} className="mb-4">{paragraph.split("\n").map((line, index) => (
|
||||
<span key={index}>{line}<br/></span>
|
||||
))}</p>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default TOS;
|
||||
Reference in New Issue
Block a user