Monorepo for Tangled tangled.org
856
fork

Configure Feed

Select the types of activity you want to include in your feed.

restore knot page

seems to have been unlinked accidentally. this restores it + resolves DIDs in that page.

authored by

oppili.bsky.social and committed by
Tangled
02e161be fb386ab1

+29 -6
+1
appview/pages/pages.go
··· 139 139 140 140 type KnotParams struct { 141 141 LoggedInUser *auth.User 142 + DidHandleMap map[string]string 142 143 Registration *db.Registration 143 144 Members []string 144 145 IsOwner bool
+8 -4
appview/pages/templates/knot.html
··· 17 17 <dl class="grid grid-cols-[auto_1fr] gap-x-4 dark:text-gray-200"> 18 18 <dt class="font-bold">opened by</dt> 19 19 <dd> 20 - @{{ .Registration.ByDid }} 20 + <span> 21 + {{ index $.DidHandleMap .Registration.ByDid }} <span class="text-gray-500 dark:text-gray-400 font-mono">{{ .Registration.ByDid }}</span> 22 + </span> 21 23 {{ if eq $.LoggedInUser.Did $.Registration.ByDid }} 22 24 <span class="text-xs bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200 px-2 py-1 rounded ml-2">you</span> 23 25 {{ end }} ··· 57 59 <div id="member-list" class="flex flex-col gap-4"> 58 60 {{ range $.Members }} 59 61 <div class="inline-flex items-center gap-4"> 60 - {{ i "user" "w-3 h-3 dark:text-gray-300" }} 61 - <a href="/{{.}}" class="text-gray-900 dark:text-white">{{.}}</a> 62 + {{ i "user" "w-4 h-4 dark:text-gray-300" }} 63 + <a href="/{{index $.DidHandleMap .}}" class="text-gray-900 dark:text-white">{{index $.DidHandleMap .}} 64 + <span class="text-gray-500 dark:text-gray-400 font-mono">{{.}}</span> 65 + </a> 62 66 </div> 63 67 {{ else }} 64 68 <p class="text-gray-500 dark:text-gray-400">No members have been added yet.</p> ··· 91 95 </form> 92 96 </section> 93 97 {{ end }} 94 - {{ end }} 98 + {{ end }}
+4 -2
appview/pages/templates/knots.html
··· 36 36 <div class="flex flex-col gap-1"> 37 37 <div class="inline-flex items-center gap-4"> 38 38 {{ i "git-branch" "w-3 h-3 dark:text-gray-300" }} 39 - <p class="font-bold dark:text-white">{{ .Domain }}</p> 39 + <a href="/knots/{{ .Domain }}"> 40 + <p class="font-bold dark:text-white">{{ .Domain }}</p> 41 + </a> 40 42 </div> 41 43 <p class="text-sm text-gray-500 dark:text-gray-400">owned by {{ .ByDid }}</p> 42 44 <p class="text-sm text-gray-500 dark:text-gray-400">registered {{ .Registered | timeFmt }}</p> ··· 83 85 </div> 84 86 </section> 85 87 </div> 86 - {{ end }} 88 + {{ end }}
+16
appview/state/state.go
··· 420 420 } 421 421 } 422 422 423 + var didsToResolve []string 424 + for _, m := range members { 425 + didsToResolve = append(didsToResolve, m) 426 + } 427 + didsToResolve = append(didsToResolve, reg.ByDid) 428 + resolvedIds := s.resolver.ResolveIdents(r.Context(), didsToResolve) 429 + didHandleMap := make(map[string]string) 430 + for _, identity := range resolvedIds { 431 + if !identity.Handle.IsInvalidHandle() { 432 + didHandleMap[identity.DID.String()] = fmt.Sprintf("@%s", identity.Handle.String()) 433 + } else { 434 + didHandleMap[identity.DID.String()] = identity.DID.String() 435 + } 436 + } 437 + 423 438 ok, err := s.enforcer.IsServerOwner(user.Did, domain) 424 439 isOwner := err == nil && ok 425 440 426 441 p := pages.KnotParams{ 427 442 LoggedInUser: user, 443 + DidHandleMap: didHandleMap, 428 444 Registration: reg, 429 445 Members: members, 430 446 IsOwner: isOwner,