import { Accessor, createResource } from "solid-js"; import type { mastodon } from "masto"; import { useSessions } from "./clients"; import { updateAcctInf } from "../accounts/stores"; export function useSignedInProfiles() { const sessions = useSessions(); const [accessor, tools] = createResource(sessions, async (all) => { return Promise.all( all.map(async (x, i) => ({ ...x, inf: await updateAcctInf(i) })), ); }); return [ () => { const value = accessor(); if (!value) { return sessions().map((x) => ({ ...x, inf: x.account.inf })); } return value; }, tools, ] as const; }