diff --git a/front_end/bun.lock b/front_end/bun.lock
index 33f7062c71..b5435bb087 100644
--- a/front_end/bun.lock
+++ b/front_end/bun.lock
@@ -87,6 +87,7 @@
"react-merge-refs": "^2.1.1",
"react-tweet": "^3.3.0",
"remark": "^15.0.1",
+ "sanitize-html": "2.17.3",
"sass": "^1.99.0",
"sharp": "^0.34.5",
"storybook": "^9.1.20",
@@ -102,6 +103,7 @@
"devDependencies": {
"@eslint/eslintrc": "^3.3.0",
"@types/jest": "^30.0.0",
+ "@types/sanitize-html": "2.16.1",
"eslint": "^9.0.0",
"eslint-config-next": "^16.2.6",
"eslint-config-prettier": "^10.1.0",
@@ -1386,6 +1388,8 @@
"@types/resolve": ["@types/resolve@1.20.6", "", {}, "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ=="],
+ "@types/sanitize-html": ["@types/sanitize-html@2.16.1", "", { "dependencies": { "htmlparser2": "^10.1" } }, "sha512-n9wjs8bCOTyN/ynwD8s/nTcTreIHB1vf31vhLMGqUPNHaweKC4/fAl4Dj+hUlCTKYgm4P3k83fmiFfzkZ6sgMA=="],
+
"@types/stack-utils": ["@types/stack-utils@2.0.3", "", {}, "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw=="],
"@types/tedious": ["@types/tedious@4.0.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw=="],
@@ -1926,7 +1930,7 @@
"enquirer": ["enquirer@2.3.6", "", { "dependencies": { "ansi-colors": "^4.1.1" } }, "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg=="],
- "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
+ "entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
"error-ex": ["error-ex@1.3.2", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="],
@@ -2182,7 +2186,7 @@
"html-to-image": ["html-to-image@1.11.13", "", {}, "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg=="],
- "htmlparser2": ["htmlparser2@10.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.1", "entities": "^6.0.0" } }, "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g=="],
+ "htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="],
"http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],
@@ -3646,8 +3650,6 @@
"glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="],
- "html-dom-parser/htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="],
-
"ip-address/sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="],
"istanbul-lib-instrument/semver": ["semver@7.7.4", "", { "bin": "bin/semver.js" }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="],
@@ -3676,6 +3678,8 @@
"jws/safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
+ "linkedom/htmlparser2": ["htmlparser2@10.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.1", "entities": "^6.0.0" } }, "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g=="],
+
"make-dir/semver": ["semver@7.7.4", "", { "bin": "bin/semver.js" }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="],
"mdast-util-frontmatter/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
@@ -3706,6 +3710,8 @@
"parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="],
+ "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
+
"path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
"pidusage/safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
@@ -3900,8 +3906,6 @@
"protobufjs/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
- "sanitize-html/htmlparser2/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
-
"sass/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
"schema-utils/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
diff --git a/front_end/messages/cs.json b/front_end/messages/cs.json
index c86efb1ac0..6c37045acb 100644
--- a/front_end/messages/cs.json
+++ b/front_end/messages/cs.json
@@ -1038,6 +1038,7 @@
"communityDescription": "Popis komunity",
"contentTranslatedHeaderText": "Některý obsah na této stránce je automaticky přeložen a může být nepřesný.",
"showOriginalContent": "Zobrazit originál",
+ "translated_by": "přeloženo pomocí",
"nextQuestion": "Další otázka",
"fullName": "Celé jméno",
"country": "Země pobytu",
diff --git a/front_end/messages/en.json b/front_end/messages/en.json
index ef20906158..0799dc5b1b 100644
--- a/front_end/messages/en.json
+++ b/front_end/messages/en.json
@@ -1302,6 +1302,7 @@
"unread": "unread",
"contentTranslatedHeaderText": "Some content on this page is automatically translated, and may be inaccurate.",
"showOriginalContent": "Show original",
+ "translated_by": "translated by",
"nextQuestion": "Next Question",
"next": "Next",
"fullName": "Full Name",
diff --git a/front_end/messages/es.json b/front_end/messages/es.json
index ab962f5916..9c78a9486d 100644
--- a/front_end/messages/es.json
+++ b/front_end/messages/es.json
@@ -1037,6 +1037,7 @@
"communityDescription": "Descripción de la Comunidad",
"contentTranslatedHeaderText": "Parte del contenido en esta página se traduce automáticamente y puede ser inexacto.",
"showOriginalContent": "Mostrar original",
+ "translated_by": "traducido por",
"nextQuestion": "Siguiente Pregunta",
"fullName": "Nombre Completo",
"country": "País de Residencia",
diff --git a/front_end/messages/pt.json b/front_end/messages/pt.json
index 70a1bbc454..611e97ee13 100644
--- a/front_end/messages/pt.json
+++ b/front_end/messages/pt.json
@@ -991,6 +991,7 @@
"unread": "não lido",
"contentTranslatedHeaderText": "Algum conteúdo nesta página foi traduzido automaticamente e pode estar incorreto.",
"showOriginalContent": "Mostrar original",
+ "translated_by": "traduzido por",
"discard": "Descartar",
"onboardingStep4AlmostDone": "Você está quase terminando este tutorial!",
"onboardingStep5WellDone": "Muito bem!",
diff --git a/front_end/messages/zh-TW.json b/front_end/messages/zh-TW.json
index 32b99d0e02..45ce78a15b 100644
--- a/front_end/messages/zh-TW.json
+++ b/front_end/messages/zh-TW.json
@@ -1064,6 +1064,7 @@
"unread": "未讀",
"contentTranslatedHeaderText": "此頁面上的部分內容是自動翻譯的,可能不準確。",
"showOriginalContent": "顯示原文",
+ "translated_by": "翻譯方",
"nextQuestion": "下一個問題",
"next": "下一步",
"fullName": "全名",
diff --git a/front_end/messages/zh.json b/front_end/messages/zh.json
index e589cc6f8f..3af775b0c3 100644
--- a/front_end/messages/zh.json
+++ b/front_end/messages/zh.json
@@ -1039,6 +1039,7 @@
"communityDescription": "社区描述",
"contentTranslatedHeaderText": "此页面上的一些内容是自动翻译的,可能不准确。",
"showOriginalContent": "显示原文",
+ "translated_by": "翻译方",
"nextQuestion": "下一问题",
"fullName": "全名",
"country": "居住国家",
diff --git a/front_end/package.json b/front_end/package.json
index e742a7cfb7..6a6149cf23 100644
--- a/front_end/package.json
+++ b/front_end/package.json
@@ -108,6 +108,7 @@
"react-merge-refs": "^2.1.1",
"react-tweet": "^3.3.0",
"remark": "^15.0.1",
+ "sanitize-html": "2.17.3",
"sass": "^1.99.0",
"sharp": "^0.34.5",
"storybook": "^9.1.20",
@@ -122,6 +123,7 @@
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.0",
+ "@types/sanitize-html": "2.16.1",
"@types/jest": "^30.0.0",
"eslint": "^9.0.0",
"eslint-config-next": "^16.2.6",
diff --git a/front_end/src/app/(campaigns-registration)/(bridgewater)/bridgewater-2025/contest-rules/page.tsx b/front_end/src/app/(campaigns-registration)/(bridgewater)/bridgewater-2025/contest-rules/page.tsx
index 05a4158ff7..aa6ade6af4 100644
--- a/front_end/src/app/(campaigns-registration)/(bridgewater)/bridgewater-2025/contest-rules/page.tsx
+++ b/front_end/src/app/(campaigns-registration)/(bridgewater)/bridgewater-2025/contest-rules/page.tsx
@@ -2,7 +2,6 @@ import Link from "next/link";
import Button from "@/components/ui/button";
-import GlobalHeader from "../../../../(main)/components/headers/global_header";
import PageWrapper from "../../../../(main)/components/pagewrapper";
export const metadata = {
@@ -14,8 +13,7 @@ export const metadata = {
export default function ContestRules() {
return (
<>
-