···
+
import { createSignal, For, Show, type Component } from "solid-js";
import { createStore } from "solid-js/store";
import { Agent } from "@atproto/api";
···
···
<label for={"record" + index()} class="flex flex-col">
<span>@{record.handle}</span>
<span>{record.did}</span>
+
<span>{record.status_label}</span>
···
+
await fetchFollows().then((follows) => {
+
setFollowCount(follows.length);
follows.forEach(async (record: any) => {
+
let status: RepoStatus | undefined = undefined;
const res = await agent.getProfile({
actor: record.value.subject,
+
handle = res.data.handle;
const viewer = res.data.viewer!;
if (!viewer.followedBy) status = RepoStatus.NONMUTUAL;
···
} else if (viewer.blocking || viewer.blockingByList) {
status = RepoStatus.BLOCKING;
record.value.subject.startsWith("did:web")
···
: "https://plc.directory/" + record.value.subject,
+
status = e.message.includes("not found")
: e.message.includes("deactivated")
···
+
handle = await res.json().then((doc) => {
for (const alias of doc.alsoKnownAs) {
if (alias.includes("at://")) {
return alias.split("//")[1];
+
status == RepoStatus.DELETED
+
: status == RepoStatus.DEACTIVATED
+
: status == RepoStatus.SUSPENDED
+
: status == RepoStatus.NONMUTUAL
+
: status == RepoStatus.YOURSELF
+
: status == RepoStatus.BLOCKING
+
: status == RepoStatus.BLOCKEDBY
+
: RepoStatus.BLOCKEDBY | RepoStatus.BLOCKING
+
if (status !== undefined) {
+
setFollowRecords(followRecords.length, {
+
did: record.value.subject,
+
status_label: status_label,
setProgress(progress() + 1);
const unfollow = async () => {