diff options
Diffstat (limited to 'frontend/src/pages/About')
| -rw-r--r-- | frontend/src/pages/About/About.tsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/frontend/src/pages/About/About.tsx b/frontend/src/pages/About/About.tsx new file mode 100644 index 0000000..7802d75 --- /dev/null +++ b/frontend/src/pages/About/About.tsx | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | import React from "react"; | ||
| 2 | import ReactMarkdown from "react-markdown"; | ||
| 3 | import { Helmet } from "react-helmet"; | ||
| 4 | |||
| 5 | const About: React.FC = () => { | ||
| 6 | const [aboutText, setAboutText] = React.useState<string>(""); | ||
| 7 | |||
| 8 | React.useEffect(() => { | ||
| 9 | const fetchReadme = async () => { | ||
| 10 | try { | ||
| 11 | const response = await fetch( | ||
| 12 | "https://raw.githubusercontent.com/pektezol/lphub/main/README.md" | ||
| 13 | ); | ||
| 14 | if (!response.ok) { | ||
| 15 | throw new Error("Failed to fetch README"); | ||
| 16 | } | ||
| 17 | const readmeText = await response.text(); | ||
| 18 | setAboutText(readmeText); | ||
| 19 | } catch (error) { | ||
| 20 | console.error("Error fetching README:", error); | ||
| 21 | } | ||
| 22 | }; | ||
| 23 | fetchReadme(); | ||
| 24 | }, []); | ||
| 25 | |||
| 26 | return ( | ||
| 27 | <div className="ml-16 p-8 text-foreground font-[--font-barlow-semicondensed-regular] prose prose-invert max-w-none"> | ||
| 28 | <Helmet> | ||
| 29 | <title>LPHUB | About</title> | ||
| 30 | </Helmet> | ||
| 31 | <ReactMarkdown className={"overflow-auto"}>{aboutText}</ReactMarkdown> | ||
| 32 | </div> | ||
| 33 | ); | ||
| 34 | }; | ||
| 35 | |||
| 36 | export default About; | ||