diff --git a/content/pt/sobre/quem-somos.md b/content/pt/sobre/quem-somos.md index b341c27..86e1aea 100644 --- a/content/pt/sobre/quem-somos.md +++ b/content/pt/sobre/quem-somos.md @@ -22,4 +22,4 @@ Em qualquer das modalidades, o processo de filiação é realizado mediante o pr ### Treinadores -Todos os interessados em acompanhar o(s) seu(s) atleta(s) na sala de aquecimento em dias de competição, deverão proceder à submissão da Ficha de Afiliação de Treinador [neste formulário](https://docs.google.com/forms/d/e/1FAIpQLSewmaQoyk6qfVimEgoEv9Jay_S7ItOOFOYKIat56CZgSrTVVQ/viewform) e na [página oficial da APP na rede social Instagram.](https://www.instagram.com/aportugalpowerlifting), de forma a lhes ser atribuída uma credencial, sem a qual não será permitida a circulação na área de aquecimento. \ No newline at end of file +Todos os interessados em acompanhar o(s) seu(s) atleta(s) na sala de aquecimento em dias de competição, deverão proceder à submissão da Ficha de Afiliação de Treinador [neste formulário](https://docs.google.com/forms/d/e/1FAIpQLSewmaQoyk6qfVimEgoEv9Jay_S7ItOOFOYKIat56CZgSrTVVQ/viewform) e na [página oficial da APP na rede social Instagram](https://www.instagram.com/aportugalpowerlifting), de forma a lhes ser atribuída uma credencial, sem a qual não será permitida a circulação na área de aquecimento. \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f984848..6c72f4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "react-dom": "19.2.3", "react-markdown": "^10.1.0", "rehype-autolink-headings": "^7.1.0", + "rehype-raw": "^7.0.0", "rehype-slug": "^6.0.0", "remark-gfm": "^4.0.1" }, @@ -4293,6 +4294,26 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-heading-rank": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", @@ -4319,6 +4340,44 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-to-jsx-runtime": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", @@ -4346,6 +4405,25 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-to-string": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", @@ -4372,6 +4450,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hermes-estree": { "version": "0.25.1", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", @@ -4399,6 +4494,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/htmlparser2": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", @@ -7095,6 +7200,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-slug": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", @@ -8312,6 +8432,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vfile-message": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", @@ -8326,6 +8460,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/whatwg-encoding": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", diff --git a/package.json b/package.json index 3431fc9..d91872a 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "react-dom": "19.2.3", "react-markdown": "^10.1.0", "rehype-autolink-headings": "^7.1.0", + "rehype-raw": "^7.0.0", "rehype-slug": "^6.0.0", "remark-gfm": "^4.0.1" }, diff --git a/src/app/globals.css b/src/app/globals.css index b871153..d03deda 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -118,8 +118,14 @@ p { font-size: 1rem; line-height: 1.6; color: var(--foreground); } max-width: 100%; overflow-wrap: break-word; word-wrap: break-word; - word-break: break-word; - hyphens: auto; + hyphens: none; + word-break: normal; +} + +.markdown-content * { + word-break: normal; + hyphens: none; + overflow-wrap: break-word; } .markdown-content h1, .markdown-content h2, @@ -160,12 +166,21 @@ p { font-size: 1rem; line-height: 1.6; color: var(--foreground); } margin-bottom: 0.75rem; overflow-wrap: break-word; word-wrap: break-word; + word-break: normal; + hyphens: none; + -webkit-hyphenate-character: ""; } .markdown-content ul { padding-left: 1.25rem; list-style: disc; } .markdown-content ol { padding-left: 1.25rem; list-style: decimal; } +.markdown-content li { + word-break: normal; + hyphens: none; + overflow-wrap: break-word; +} .markdown-content a { text-decoration: underline; - word-break: break-all; + word-break: normal; + overflow-wrap: break-word; color: #0066cc; } @@ -258,6 +273,16 @@ p { font-size: 1rem; line-height: 1.6; color: var(--foreground); } display: block; } +/* Markdown iframes */ +.markdown-iframe { + max-width: 100%; + width: 100%; + height: 600px; + margin: 1.5rem 0; + border: 1px solid var(--color-border); + border-radius: 8px; +} + /* Layout utilities */ .container { width: 100%; diff --git a/src/app/pt/page.tsx b/src/app/pt/page.tsx index 4eb11e6..77943a2 100644 --- a/src/app/pt/page.tsx +++ b/src/app/pt/page.tsx @@ -68,10 +68,9 @@ export default function PtHome() { -
diff --git a/src/components/competitions/ListView.tsx b/src/components/competitions/ListView.tsx index bf255ba..e366f69 100644 --- a/src/components/competitions/ListView.tsx +++ b/src/components/competitions/ListView.tsx @@ -2,10 +2,11 @@ import React, { useEffect, useState } from "react"; type Meet = { id: string; name: string; date?: string; location?: string; signupUrl?: string }; +type Event = { title: string; date?: string; location?: string; signupUrl?: string }; export function ListView() { - const [meets, setMeets] = useState