pleroma-like client for Bluesky pl.hexmani.ac
bluesky pleroma social-media
at main 736 B view raw
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;