view_member_detail_page.gno
1.33 Kb · 39 lines
1package basedao
2
3import "gno.land/p/nt/ufmt/v0"
4
5func (d *DAOPrivate) MemberDetailPageView(address string) string {
6 return d.MemberDetailHeaderView() +
7 d.MemberDetailView(address)
8}
9
10func (d *DAOPrivate) MemberDetailHeaderView() string {
11 name := d.GetProfileString(d.Realm.Address(), "DisplayName", "DAO")
12 s := ""
13 s += ufmt.Sprintf("# %s - Member Detail\n\n", name)
14 s += ufmt.Sprintf("\n--------------------------------\n")
15 return s
16}
17
18func (d *DAOPrivate) MemberDetailView(addr string) string {
19 pkgPath := d.Realm.PkgPath()
20 linkPath := getLinkPath(pkgPath)
21 roles := d.Members.GetMemberRoles(addr)
22 displayName := d.GetProfileString(address(addr), "DisplayName", FALLBACK_DISPLAY_NAME)
23 bio := d.GetProfileString(address(addr), "Bio", "No bio")
24 pp := d.GetProfileString(address(addr), "Avatar", "")
25 s := ""
26 s += ufmt.Sprintf("## Profile 👤\n\n")
27 s += ufmt.Sprintf("- **Display Name:** %s\n\n", displayName)
28 s += ufmt.Sprintf("- **Bio:** %s\n\n", bio)
29 if pp != "" {
30 s += ufmt.Sprintf("\n\n", pp)
31 }
32 s += ufmt.Sprintf("## Roles 🎭\n\n")
33 for _, role := range roles {
34 s += ufmt.Sprintf("- %s\n\n", d.RenderRoleLinkWithChip(role))
35 }
36 s += ufmt.Sprintf("> Learn more about the roles on the [configuration page ⚙️](%s:%s)\n\n", linkPath, CONFIG_PATH)
37 s += ufmt.Sprintf("\n--------------------------------\n")
38 return s
39}