extremely wip tangled spa
at main 851 B view raw
1import { createAsync, useParams } from "@solidjs/router"; 2import { createMemo, For } from "solid-js"; 3import { getUserRepos } from "../util/get_repo"; 4import { figureOutDid } from "../util/handle"; 5 6export default function User() { 7 const params = useParams(); 8 const did = createAsync(() => figureOutDid(params.user)); 9 10 const repos = createAsync(() => { 11 const d = did(); 12 if (!d) return Promise.resolve(undefined); 13 return getUserRepos(d); 14 }); 15 16 const data = createMemo(() => { 17 const reposRes = repos(); 18 19 if (!reposRes) return <div>No repositories found</div>; 20 21 return ( 22 <For each={Object.values(reposRes)}> 23 {(repo) => <a href={`/${params.user}/${repo.name}`}>{repo.name}</a>} 24 </For> 25 ); 26 }); 27 28 return ( 29 <div class="mx-auto max-w-5xl"> 30 <div class="mb-4 rounded bg-white p-4 dark:bg-gray-800">{data()}</div> 31 </div> 32 ); 33}