import { useNavigate } from "@solidjs/router"; import { JSXElement, Show, createSignal, onMount, useContext } from "solid-js"; import { LoginContext } from "../Context/GlobalState"; import { NewPost, createPost } from "../Util/api"; export function NewPostInputArea(): JSXElement { const [content, setContent] = createSignal(""); const [waiting, setWaiting] = createSignal(false); // We assumte this context is always available const login_ctx = useContext(LoginContext)!; const nav = useNavigate(); const sendPost = (): void => { setWaiting(true); const response = createPost({ content: content(), token: login_ctx.token(), } as NewPost); if (response) { response.then(() => { setWaiting(false); setContent(""); nav("/"); }); } }; // Bail out if not logged in onMount(() => { if (!login_ctx.loggedIn()) nav("/"); }); return ( } >