--- // Follow via the signed-in agent (writes app.bsky.graph.follow to the user's own PDS). // Buttons carry data-did. Signed out, every button shows "Follow" and opens the profile. // Signed in, the button is hidden on your own card and for accounts you already follow, showing // "Follow" only where you don't follow yet. Follow state comes from your OWN follow records (a // plain repo read — no AppView/rpc scope). That scan is slow for heavy-follow accounts, so we // cache it in localStorage: repeat loads apply the cache instantly (no flash), then refresh in the // background. On the first load (no cache) buttons stay hidden until the scan finishes — no // show-then-vanish flash. Following hides that button and updates the cache. ---