[+] 404 Page

This commit is contained in:
Azalea Gui
2023-02-16 18:39:15 -05:00
parent ba46256d0a
commit eb3461d864
+11 -2
View File
@@ -1,7 +1,7 @@
import urlJoin from 'url-join'; import urlJoin from 'url-join';
import mime from 'mime'; import mime from 'mime';
import moment from 'moment'; import moment from 'moment';
import { createResource, createSignal, For, Show } from 'solid-js'; import {createResource, createSignal, ErrorBoundary, For, Show} from 'solid-js';
import tippy from 'tippy.js'; import tippy from 'tippy.js';
import 'tippy.js/dist/tippy.css'; import 'tippy.js/dist/tippy.css';
@@ -33,7 +33,12 @@ let fullPath = window.location.pathname
let filePath = fullPath.startsWith(deployPath) ? fullPath.substring(deployPath.length) : fullPath let filePath = fullPath.startsWith(deployPath) ? fullPath.substring(deployPath.length) : fullPath
if (!filePath.startsWith('/')) filePath = `/${filePath}` if (!filePath.startsWith('/')) filePath = `/${filePath}`
const fetchApi = async () => await (await fetch(urlJoin(host, filePath))).json() as File[] const fetchApi = async () =>
{
const req = await fetch(urlJoin(host, filePath))
if (req.status == 404) throw "404"
return await req.json() as File[]
}
function getIcon(f: File) function getIcon(f: File)
{ {
@@ -143,6 +148,9 @@ export default function App() {
{/*{api.loading && "Loading..."}*/} {/*{api.loading && "Loading..."}*/}
{/* Files */} {/* Files */}
<ErrorBoundary fallback={e => <div class="flex w-full flex-1 text-xl justify-center">
{e == "404" ? "404: Not found" : `Error: ${e}`}
</div>}>
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
{/* For each file */} {/* For each file */}
@@ -170,6 +178,7 @@ export default function App() {
</a> </a>
}</InfiniteScroll> }</InfiniteScroll>
</div> </div>
</ErrorBoundary>
</div> </div>
</div> </div>
); );