Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/118 terms and conditions content #119

Merged
merged 4 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions frontend/src/components/Forms/RegisterForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { useRouter } from "@/routing";
import SubmitButton from "../Buttons/SubmitButton";
import CountryDropdown from "../CountryDropdown";
import { PasswordInput } from "../PasswordInput";
import { TnCModal } from "../Modals";

const { useForm } = Form;

Expand Down Expand Up @@ -138,12 +139,9 @@ const RegisterForm = () => {
</button>
</Checkbox>
</Form.Item>
<Modal
title={t("checkboxAgreementLink")}
<TnCModal
open={openTerms}
onOk={() => setOpenTerms(false)}
onCancel={() => setOpenTerms(false)}
closable
handleClose={() => setOpenTerms(false)}
/>
<SubmitButton form={form} loading={submitting} block>
{t("btnCreateAccount")}
Expand Down
181 changes: 181 additions & 0 deletions frontend/src/components/Modals/TnCModal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
"use client";

import { Modal } from "antd";
import { useTranslations } from "next-intl";
import { PARTOS } from "@/static/config";

const TnCModal = ({ open, handleClose }) => {
const t = useTranslations("TnCModal");

return (
<Modal
title={
<div className="w-full space-y-2">
<h3 className="font-bold text-xl xl:text-2xl">{t("title")}</h3>
<div className="w-full flex gap-1">
<strong className="font-semibold">{t("lastUpdated")}</strong>
<span className="font-normal text-dark-4">
{PARTOS.TnCLastUpdate}
</span>
</div>
</div>
}
open={open}
onOk={handleClose}
onCancel={handleClose}
width={768}
okButtonProps={{
style: { display: "none" },
}}
cancelButtonProps={{
style: { display: "none" },
}}
closable
>
<div className="w-full text-sm lg:text-base space-y-4">
<span className="whitespace-pre-line">
{t.rich("descriptionRich", {
link: (token) => (
<a href={token} target="_blank" className="text-primary-dark">
{token}
</a>
),
})}
</span>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc1")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc1a")}</li>
<li>{t("tnc1b")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc2")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc2a")}</li>
<li>{t("tnc2b")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc3")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>
{t.rich("tnc3aRich", {
link: (token) => (
<a
href={PARTOS.TnCLink}
target="_blank"
className="text-primary-dark"
>
{token}
</a>
),
})}
</li>
<li>{t("tnc3b")}</li>
<li>{t("tnc3c")}</li>
<li>
{t.rich("tnc34Rich", {
mail: (token) => (
<a
href={`mailto:${PARTOS.email}`}
className="text-primary-dark"
>
{token}
</a>
),
})}
</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc4")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc4a")}</li>
<li>{t("tnc4b")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc5")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc5a")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc6")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc6a")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc7")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc7a")}</li>
<li>{t("tnc7b")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc8")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc8a")}</li>
<li>
{t.rich("tnc8bRich", {
mail: (token) => (
<a
href={`mailto:${PARTOS.email}`}
className="text-primary-dark"
>
{token}
</a>
),
})}
</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc9")}</h4>
<ul className="ml-4 space-y-1 lg:space-y-3">
<li>{t("tnc9a")}</li>
<li>{t("tnc9b")}</li>
</ul>
</div>
<div>
<h4 className="font-bold text-md xl:text-lg mb-1">{t("tnc10")}</h4>
<p>{t("tnc10Desc")}</p>
<ul>
<li className="flex gap-1">
<strong className="min-w-16">{t("tncEmail")}</strong>
<span>
{": "}
<a
href={`mailto:${PARTOS.email}`}
className="text-primary-dark"
>
{PARTOS.email}
</a>
</span>
</li>
<li className="flex gap-1">
<strong className="min-w-16">{t("tncPhone")}</strong>
<span>
{": "}
<a
href={`tel:${PARTOS.phoneLink}`}
className="text-primary-dark"
>
{PARTOS.phone}
</a>
</span>
</li>
<li className="flex gap-1">
<strong className="min-w-16">{t("tncAddress")}</strong>
<span>{`: ${PARTOS.address}`}</span>
</li>
</ul>
</div>
</div>
</Modal>
);
};

