···
CollaboratingRepos: pinnedCollaboratingRepos,
DidHandleMap: didHandleMap,
+
UserDid: ident.DID.String(),
+
UserHandle: ident.Handle.String(),
+
FollowStatus: followStatus,
+
FollowersCount: followers,
+
FollowingCount: following,
ProfileTimeline: timeline,
···
DidHandleMap: map[string]string{ident.DID.String(): ident.Handle.String()},
+
UserDid: ident.DID.String(),
+
UserHandle: ident.Handle.String(),
+
FollowStatus: followStatus,
+
FollowersCount: followers,
+
FollowingCount: following,
+
func (s *State) followersPage(w http.ResponseWriter, r *http.Request) {
+
ident, ok := r.Context().Value("resolvedId").(identity.Identity)
+
profile, err := db.GetProfile(s.db, ident.DID.String())
+
log.Printf("getting profile data for %s: %s", ident.DID.String(), err)
+
loggedInUser := s.oauth.GetUser(r)
+
followers, err := db.GetFollowers(s.db, ident.DID.String())
+
log.Printf("getting followers for %s: %s", ident.DID.String(), err)
+
followerCards := make([]pages.FollowCard, len(followers))
+
for i, follower := range followers {
+
ident, err := s.idResolver.ResolveIdent(r.Context(), follower.UserDid)
+
log.Printf("can't resolve handle for %s: %s", follower.UserDid, err)
+
profile, err := db.GetProfile(s.db, follower.UserDid)
+
log.Printf("can't get profile for %s: %s", follower.UserDid, err)
+
followStatus := db.IsNotFollowing
+
if loggedInUser != nil {
+
followStatus = db.GetFollowStatus(s.db, loggedInUser.Did, follower.UserDid)
+
followerCards[i] = pages.FollowCard{
+
UserDid: follower.UserDid,
UserHandle: ident.Handle.String(),
+
FollowStatus: followStatus,
+
followStatus := db.IsNotFollowing
+
if loggedInUser != nil {
+
followStatus = db.GetFollowStatus(s.db, loggedInUser.Did, ident.DID.String())
+
followersCount, followingCount, err := db.GetFollowerFollowingCount(s.db, ident.DID.String())
+
log.Printf("getting follow stats repos for %s: %s", ident.DID.String(), err)
+
s.pages.FollowersPage(w, pages.FollowersPageParams{
+
LoggedInUser: loggedInUser,
+
Followers: followerCards,
+
Card: pages.ProfileCard{
+
UserDid: ident.DID.String(),
+
UserHandle: ident.Handle.String(),
+
FollowStatus: followStatus,
+
FollowersCount: followersCount,
+
FollowingCount: followingCount,
+
func (s *State) followingPage(w http.ResponseWriter, r *http.Request) {
+
ident, ok := r.Context().Value("resolvedId").(identity.Identity)
+
profile, err := db.GetProfile(s.db, ident.DID.String())
+
log.Printf("getting profile data for %s: %s", ident.DID.String(), err)
+
loggedInUser := s.oauth.GetUser(r)
+
following, err := db.GetFollowing(s.db, ident.DID.String())
+
log.Printf("getting following for %s: %s", ident.DID.String(), err)
+
followingCards := make([]pages.FollowCard, len(following))
+
for i, following := range following {
+
ident, err := s.idResolver.ResolveIdent(r.Context(), following.SubjectDid)
+
log.Printf("can't resolve handle for %s: %s", following.SubjectDid, err)
+
profile, err := db.GetProfile(s.db, following.SubjectDid)
+
log.Printf("can't get profile for %s: %s", following.SubjectDid, err)
+
followStatus := db.IsNotFollowing
+
if loggedInUser != nil {
+
followStatus = db.GetFollowStatus(s.db, loggedInUser.Did, following.SubjectDid)
+
followingCards[i] = pages.FollowCard{
+
UserDid: following.SubjectDid,
+
UserHandle: ident.Handle.String(),
FollowStatus: followStatus,
+
followStatus := db.IsNotFollowing
+
if loggedInUser != nil {
+
followStatus = db.GetFollowStatus(s.db, loggedInUser.Did, ident.DID.String())
+
followersCount, followingCount, err := db.GetFollowerFollowingCount(s.db, ident.DID.String())
+
log.Printf("getting follow stats repos for %s: %s", ident.DID.String(), err)
+
s.pages.FollowingPage(w, pages.FollowingPageParams{
+
LoggedInUser: loggedInUser,
+
Following: followingCards,
+
Card: pages.ProfileCard{
+
UserDid: ident.DID.String(),
+
UserHandle: ident.Handle.String(),
+
FollowStatus: followStatus,
+
FollowersCount: followersCount,
+
FollowingCount: followingCount,