···
import { Client, CredentialManager } from "@atcute/client";
2
-
import { parsePublicMultikey } from "@atcute/crypto";
2
+
import { parseDidKey, parsePublicMultikey } from "@atcute/crypto";
import { DidDocument } from "@atcute/identity";
import { ActorIdentifier, Did, Handle, Nsid } from "@atcute/lexicons";
import { A, useLocation, useNavigate, useParams } from "@solidjs/router";
···
const [filter, setFilter] = createSignal<string>();
const [showFilter, setShowFilter] = createSignal(false);
const [validHandles, setValidHandles] = createStore<Record<string, boolean>>({});
41
+
const [rotationKeys, setRotationKeys] = createSignal<Array<string>>([]);
···
64
+
const getRotationKeys = async () => {
65
+
const res = await fetch(
66
+
`${localStorage.plcDirectory ?? "https://plc.directory"}/${did}/log/last`,
68
+
const json = await res.json();
69
+
setRotationKeys(json.rotationKeys ?? []);
const fetchRepo = async () => {
pds = await resolvePDS(did);
···
setDidDoc(didDocCache[did] as DidDocument);
rpc = new Client({ handler: new CredentialManager({ service: pds }) });
···
<div class="flex items-center gap-1">
<div class="iconify lucide--shield-check" />
384
-
<p class="font-semibold">Verification methods</p>
395
+
<p class="font-semibold">Verification Methods</p>
<For each={didDocument().verificationMethod}>
···
<Show when={verif.publicKeyMultibase}>
<li class="flex flex-col text-sm">
392
-
<span>#{verif.id.split("#")[1]}</span>
393
-
<span class="flex items-center gap-0.5">
394
-
<div class="iconify lucide--key-round" />
404
+
<span>#{verif.id.split("#")[1]}</span>
<ErrorBoundary fallback={<>unknown</>}>
396
-
{parsePublicMultikey(key()).type}
407
+
({parsePublicMultikey(key()).type})
<span class="truncate">{key()}</span>
419
+
<div class="flex items-center gap-1">
420
+
<div class="iconify lucide--key-round" />
421
+
<p class="font-semibold">Rotation Keys</p>
424
+
<For each={rotationKeys()}>
426
+
<li class="text-xs">
427
+
<span>{key.replace("did:key:", "")}</span>
428
+
<span> ({parseDidKey(key).type})</span>