atproto explorer
0
fork

Configure Feed

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

persist handle/did swap

Juliet d11adc6c 1d42a143

+7 -18
+7 -2
src/components/navbar.tsx
··· 2 2 import Tooltip from "./tooltip"; 3 3 import { createEffect, createSignal, Show } from "solid-js"; 4 4 import { didDocCache, labelerCache, validateHandle } from "../utils/api"; 5 - import { setShowHandle, showHandle } from "./settings"; 6 5 import { Did, Handle } from "@atcute/lexicons"; 7 6 import { addToClipboard } from "../utils/copy"; 8 7 ··· 32 31 const [handle, setHandle] = createSignal(props.params.repo); 33 32 const [validHandle, setValidHandle] = createSignal<boolean | undefined>(undefined); 34 33 const [fullCid, setFullCid] = createSignal(false); 34 + const [showHandle, setShowHandle] = createSignal(localStorage.showHandle === "true"); 35 35 36 36 createEffect(() => { 37 37 if (cid() !== undefined) setFullCid(false); ··· 134 134 </div> 135 135 </div> 136 136 <Tooltip text={showHandle() ? "Show DID" : "Show Handle"}> 137 - <button onclick={() => setShowHandle(!showHandle())}> 137 + <button 138 + onclick={() => { 139 + localStorage.showHandle = !showHandle(); 140 + setShowHandle(!showHandle()); 141 + }} 142 + > 138 143 <div 139 144 class={ 140 145 `duration-400 shrink-0 text-lg ${showHandle() ? "rotate-y-180" : ""} ` +
-16
src/components/settings.tsx
··· 14 14 }; 15 15 16 16 export const [theme, setTheme] = createSignal(getInitialTheme()); 17 - export const [showHandle, setShowHandle] = createSignal(localStorage.showHandle === "true"); 18 17 export const [hideMedia, setHideMedia] = createSignal(localStorage.hideMedia === "true"); 19 18 20 19 const Settings = () => { ··· 133 132 </div> 134 133 </div> 135 134 <div class="mt-2 flex flex-col gap-1"> 136 - <div class="flex items-center gap-1"> 137 - <input 138 - id="showHandle" 139 - class="size-4" 140 - type="checkbox" 141 - checked={localStorage.showHandle === "true"} 142 - onChange={(e) => { 143 - localStorage.showHandle = e.currentTarget.checked; 144 - setShowHandle(e.currentTarget.checked); 145 - }} 146 - /> 147 - <label for="showHandle" class="select-none"> 148 - Default to showing handle 149 - </label> 150 - </div> 151 135 <div class="flex items-center gap-1"> 152 136 <input 153 137 id="disableMedia"