Search Apps Documentation Source Content File Folder Download Copy Actions Download

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("![Avatar](%s)\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}