pleroma-like client for Bluesky
pl.hexmani.ac
bluesky
pleroma
social-media
1import { RouteSectionProps } from "@solidjs/router";
2import { Component, createSignal, onMount, Show } from "solid-js";
3import { retrieveSession, loginState } from "./components/login";
4import Navbar from "./components/navbar";
5
6const Base = (props: RouteSectionProps<unknown>) => {
7 const [isLoading, setIsLoading] = createSignal(true);
8
9 onMount(async () => {
10 await retrieveSession();
11 if (loginState() && location.pathname === "/") {
12 window.location.href = "/dash";
13 }
14 setIsLoading(false);
15 });
16
17 return (
18 <Show when={!isLoading()} fallback={<></>}>
19 <>
20 <header>
21 <Navbar />
22 </header>
23 <main>{props.children}</main>
24 </>
25 </Show>
26 );
27};
28
29export default Base;