Skip to content

Commit e3c2f1c

Browse files
committed
Implement markdown page for split files
1 parent 44da4f9 commit e3c2f1c

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed

src/app/split-files.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { AppGitHubSplitFiles } from "@/components/libresplit/AppGitHubSplitFiles";
2+
3+
export function SplitFiles() {
4+
return (
5+
<div>
6+
<AppGitHubSplitFiles />
7+
</div>
8+
);
9+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { useEffect, useState } from "react";
2+
3+
import { AppLoading } from "./AppLoading";
4+
import { Markdown } from "@/lib/markdown";
5+
6+
export function AppGitHubSplitFiles() {
7+
const [splitFiles, setSplitFiles] = useState<string>("Loading...");
8+
const [isLoading, setIsLoading] = useState(true);
9+
10+
const urlSplitFiles =
11+
"https://raw.githubusercontent.com/LibreSplit/LibreSplit/refs/heads/main/docs/split-files.md";
12+
13+
useEffect(() => {
14+
fetch(urlSplitFiles)
15+
.then((res) => {
16+
if (!res.ok) throw new Error(`HTTP Error! Status: ${res.status}`);
17+
return res.text();
18+
})
19+
.then((text) => setSplitFiles(text))
20+
.catch(() => setSplitFiles("Failed to load README from GitHub."))
21+
.finally(() => setIsLoading(false));
22+
}, []);
23+
24+
if (isLoading) {
25+
return <AppLoading />;
26+
}
27+
28+
return (
29+
<div>
30+
<Markdown content={splitFiles} />
31+
</div>
32+
);
33+
}

src/router.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Home } from "./app/home";
44
import { NotFound } from "./app/not-found";
55
import { SettingsKeybinds } from "./app/settings-keybinds";
66
import { Themes } from "./app/themes";
7+
import { AppGitHubSplitFiles } from "./components/libresplit/AppGitHubSplitFiles";
78
import { Route, Routes } from "react-router";
89

910
export default function AppRouter() {
@@ -15,6 +16,7 @@ export default function AppRouter() {
1516
{/* Documentation Pages */}
1617
<Route path="/docs/auto-splitters.md" element={<AutoSplitters />} />
1718
<Route path="/docs/settings-keybinds.md" element={<SettingsKeybinds />} />
19+
<Route path="/docs/split-files.md" element={<AppGitHubSplitFiles />} />
1820
<Route path="/docs/themes.md" element={<Themes />} />
1921

2022
{/* Fall back on app's 404 page. This is because of the SPA routing trick with 404.html used in GitHub Pages. */}

0 commit comments

Comments
 (0)