resolve.gno
1.08 Kb ยท 45 lines
1package namechecker
2
3import (
4 "std"
5
6 "gno.land/r/sys/users" // Import the user registry
7)
8
9func Render(path string) string {
10 out := "# Username checker\n\n"
11
12 // Default render
13 if path == "" {
14 out += "Add `:{name OR address}` to the search bar to check for a name or address!\n\n"
15 out += "Here are some examples:\n\n"
16 out += "- [@test1](/r/docs/users:test1)\n"
17 out += "- [g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5](/r/docs/users:g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5)\n"
18
19 return out
20 }
21
22 // If the user inputted an address
23 if std.Address(path).IsValid() {
24 // Try resolving an address
25 data := users.ResolveAddress(std.Address(path))
26 if data != nil {
27 out += "## Found the user you're looking for: "
28 // RenderLink will return a clickable gnoweb link leading to the user's page
29 out += data.RenderLink("")
30 return out
31 }
32 }
33
34 // Else, try resolving a name to get user data
35 data, _ := users.ResolveName(path)
36 if data != nil {
37 out += "## Found the user you're looking for: "
38 out += data.RenderLink("")
39 return out
40 }
41
42 out += "## Didn't find that user :/"
43
44 return out
45}