export default TnCModal;
1 change: 1 addition & 0 deletions frontend/src/components/Modals/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ export { default as PublishModal } from "./PublishModal";
export { default as DeleteSessionModal } from "./DeleteSessionModal";
export { default as HelpSearchModal } from "./HelpSearchModal";
export { default as EditSessionModal } from "./EditSessionModal";
export { default as TnCModal } from "./TnCModal";
3 changes: 3 additions & 0 deletions frontend/src/static/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,12 @@ export const PARTOS = {
name: "Power Awareness Tool",
address: "The Hague Humanity Hub\nFluwelen Burgwal 58\n2511 CJ The Hague",
phone: "+3120 32 09 901",
phoneLink: "+31203209901",
code: "KVK 34214586\nRSIN 813990646",
PATGuidelineLink:
"https://www.partos.nl/wp-content/uploads/2024/04/The-Power-Awareness-Tool-2.pdf",
TnCLastUpdate: "17 December 2024",
TnCLink: "https://www.partos.nl/en/terms-and-conditions/",
};

export const DASHBOARD_MENU = [
Expand Down
37 changes: 37 additions & 0 deletions i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -445,5 +445,42 @@
"resource5": "This is the Work",
"resource5Desc": "Resources for Practical Anti-racism (Bond UK) \nThrough consultation with 80+ international development policy and advocacy staff, Bond UK developed resources to support anti-racist and decolonial approaches in policy and advocacy. Designed for staff at all levels, they aimed to create a shared understanding with clear definitions and practical guidance.",
"learnMore": "Learn more"
},
"TnCModal": {
"title": "Terms and Conditions for Power Awareness Tool (PAT)",
"lastUpdated": "Last Updated:",
"descriptionRich": "These Terms and Conditions govern your access to and use of the Power Awareness Tool (“PAT” or “Tool”), provided by Partos, and developed by Akvo Foundation, through the URL:\n<link>https://powerawarenesstool.partos.nl/en</link>.\nBy creating an account and accessing this Tool, you agree to abide by these Terms and Conditions. Please read them carefully.",
"tnc1": "1. Eligibility and Account Creation",
"tnc1a": "1.1 You agree to provide accurate, current, and complete information when creating your account and to update this information as necessary.",
"tnc1b": "1.2 You are responsible for maintaining the security of your account credentials and agree not to disclose your password to any third party.",
"tnc2": "2. Purpose and Intended Use",
"tnc2a": "2.1 PAT is designed for professional and academic use to facilitate structured discussions and assessments of power dynamics within partnerships, or to learn about power awareness. It is intended as a constructive tool and should be used solely for its intended purpose.",
"tnc2b": "2.2 Misuse of PAT for purposes that are malicious, defamatory, or otherwise harmful is strictly prohibited and may result in the termination of your account.",
"tnc3": "3. Privacy and Data Use",
"tnc3aRich": "3.1 We value your privacy. The data you provide, including any personal or partnership information, will be used exclusively to facilitate PAT’s functionality and assess partnership dynamics. More information on our data practices can be found in the general <link>Partos Terms and conditions</link>.",
"tnc3b": "3.2 Collected data may be aggregated and anonymized for research or reporting purposes. No personally identifiable information or specific partnership data will be shared outside PAT without your explicit consent.",
"tnc3c": "3.3 You have the right to access, modify and delete your data on your personal account at any time.",
"tnc34Rich": "3.4 For data access or account deletion requests, please contact us at <mail>[email protected]</mail>.",
"tnc4": "4. Confidentiality",
"tnc4a": "4.1 PAT is designed to handle sensitive partnership information, and we take precautions to ensure data confidentiality. Information you provide will not be shared with any unauthorized third parties.",
"tnc4b": "4.2 Aggregated data may be used for broader research, analysis, or reporting purposes. However, all published findings will be fully anonymized to protect individual and partnership confidentiality.",
"tnc5": "5. Intellectual Property Rights",
"tnc5a": "5.1 PAT, including all content, designs, and methodology, is protected by intellectual property rights owned by Partos.",
"tnc6": "6. User Responsibilities",
"tnc6a": "6.1 As a user of PAT, you are responsible for entering accurate, reliable, and honest information. Falsifying information undermines the integrity of assessments and the Tool itself.",
"tnc7": "7. Limitation of Liability",
"tnc7a": "7.1 Partos will not be liable for any indirect, incidental, special, or consequential damages arising from your use of PAT. This includes, but is not limited to, data loss, unauthorized access, or damage resulting from reliance on information obtained from PAT.",
"tnc7b": "7.2 Although we aim to provide accurate and reliable services, we make no guarantees regarding PAT’s performance or results from its use. You use PAT at your own risk.",
"tnc8": "8. Termination of Account",
"tnc8a": "8.1 Partos reserves the right to terminate or suspend your account if you violate these Terms and Conditions or engage in activities that compromise the Tool’s integrity or security.",
"tnc8bRich": "8.2 You may choose to delete your account at any time by contacting Partos <mail>([email protected])</mail>. Following account deletion, any stored data will be permanently removed from PAT.",
"tnc9": "9. Changes to Terms and Conditions",
"tnc9a": "9.1 We reserve the right to modify these Terms and Conditions at any time. Notice of material changes will be provided through email or PAT’s interface.",
"tnc9b": "9.2 Continued use of PAT after updates implies your acceptance of the revised Terms and Conditions. We recommend reviewing these terms periodically to stay informed.",
"tnc10": "10. Contact Information",
"tnc10Desc": "For questions regarding these Terms and Conditions, or for support, please contact us at:",
"tncEmail": "Email",
"tncPhone": "Phone",
"tncAddress": "Address"
}
}
37 changes: 37 additions & 0 deletions i18n/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -445,5 +445,42 @@
"resource5": "C'est le travail",
"resource5Desc": "Ressources pour la lutte pratique contre le racisme (Bond UK) \nGrâce à des consultations avec plus de 80 responsables de politiques de développement international et de plaidoyer, Bond UK a développé des ressources pour soutenir les approches antiracistes et décoloniales en matière de politique et de plaidoyer. Conçus pour le personnel de tous les niveaux, ils visaient à créer une compréhension commune avec des définitions claires et des conseils pratiques.",
"learnMore": "Apprendre encore plus"
},
"TnCModal": {
"title": "Conditions générales de l'outil de sensibilisation au pouvoir (PAT)",
"lastUpdated": "Dernière mise à jour :",
"descriptionRich": "Les présentes conditions générales régissent votre accès et votre utilisation de l'outil Power Awareness (\"PAT\" ou \"outil\"), fourni par Partos et développé par Akvo Foundation, via l'URL:\n <link>https://powerawarenesstool.partos.nl/en</link>.\nEn créant un compte et en accédant à cet outil, vous acceptez de respecter ces termes et conditions. Veuillez les lire attentivement.",
"tnc1": "1. Éligibilité et création de compte",
"tnc1a": "1.1 Vous acceptez de fournir des informations exactes, à jour et complètes lors de la création de votre compte et de mettre à jour ces informations si nécessaire.",
"tnc1b": "1.2 Vous êtes responsable du maintien de la sécurité des informations d'identification de votre compte et acceptez de ne pas divulguer votre mot de passe à des tiers.",
"tnc2": "2. Objectif et utilisation prévue",
"tnc2a": "2.1 PAT est conçu pour un usage professionnel et académique afin de faciliter des discussions structurées et des évaluations de la dynamique du pouvoir au sein des partenariats, ou pour en apprendre davantage sur la conscience du pouvoir. Il est conçu comme un outil constructif et doit être utilisé uniquement aux fins prévues.",
"tnc2b": "2.2 L'utilisation abusive de PAT à des fins malveillantes, diffamatoires ou autrement nuisibles est strictement interdite et peut entraîner la résiliation de votre compte.",
"tnc3": "3. Confidentialité et utilisation des données",
"tnc3aRich": "3.1 Nous accordons une grande importance à votre vie privée. Les données que vous fournissez, y compris toute information personnelle ou de partenariat, seront utilisées exclusivement pour faciliter le fonctionnement de PAT et évaluer la dynamique du partenariat. De plus amples informations sur nos pratiques en matière de données peuvent être trouvées dans les <link>Conditions générales de Partos</link>.",
"tnc3b": "3.2 Les données collectées peuvent être regroupées et anonymisées à des fins de recherche ou de reporting. Aucune information personnelle identifiable ou donnée de partenariat spécifique ne sera partagée en dehors de PAT sans votre consentement explicite.",
"tnc3c": "3.3 Vous disposez à tout moment d'un droit d'accès, de modification et de suppression des données vous concernant sur votre compte personnel.",
"tnc34Rich": "3.4 Pour les demandes d'accès aux données ou de suppression de compte, veuillez nous contacter à <mail>[email protected]</mail>.",
"tnc4": "4. Confidentialité",
"tnc4a": "4.1 PAT est conçu pour traiter les informations sensibles du partenariat et nous prenons des précautions pour garantir la confidentialité des données. Les informations que vous fournissez ne seront pas partagées avec des tiers non autorisés.",
"tnc4b": "4.2 Les données agrégées peuvent être utilisées à des fins de recherche, d'analyse ou de reporting plus larges. Cependant, tous les résultats publiés seront entièrement anonymisés pour protéger la confidentialité des individus et des partenariats.",
"tnc5": "5. Droits de propriété intellectuelle",
"tnc5a": "5.1 PAT, y compris tous les contenus, conceptions et méthodologies, est protégé par les droits de propriété intellectuelle détenus par Partos.",
"tnc6": "6. Responsabilités de l'utilisateur",
"tnc6a": "6.1 En tant qu'utilisateur de PAT, vous êtes responsable de la saisie d'informations exactes, fiables et honnêtes. La falsification des informations porte atteinte à l’intégrité des évaluations et de l’outil lui-même.",
"tnc7": "7. Limitation de responsabilité",
"tnc7a": "7.1 Partos ne sera pas responsable des dommages indirects, accessoires, spéciaux ou consécutifs découlant de votre utilisation de PAT. Cela inclut, sans toutefois s'y limiter, la perte de données, l'accès non autorisé ou les dommages résultant de la confiance accordée aux informations obtenues auprès de PAT.",
"tnc7b": "7.2 Bien que notre objectif soit de fournir des services précis et fiables, nous ne donnons aucune garantie concernant les performances de PAT ou les résultats de son utilisation. Vous utilisez PAT à vos propres risques.",
"tnc8": "8. Résiliation du compte",
"tnc8a": "8.1 Partos se réserve le droit de résilier ou de suspendre votre compte si vous violez les présentes Conditions générales ou si vous vous engagez dans des activités qui compromettent l'intégrité ou la sécurité de l'Outil.",
"tnc8bRich": "8.2 Vous pouvez choisir de supprimer votre compte à tout moment en contactant Partos <mail>([email protected])</mail>. Après la suppression du compte, toutes les données stockées seront définitivement supprimées de PAT.",
"tnc9": "9. Modifications des conditions générales",
"tnc9a": "9.1 Nous nous réservons le droit de modifier les présentes Conditions Générales à tout moment. Un avis de modifications importantes sera fourni par courrier électronique ou via l’interface de PAT.",
"tnc9b": "9.2 L'utilisation continue de PAT après les mises à jour implique votre acceptation des conditions générales révisées. Nous vous recommandons de consulter ces conditions périodiquement pour rester informé.",
"tnc10": "10. Coordonnées",
"tnc10Desc": "Pour toute question concernant ces conditions générales ou pour obtenir de l'aide, veuillez nous contacter à :",
"tncEmail": "E-mail",
"tncPhone": "Téléphone",
"tncAddress": "Adresse"
}
}
Loading
Loading