forked from tangled.org/core
Monorepo for Tangled

restore knot page

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

authored by oppi.li and committed by Tangled 02e161be fb386ab1

Changed files
+29 -6
appview
pages
state
+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,