cConfig
untyped stringThe site's two settings live in the data realm, "home/config", so a later home release keeps them: "app" is the GnoRadio app (dApp) that pages link to, "" hides the links; "contact" is an extra way to reach the moderator, shown with the notice path, "" hides the line (the on-chain Report needs none). Only the catalog admin sets them: home has no admin of its own.
Value
"home/config"
maxAppURL
untyped bigintThe site's two settings live in the data realm, "home/config", so a later home release keeps them: "app" is the GnoRadio app (dApp) that pages link to, "" hides the links; "contact" is an extra way to reach the moderator, shown with the notice path, "" hides the line (the on-chain Report needs none). Only the catalog admin sets them: home has no admin of its own.
Value
(100 <untyped> bigint)
maxContact
untyped bigintThe site's two settings live in the data realm, "home/config", so a later home release keeps them: "app" is the GnoRadio app (dApp) that pages link to, "" hides the links; "contact" is an extra way to reach the moderator, shown with the notice path, "" hides the line (the on-chain Report needs none). Only the catalog admin sets them: home has no admin of its own.
Value
(120 <untyped> bigint)
init.3
func()- OID
- 0c4421…e9f9:3
init.3 details
Ready
func()Ready tells the data realm that this release is on chain (see data.Propose). Anyone may call it.
- OID
- 0c4421…e9f9:5
Ready details
noPayment
func()- OID
- 0c4421…e9f9:6
noPayment details
onlyCatalogAdmin
func()- OID
- 0c4421…e9f9:7
onlyCatalogAdmin details
SetAppURL
func(url string)SetAppURL sets the app link shown on every page: an https URL of at most 100 characters from \[A-Za-z0-9-.\_~/:%], or "" to remove it. Catalog admin only.
- OID
- 0c4421…e9f9:8
SetAppURL details
SetContact
func(line string)SetContact sets the contact line shown next to the notice path (a web form, a postal address…): one line of at most 120 characters, or "" to remove it. Catalog admin only.
- OID
- 0c4421…e9f9:9
SetContact details
validAppURL
func(u string) bool- OID
- 0c4421…e9f9:10
validAppURL details
appURL
func() stringappURL and contact read the settings. appURL is checked again when read: a later release may write it.
- OID
- 0c4421…e9f9:11
appURL details
contact
func() string- OID
- 0c4421…e9f9:12
contact details
inApp
func(route string, label string) stringinApp links an app route (e.g. "track/12", "" for the player), or returns "" when no app URL is set.
- OID
- 0c4421…e9f9:13
inApp details
ink
untyped stringValue
"#0d0d0d"
paper
untyped stringValue
"#fafaf8"
cream
untyped stringValue
"#f2efe9"
grey
untyped stringValue
"#c4c4c0"
stone
untyped stringValue
"#8f8b84"
line
untyped stringValue
"#e3e3df"
red
untyped stringValue
"#e5432f"
blue
untyped stringValue
"#2445c9"
amber
untyped string// the app's yellow
Value
"#f2b51d"
dim
untyped string// unplayed ticks on ink
Value
"#3a3a37"
font
untyped stringValue
"font-family:Geist,'Helvetica Neue',Helvetica,Arial,sans-serif"
newCanvas
func(w int, h int) *v0.Canvas- OID
- 0c4421…e9f9:14
newCanvas details
drawText
func(c *v0.Canvas, x int, y int, s string, fill string, size int, weight int, anchor string, extra string)text writes s (escaped); weight 400–800; anchor start|middle|end.
- OID
- 0c4421…e9f9:16
drawText details
coverSVG
func(id int, artist int, title string, size int) stringcoverSVG draws one of six geometric compositions and one of three accents, picked from the track and its artist so neighbours differ.
- OID
- 0c4421…e9f9:17
coverSVG details
onAirSVG
func(station string, title string, artist string, offset int64, dur int64) stringonAirSVG is the station banner: huge time numerals and a tick ruler with the red needle, as in the app, on ink so it reads in dark mode too.
- OID
- 0c4421…e9f9:18
onAirSVG details
avatarSVG
func(seed string, size int) stringavatarSVG is a symmetric identicon in the sober palette.
- OID
- 0c4421…e9f9:19
avatarSVG details
badgeSVG
func(title string, rank int) stringbadgeSVG is the early-listener badge.
- OID
- 0c4421…e9f9:20
badgeSVG details
bar
typeValue
v1.bar
barsSVG
func(rows []v1.bar, unit func(...)) stringbarsSVG draws a horizontal bar chart.
- OID
- 0c4421…e9f9:21
barsSVG details
topCurators
func(st int) stringtopCurators lists a station's best pickers this week (radio/curators.gno).
- OID
- 0c4421…e9f9:22
topCurators details
catalogPath
untyped stringValue
"gno.land/r/nym-alexiscolin000/gnoradio/catalog/v1"
radioPath
untyped stringValue
"gno.land/r/nym-alexiscolin000/gnoradio/radio/v1"
ticketsPath
untyped stringValue
"gno.land/r/nym-alexiscolin000/gnoradio/tickets/v1"
dataPath
untyped stringValue
"gno.land/r/nym-alexiscolin000/gnoradio/data"
maxCovers
untyped bigintValue
(8 <untyped> bigint)
pageSize
untyped bigintValue
(20 <untyped> bigint)
ugnot
untyped bigintValue
(1000000 <untyped> bigint)
catalogTx
v0.RealmValue
<gnolang.StringValue>
radioTx
v0.RealmValue
<gnolang.StringValue>
ticketsTx
v0.RealmValue
<gnolang.StringValue>
dataTx
v0.RealmValue
<gnolang.StringValue>
self
stringValue
"gno.land/r/nym-alexiscolin000/gnoradio/home/v1"
base
string// gnoweb path of this realm
Value
"/r/nym-alexiscolin000/gnoradio/home/v1"
Render
func(path string) stringRender serves: "" home: main station on air, stations, new releases, top, concerts "stations" "station/<n>" radio stations and their schedule "track/<id>" a track "artist/<id|name>" an artist "album/<id>" "playlist/<id>" "catalog?p=N&g=G" "artists?p=N" "albums?p=N" "playlists?p=N" "concerts?p=N" "event/<id>" "ticket/<id>" "listener" "listener/<g1…>" listeners: top curators; one listener's likes, playlists, tickets, badges "charts" "join" "about" "moderation?p=N" Bare entity segments ("track", "artist"…, linked by gnoweb's breadcrumb) open the matching list. Entity pages with long lists take ?p=N too. Raw path input is never echoed: ids are parsed, names and addresses looked up.
- OID
- 0c4421…e9f9:30
Render details
banner
func() stringbanner tells visitors what the data realm says of the release in force (data.Writers): a newer site, a paused role, or a release on its way.
- OID
- 0c4421…e9f9:32
banner details
releaseAt
func(js string) int64releaseAt reads "at" of data.Writers(): when a ready release takes over, 0 when none is on its way.
- OID
- 0c4421…e9f9:33
releaseAt details
route
func(p string, pg int, genre int) string- OID
- 0c4421…e9f9:34
route details
renderHome
func() string- OID
- 0c4421…e9f9:35
renderHome details
coverGrid
func(ts []v1.Track) stringcoverGrid lays covers out in columns, each with a "Title · Artist" line.
- OID
- 0c4421…e9f9:36
coverGrid details
hasTreasury
func() boolhasTreasury is false at the free launch: support and the tip share panic then.
- OID
- 0c4421…e9f9:37
hasTreasury details
supportBlock
func() stringsupportBlock shows GnoRadio's own funding: treasury, monthly goal, links.
- OID
- 0c4421…e9f9:38
supportBlock details
activityFeed
func(n int) stringactivityFeed merges the catalog's and the radio's latest public actions, newest first, as the app does.
- OID
- 0c4421…e9f9:39
activityFeed details
catalogLine
func(a v1.Activity) string- OID
- 0c4421…e9f9:40
catalogLine details
radioLine
func(a v1.Activity) string- OID
- 0c4421…e9f9:41
radioLine details
onAir
func(st int) string- OID
- 0c4421…e9f9:42
onAir details
renderStations
func() string- OID
- 0c4421…e9f9:43
renderStations details
pickRules
func() stringpickRules explains the limits radio enforces, read from radio itself.
- OID
- 0c4421…e9f9:44
pickRules details
hours
func(sec int64) stringhours says a whole number of hours in words: "1 hour", "3 hours".
- OID
- 0c4421…e9f9:45
hours details
renderStation
func(st int) string- OID
- 0c4421…e9f9:46
renderStation details
flowLine
func(st int, tracks int) stringflowLine says how a station chooses what plays when nobody picked.
- OID
- 0c4421…e9f9:47
flowLine details
renderTrack
func(t v1.Track) string- OID
- 0c4421…e9f9:48
renderTrack details
support
func(t v1.Track, a v1.Artist) stringsupport explains how this track can be supported, by origin and claim.
- OID
- 0c4421…e9f9:49
support details
platformName
func(origin string) stringplatformName names the platform a pointer is read from.
- OID
- 0c4421…e9f9:50
platformName details
verifyNote
func(a v1.Artist) stringverifyNote says where an artist without tips stands: verified without a wallet, verification in progress, or not verified yet.
- OID
- 0c4421…e9f9:51
verifyNote details
promoLines
func(a v1.Artist, trackID int, genre int) stringpromoLines shows what the artist shares with listeners who play them: the promo share of each tip and the sponsored-pick refund, when on.
- OID
- 0c4421…e9f9:52
promoLines details
renderArtist
func(a v1.Artist, pg int) string- OID
- 0c4421…e9f9:53
renderArtist details
eventTag
func(e v1.Event, now int64) stringeventTag marks a cancelled or past concert in a list.
- OID
- 0c4421…e9f9:54
eventTag details
renderAlbum
func(al v1.Album) string- OID
- 0c4421…e9f9:55
renderAlbum details
renderPlaylist
func(pl v1.Playlist, pg int) string- OID
- 0c4421…e9f9:56
renderPlaylist details
renderCatalog
func(pg int, genre int) string- OID
- 0c4421…e9f9:57
renderCatalog details
renderArtists
func(pg int) string- OID
- 0c4421…e9f9:58
renderArtists details
renderAlbums
func(pg int) string- OID
- 0c4421…e9f9:59
renderAlbums details
renderPlaylists
func(pg int) string- OID
- 0c4421…e9f9:60
renderPlaylists details
maxPastScan
untyped bigintmaxPastScan bounds how many concert ids the cancelled list reads.
Value
(300 <untyped> bigint)
renderConcerts
func(pg int) string- OID
- 0c4421…e9f9:61
renderConcerts details
renderEvent
func(e v1.Event) string- OID
- 0c4421…e9f9:62
renderEvent details
renderTicket
func(tk v1.Ticket) string- OID
- 0c4421…e9f9:63
renderTicket details
ticketTag
func(tk v1.Ticket, e v1.Event) stringticketTag marks an attended ticket or a cancelled concert.
- OID
- 0c4421…e9f9:64
ticketTag details
renderListeners
func() stringrenderListeners is the bare "listener" path: who picks for the stations.
- OID
- 0c4421…e9f9:65
renderListeners details
renderListener
func(addr .uverse.address, pg int) string- OID
- 0c4421…e9f9:66
renderListener details
renderCharts
func() string- OID
- 0c4421…e9f9:67
renderCharts details
renderJoin
func() string- OID
- 0c4421…e9f9:68
renderJoin details
aboutFees
func() stringaboutFees names the operator's income, only when there is any: the ticket service fee is 0 while no treasury is set.
- OID
- 0c4421…e9f9:69
aboutFees details
renderAbout
func() string- OID
- 0c4421…e9f9:70
renderAbout details
renderModeration
func(pg int) string- OID
- 0c4421…e9f9:71
renderModeration details
pendingClaims
func() stringpendingClaims lists the verifications on their way: each stays public 72 hours, so anyone can spot an impersonation and report it first.
- OID
- 0c4421…e9f9:72
pendingClaims details
proofHostOf
func(url string) stringproofHostOf is the host of a proof link, as catalog.ProofHost shows it: up to the first / ? or #, and only a plain host (Claim refuses others; a later release's record shows "?" rather than a wrong host).
- OID
- 0c4421…e9f9:73
proofHostOf details
renderRemoved
func(note string) stringrenderRemoved is the page of hidden content: why it is gone, never what it was.
- OID
- 0c4421…e9f9:74
renderRemoved details
header
func(title string, cur string) stringheader is the page title and the nav; cur is the nav entry to mark ("-": none).
- OID
- 0c4421…e9f9:75
header details
nav
func(cur string) stringnav links the main pages; the current one is bold and unlinked.
- OID
- 0c4421…e9f9:76
nav details
noticeBlock
func() stringnoticeBlock is how to send a copyright or illegal-content notice: the on-chain report, plus the admin's contact line when one is set.
- OID
- 0c4421…e9f9:77
noticeBlock details
stats
func() string- OID
- 0c4421…e9f9:78
stats details
bold
func(s string) stringbold makes the number of "12 tracks" bold.
- OID
- 0c4421…e9f9:79
bold details
page
func(p string) string- OID
- 0c4421…e9f9:80
page details
pager
func(route string, pg int, total int) string- OID
- 0c4421…e9f9:81
pager details
pagerMore
func(route string, pg int, more bool) stringpagerMore links the previous page and, when more is true, the next one.
- OID
- 0c4421…e9f9:82
pagerMore details
playable
func(t v1.Track) bool- OID
- 0c4421…e9f9:83
playable details
trackLink
func(t v1.Track) string- OID
- 0c4421…e9f9:84
trackLink details
artistRef
func(id int) stringartistRef links an artist by id (✓ when verified), or prints nothing for a hidden or unknown one. It reads the artist's head only.
- OID
- 0c4421…e9f9:85
artistRef details
check
func(id int) stringcheck is the ✓ of a verified artist, with the host its proof was found on: " ✓ via example.org", or " ✓" when the moderator verified it.
- OID
- 0c4421…e9f9:86
check details
trackRef
func(id int) stringtrackRef links a track by id ("a track" when hidden or unknown).
- OID
- 0c4421…e9f9:87
trackRef details
stationLink
func(st int) string- OID
- 0c4421…e9f9:88
stationLink details
tippable
func(owner .uverse.address, verified bool) booltippable mirrors catalog: tips and paid tickets need a claimed, verified artist.
- OID
- 0c4421…e9f9:89
tippable details
verifyLink
func(artistID int) stringverifyLink sends an artist to the app's verification steps (catalog/verify.gno).
- OID
- 0c4421…e9f9:90
verifyLink details
genreBrowse
func(st int) stringgenreBrowse points an empty or idle station to tracks it could play.
- OID
- 0c4421…e9f9:91
genreBrowse details
stationOrder
func() []intstationOrder lists Main, then the community stations, then the genres.
- OID
- 0c4421…e9f9:92
stationOrder details
sourceURL
func(pkgPath string, file string) stringsourceURL links a contract file on gnoweb.
- OID
- 0c4421…e9f9:93
sourceURL details
sourceLink
func(label string, url string) stringsourceLink is " \[label](url)." or "" when there is no URL.
- OID
- 0c4421…e9f9:94
sourceLink details
appLine
func() string- OID
- 0c4421…e9f9:95
appLine details
artistLink
func(a v1.Artist) string- OID
- 0c4421…e9f9:96
artistLink details
who
func(addr .uverse.address) stringwho links an address: its artist profile, else its listener page under its gno.land name, or its nickname and short address (a nickname alone is easy to grind).
- OID
- 0c4421…e9f9:97
who details
listenURL
func(id int, audio string, offset int64) stringlistenURL is where a track's audio plays, from offset seconds when the host takes a #t= fragment; an Audius track without its page stays here. Values from the catalog are checked again here (sanitize.URL): this page keeps rendering records later releases write.
- OID
- 0c4421…e9f9:98
listenURL details
rawListenURL
func(id int, audio string, offset int64) string- OID
- 0c4421…e9f9:99
rawListenURL details
licenseLink
func(l string) stringlicenseLink links a license id to its deed. Creative Commons ids read CC-\<terms>-\<version>\[-\<port>], e.g. CC-BY-SA-3.0-DE → creativecommons.org/licenses/by-sa/3.0/de/.
- OID
- 0c4421…e9f9:100
licenseLink details
plain
func(s string) boolplain reports whether s holds only ASCII letters, digits and dots.
- OID
- 0c4421…e9f9:101
plain details
queueURL
func(st int, id int) string- OID
- 0c4421…e9f9:102
queueURL details
bookURL
func(st int, id int) stringbookURL opens QueueAt with the time left for the listener to fill in.
- OID
- 0c4421…e9f9:103
bookURL details
sponsoredURL
func(st int, id int) string- OID
- 0c4421…e9f9:104
sponsoredURL details
tipOnAirURL
func(st int, id int, gnots int64) string- OID
- 0c4421…e9f9:105
tipOnAirURL details
supportURL
func(gnots int64) string- OID
- 0c4421…e9f9:106
supportURL details
tipSupportURL
func(id int, gnots int64, pct int64) stringtipSupportURL tips gnots to the artist side plus pct% on top for GnoRadio.
- OID
- 0c4421…e9f9:107
tipSupportURL details
tipURL
func(id int, gnots int64) string- OID
- 0c4421…e9f9:108
tipURL details
genreList
func() string- OID
- 0c4421…e9f9:109
genreList details
md
func(s string) string- OID
- 0c4421…e9f9:110
md details
atoi
func(s string) int- OID
- 0c4421…e9f9:111
atoi details
short
func(a .uverse.address) string- OID
- 0c4421…e9f9:112
short details
pad2
func(n int) string- OID
- 0c4421…e9f9:113
pad2 details
clock
func(sec int64) string- OID
- 0c4421…e9f9:114
clock details
date
func(unix int64) string- OID
- 0c4421…e9f9:115
date details
hour
func(unix int64) string- OID
- 0c4421…e9f9:116
hour details
day
func(unix int64) stringday is "tomorrow " when unix falls on the next UTC day (a booked pick), else "".
- OID
- 0c4421…e9f9:117
day details
nickname
func(addr .uverse.address) stringnickname is the app's readable stand-in for an address without a gno.land name ("Coral Vinyl 4F"), ported from app/src/lib/nickname.ts: the same word lists and FNV-1a hash, so one address reads the same on both.
- OID
- 0c4421…e9f9:118
nickname details
userName
func(addr .uverse.address) stringuserName is the address's gno.land name (r/sys/users), "" when it has none or the name holds a blocked word (the app shows the nickname then too).
- OID
- 0c4421…e9f9:120
userName details
displayName
func(addr .uverse.address) stringdisplayName is "@name" when the address registered one, else its nickname.
- OID
- 0c4421…e9f9:121
displayName details
role
func(addr .uverse.address, label string) stringrole links an address GnoRadio itself uses under its role, not a nickname.
- OID
- 0c4421…e9f9:122
role details
plural
func(n int, word string) stringplural is "1 track", "2 tracks".
- OID
- 0c4421…e9f9:123
plural details
removedNote
func(note string) stringremovedNote words why content is gone: "Removed · \<reason>" for the moderator, the artist's own note otherwise.
- OID
- 0c4421…e9f9:124