diff --git a/documentation/src/pages/translate/index.tsx b/documentation/src/pages/translate/index.tsx new file mode 100644 index 00000000..80ead4fc --- /dev/null +++ b/documentation/src/pages/translate/index.tsx @@ -0,0 +1,83 @@ +import React, { useEffect, useState } from "react"; +import Head from "@docusaurus/Head"; +import { BlogFooter } from "@site/src/refine-theme/blog-footer"; +import { CommonHeader } from "@site/src/refine-theme/common-header"; +import { CommonLayout } from "@site/src/refine-theme/common-layout"; +import clsx from "clsx"; + +interface Milestone { + id: number; + title: string; + description: string; + due_on: string; + open_issues: number; + closed_issues: number; + html_url: string; +} + +const Translate: React.FC = () => { + const [readmeContent, setReadmeContent] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchReadme = async () => { + try { + const response = await fetch( + "https://raw.githubusercontent.com/stefanpejcic/openpanel-translations/main/README.md" + ); + if (!response.ok) { + throw new Error("Failed to fetch README.md content."); + } + const data = await response.text(); + setReadmeContent(data); + } catch (err) { + setError((err as Error).message); + } finally { + setLoading(false); + } + }; + + fetchReadme(); + }, []); + + return ( + + + + +
+ + +
+

Translations

+ + {/* Loading State */} + {loading &&

Loading translations data...

} + + {/* Error State */} + {error &&

Error: {error}

} + + {/* Display README Content */} + {readmeContent && ( +
+
+                                {readmeContent}
+                            
+
+ )} +
+ +
+
+ ); +}; + +export default Translate;