atmosphere explorer
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

add go to repo shortcut

Juliet 794d6b9a ded40009

+20 -2
+5 -1
src/auth/account.tsx
··· 41 41 return ( 42 42 <MenuProvider> 43 43 <DropdownMenu icon="lucide--ellipsis" buttonClass="rounded-md p-2"> 44 - <NavMenu href={`/at://${props.did}`} label="Go to repo" icon="lucide--user-round" /> 44 + <NavMenu 45 + href={`/at://${props.did}`} 46 + label={agent()?.sub === props.did ? "Go to repo (g)" : "Go to repo"} 47 + icon="lucide--user-round" 48 + /> 45 49 <ActionMenu 46 50 icon="lucide--settings" 47 51 label="Edit permissions"
+15 -1
src/layout.tsx
··· 1 1 import { Handle } from "@atcute/lexicons"; 2 2 import { Meta, MetaProvider } from "@solidjs/meta"; 3 3 import { A, RouteSectionProps, useLocation, useNavigate } from "@solidjs/router"; 4 - import { createEffect, ErrorBoundary, onMount, Show, Suspense } from "solid-js"; 4 + import { createEffect, ErrorBoundary, onCleanup, onMount, Show, Suspense } from "solid-js"; 5 5 import { AccountManager } from "./auth/account.jsx"; 6 6 import { hasUserScope } from "./auth/scope-utils"; 7 + import { agent } from "./auth/state.js"; 7 8 import { RecordEditor } from "./components/create.jsx"; 8 9 import { DropdownMenu, MenuProvider, MenuSeparator, NavMenu } from "./components/dropdown.jsx"; 9 10 import { NavBar } from "./components/navbar.jsx"; ··· 44 45 45 46 onMount(() => { 46 47 window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", themeEvent); 48 + 49 + const handleGoToRepo = (ev: KeyboardEvent) => { 50 + if (document.querySelector("[data-modal]")) return; 51 + if (ev.target instanceof HTMLInputElement || ev.target instanceof HTMLTextAreaElement) return; 52 + 53 + if (ev.key === "g" && agent()?.sub) { 54 + ev.preventDefault(); 55 + navigate(`/at://${agent()!.sub}`); 56 + } 57 + }; 58 + 59 + window.addEventListener("keydown", handleGoToRepo); 60 + onCleanup(() => window.removeEventListener("keydown", handleGoToRepo)); 47 61 48 62 if (localStorage.getItem("sailor") === "true") { 49 63 const style = document.createElement("style");