atmosphere explorer
0
fork

Configure Feed

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

only show rkey timestamp if tid not in the future

Juliet a12146a4 0a2e9893

+9 -3
+9 -3
src/components/navbar.tsx
··· 1 1 import * as TID from "@atcute/tid"; 2 2 import { A, Params } from "@solidjs/router"; 3 - import { createEffect, createSignal, Show } from "solid-js"; 3 + import { createEffect, createMemo, createSignal, Show } from "solid-js"; 4 4 import { isTouchDevice } from "../layout"; 5 5 import { didDocCache } from "../utils/api"; 6 6 import { addToClipboard } from "../utils/copy"; ··· 41 41 ?.split("at://")[1] ?? props.params.repo; 42 42 if (hdl !== handle()) setHandle(hdl); 43 43 } 44 + }); 45 + 46 + const rkeyTimestamp = createMemo(() => { 47 + if (!props.params.rkey || !TID.validate(props.params.rkey)) return undefined; 48 + const timestamp = TID.parse(props.params.rkey).timestamp / 1000; 49 + return timestamp <= Date.now() ? timestamp : undefined; 44 50 }); 45 51 46 52 return ( ··· 165 171 </Tooltip> 166 172 <div class="flex min-w-0 gap-1 py-0.5 font-medium"> 167 173 <span class="shrink-0">{props.params.rkey}</span> 168 - <Show when={TID.validate(props.params.rkey!)}> 174 + <Show when={rkeyTimestamp()}> 169 175 <span class="truncate text-neutral-500 dark:text-neutral-400"> 170 - ({localDateFromTimestamp(TID.parse(props.params.rkey!).timestamp / 1000)}) 176 + ({localDateFromTimestamp(rkeyTimestamp()!)}) 171 177 </span> 172 178 </Show> 173 179 </div>