Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

v1 state

Back to all declarations

cConfig

untyped string

The 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 bigint

The 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 bigint

The 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)

Ready

func()

Ready tells the data realm that this release is on chain (see data.Propose). Anyone may call it.

Open
OID
0c4421…e9f9:5
Ready details

Inspect func

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.

Open
OID
0c4421…e9f9:8
SetAppURL details

Inspect func

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.

Open
OID
0c4421…e9f9:9
SetContact details

Inspect func

validAppURL

func(u string) bool
Open
OID
0c4421…e9f9:10
validAppURL details

Inspect func

appURL

func() string

appURL and contact read the settings. appURL is checked again when read: a later release may write it.

Open
OID
0c4421…e9f9:11
appURL details

Inspect func

inApp

func(route string, label string) string

inApp links an app route (e.g. "track/12", "" for the player), or returns "" when no app URL is set.

Open
OID
0c4421…e9f9:13
inApp details

Inspect func

ink

untyped string

Value

"#0d0d0d"

paper

untyped string

Value

"#fafaf8"

cream

untyped string

Value

"#f2efe9"

grey

untyped string

Value

"#c4c4c0"

stone

untyped string

Value

"#8f8b84"

line

untyped string

Value

"#e3e3df"

red

untyped string

Value

"#e5432f"

blue

untyped string

Value

"#2445c9"

amber

untyped string

// the app's yellow

Value

"#f2b51d"

dim

untyped string

// unplayed ticks on ink

Value

"#3a3a37"

font

untyped string

Value

"font-family:Geist,'Helvetica Neue',Helvetica,Arial,sans-serif"

newCanvas

func(w int, h int) *v0.Canvas
Open
OID
0c4421…e9f9:14
newCanvas details

Inspect func

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.

Open
OID
0c4421…e9f9:16
drawText details

Inspect func

coverSVG

func(id int, artist int, title string, size int) string

coverSVG draws one of six geometric compositions and one of three accents, picked from the track and its artist so neighbours differ.

Open
OID
0c4421…e9f9:17
coverSVG details

Inspect func

onAirSVG

func(station string, title string, artist string, offset int64, dur int64) string

onAirSVG 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.

Open
OID
0c4421…e9f9:18
onAirSVG details

Inspect func

avatarSVG

func(seed string, size int) string

avatarSVG is a symmetric identicon in the sober palette.

Open
OID
0c4421…e9f9:19
avatarSVG details

Inspect func

badgeSVG

func(title string, rank int) string

badgeSVG is the early-listener badge.

Open
OID
0c4421…e9f9:20
badgeSVG details

Inspect func

bar

type

Value

v1.bar

barsSVG

func(rows []v1.bar, unit func(...)) string

barsSVG draws a horizontal bar chart.

Open
OID
0c4421…e9f9:21
barsSVG details

Inspect func

topCurators

func(st int) string

topCurators lists a station's best pickers this week (radio/curators.gno).

Open
OID
0c4421…e9f9:22
topCurators details

Inspect func

catalogPath

untyped string

Value

"gno.land/r/nym-alexiscolin000/gnoradio/catalog/v1"

radioPath

untyped string

Value

"gno.land/r/nym-alexiscolin000/gnoradio/radio/v1"

ticketsPath

untyped string

Value

"gno.land/r/nym-alexiscolin000/gnoradio/tickets/v1"

dataPath

untyped string

Value

"gno.land/r/nym-alexiscolin000/gnoradio/data"

maxCovers

untyped bigint

Value

(8 <untyped> bigint)

pageSize

untyped bigint

Value

(20 <untyped> bigint)

ugnot

untyped bigint

Value

(1000000 <untyped> bigint)

catalogTx

v0.Realm

Value

<gnolang.StringValue>

radioTx

v0.Realm

Value

<gnolang.StringValue>

ticketsTx

v0.Realm

Value

<gnolang.StringValue>

dataTx

v0.Realm

Value

<gnolang.StringValue>

self

string

Value

"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) string

Render 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.

Open
OID
0c4421…e9f9:30
Render details

Inspect func

banner

func() string

banner 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.

Open
OID
0c4421…e9f9:32
banner details

Inspect func

releaseAt

func(js string) int64

releaseAt reads "at" of data.Writers(): when a ready release takes over, 0 when none is on its way.

Open
OID
0c4421…e9f9:33
releaseAt details

Inspect func

route

func(p string, pg int, genre int) string
Open
OID
0c4421…e9f9:34
route details

Inspect func

coverGrid

func(ts []v1.Track) string

coverGrid lays covers out in columns, each with a "Title · Artist" line.

Open
OID
0c4421…e9f9:36
coverGrid details

Inspect func

hasTreasury

func() bool

hasTreasury is false at the free launch: support and the tip share panic then.

Open
OID
0c4421…e9f9:37
hasTreasury details

Inspect func

supportBlock

func() string

supportBlock shows GnoRadio's own funding: treasury, monthly goal, links.

Open
OID
0c4421…e9f9:38
supportBlock details

Inspect func

activityFeed

func(n int) string

activityFeed merges the catalog's and the radio's latest public actions, newest first, as the app does.

Open
OID
0c4421…e9f9:39
activityFeed details

Inspect func

catalogLine

func(a v1.Activity) string
Open
OID
0c4421…e9f9:40
catalogLine details

Inspect func

radioLine

func(a v1.Activity) string
Open
OID
0c4421…e9f9:41
radioLine details

Inspect func

renderStations

func() string
Open
OID
0c4421…e9f9:43
renderStations details

Inspect func

pickRules

func() string

pickRules explains the limits radio enforces, read from radio itself.

Open
OID
0c4421…e9f9:44
pickRules details

Inspect func

hours

func(sec int64) string

hours says a whole number of hours in words: "1 hour", "3 hours".

Open
OID
0c4421…e9f9:45
hours details

Inspect func

renderStation

func(st int) string
Open
OID
0c4421…e9f9:46
renderStation details

Inspect func

flowLine

func(st int, tracks int) string

flowLine says how a station chooses what plays when nobody picked.

Open
OID
0c4421…e9f9:47
flowLine details

Inspect func

renderTrack

func(t v1.Track) string
Open
OID
0c4421…e9f9:48
renderTrack details

Inspect func

support

func(t v1.Track, a v1.Artist) string

support explains how this track can be supported, by origin and claim.

Open
OID
0c4421…e9f9:49
support details

Inspect func

platformName

func(origin string) string

platformName names the platform a pointer is read from.

Open
OID
0c4421…e9f9:50
platformName details

Inspect func

verifyNote

func(a v1.Artist) string

verifyNote says where an artist without tips stands: verified without a wallet, verification in progress, or not verified yet.

Open
OID
0c4421…e9f9:51
verifyNote details

Inspect func

promoLines

func(a v1.Artist, trackID int, genre int) string

promoLines shows what the artist shares with listeners who play them: the promo share of each tip and the sponsored-pick refund, when on.

Open
OID
0c4421…e9f9:52
promoLines details

Inspect func

renderArtist

func(a v1.Artist, pg int) string
Open
OID
0c4421…e9f9:53
renderArtist details

Inspect func

eventTag

func(e v1.Event, now int64) string

eventTag marks a cancelled or past concert in a list.

Open
OID
0c4421…e9f9:54
eventTag details

Inspect func

renderAlbum

func(al v1.Album) string
Open
OID
0c4421…e9f9:55
renderAlbum details

Inspect func

renderPlaylist

func(pl v1.Playlist, pg int) string
Open
OID
0c4421…e9f9:56
renderPlaylist details

Inspect func

renderCatalog

func(pg int, genre int) string
Open
OID
0c4421…e9f9:57
renderCatalog details

Inspect func

renderArtists

func(pg int) string
Open
OID
0c4421…e9f9:58
renderArtists details

Inspect func

renderAlbums

func(pg int) string
Open
OID
0c4421…e9f9:59
renderAlbums details

Inspect func

renderPlaylists

func(pg int) string
Open
OID
0c4421…e9f9:60
renderPlaylists details

Inspect func

maxPastScan

untyped bigint

maxPastScan bounds how many concert ids the cancelled list reads.

Value

(300 <untyped> bigint)

renderConcerts

func(pg int) string
Open
OID
0c4421…e9f9:61
renderConcerts details

Inspect func

renderEvent

func(e v1.Event) string
Open
OID
0c4421…e9f9:62
renderEvent details

Inspect func

renderTicket

func(tk v1.Ticket) string
Open
OID
0c4421…e9f9:63
renderTicket details

Inspect func

ticketTag

func(tk v1.Ticket, e v1.Event) string

ticketTag marks an attended ticket or a cancelled concert.

Open
OID
0c4421…e9f9:64
ticketTag details

Inspect func

renderListeners

func() string

renderListeners is the bare "listener" path: who picks for the stations.

Open
OID
0c4421…e9f9:65
renderListeners details

Inspect func

renderListener

func(addr .uverse.address, pg int) string
Open
OID
0c4421…e9f9:66
renderListener details

Inspect func

aboutFees

func() string

aboutFees names the operator's income, only when there is any: the ticket service fee is 0 while no treasury is set.

Open
OID
0c4421…e9f9:69
aboutFees details

Inspect func

renderModeration

func(pg int) string
Open
OID
0c4421…e9f9:71
renderModeration details

Inspect func

pendingClaims

func() string

pendingClaims lists the verifications on their way: each stays public 72 hours, so anyone can spot an impersonation and report it first.

Open
OID
0c4421…e9f9:72
pendingClaims details

Inspect func

proofHostOf

func(url string) string

proofHostOf 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).

Open
OID
0c4421…e9f9:73
proofHostOf details

Inspect func

renderRemoved

func(note string) string

renderRemoved is the page of hidden content: why it is gone, never what it was.

Open
OID
0c4421…e9f9:74
renderRemoved details

Inspect func

header

func(title string, cur string) string

header is the page title and the nav; cur is the nav entry to mark ("-": none).

Open
OID
0c4421…e9f9:75
header details

Inspect func

nav

func(cur string) string

nav links the main pages; the current one is bold and unlinked.

Open
OID
0c4421…e9f9:76
nav details

Inspect func

noticeBlock

func() string

noticeBlock is how to send a copyright or illegal-content notice: the on-chain report, plus the admin's contact line when one is set.

Open
OID
0c4421…e9f9:77
noticeBlock details

Inspect func

bold

func(s string) string

bold makes the number of "12 tracks" bold.

Open
OID
0c4421…e9f9:79
bold details

Inspect func

pager

func(route string, pg int, total int) string
Open
OID
0c4421…e9f9:81
pager details

Inspect func

pagerMore

func(route string, pg int, more bool) string

pagerMore links the previous page and, when more is true, the next one.

Open
OID
0c4421…e9f9:82
pagerMore details

Inspect func

artistRef

func(id int) string

artistRef links an artist by id (✓ when verified), or prints nothing for a hidden or unknown one. It reads the artist's head only.

Open
OID
0c4421…e9f9:85
artistRef details

Inspect func

check

func(id int) string

check is the ✓ of a verified artist, with the host its proof was found on: " ✓ via example.org", or " ✓" when the moderator verified it.

Open
OID
0c4421…e9f9:86
check details

Inspect func

trackRef

func(id int) string

trackRef links a track by id ("a track" when hidden or unknown).

Open
OID
0c4421…e9f9:87
trackRef details

Inspect func

tippable

func(owner .uverse.address, verified bool) bool

tippable mirrors catalog: tips and paid tickets need a claimed, verified artist.

Open
OID
0c4421…e9f9:89
tippable details

Inspect func

genreBrowse

func(st int) string

genreBrowse points an empty or idle station to tracks it could play.

Open
OID
0c4421…e9f9:91
genreBrowse details

Inspect func

stationOrder

func() []int

stationOrder lists Main, then the community stations, then the genres.

Open
OID
0c4421…e9f9:92
stationOrder details

Inspect func

sourceURL

func(pkgPath string, file string) string

sourceURL links a contract file on gnoweb.

Open
OID
0c4421…e9f9:93
sourceURL details

Inspect func

who

func(addr .uverse.address) string

who 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).

Open
OID
0c4421…e9f9:97
who details

Inspect func

listenURL

func(id int, audio string, offset int64) string

listenURL 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.

Open
OID
0c4421…e9f9:98
listenURL details

Inspect func

rawListenURL

func(id int, audio string, offset int64) string
Open
OID
0c4421…e9f9:99
rawListenURL details

Inspect func

plain

func(s string) bool

plain reports whether s holds only ASCII letters, digits and dots.

Open
OID
0c4421…e9f9:101
plain details

Inspect func

queueURL

func(st int, id int) string
Open
OID
0c4421…e9f9:102
queueURL details

Inspect func

bookURL

func(st int, id int) string

bookURL opens QueueAt with the time left for the listener to fill in.

Open
OID
0c4421…e9f9:103
bookURL details

Inspect func

sponsoredURL

func(st int, id int) string
Open
OID
0c4421…e9f9:104
sponsoredURL details

Inspect func

tipOnAirURL

func(st int, id int, gnots int64) string
Open
OID
0c4421…e9f9:105
tipOnAirURL details

Inspect func

supportURL

func(gnots int64) string
Open
OID
0c4421…e9f9:106
supportURL details

Inspect func

tipSupportURL

func(id int, gnots int64, pct int64) string

tipSupportURL tips gnots to the artist side plus pct% on top for GnoRadio.

Open
OID
0c4421…e9f9:107
tipSupportURL details

Inspect func

tipURL

func(id int, gnots int64) string
Open
OID
0c4421…e9f9:108
tipURL details

Inspect func

short

func(a .uverse.address) string
Open
OID
0c4421…e9f9:112
short details

Inspect func

day

func(unix int64) string

day is "tomorrow " when unix falls on the next UTC day (a booked pick), else "".

Open
OID
0c4421…e9f9:117
day details

Inspect func

nickname

func(addr .uverse.address) string

nickname 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.

Open
OID
0c4421…e9f9:118
nickname details

Inspect func

userName

func(addr .uverse.address) string

userName 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).

Open
OID
0c4421…e9f9:120
userName details

Inspect func

displayName

func(addr .uverse.address) string

displayName is "@name" when the address registered one, else its nickname.

Open
OID
0c4421…e9f9:121
displayName details

Inspect func

role

func(addr .uverse.address, label string) string

role links an address GnoRadio itself uses under its role, not a nickname.

Open
OID
0c4421…e9f9:122
role details

Inspect func

plural

func(n int, word string) string

plural is "1 track", "2 tracks".

Open
OID
0c4421…e9f9:123
plural details

Inspect func

removedNote

func(note string) string

removedNote words why content is gone: "Removed · \<reason>" for the moderator, the artist's own note otherwise.

Open
OID
0c4421…e9f9:124
removedNote details

Inspect func
cConfig : untyped string ="home/config"
maxAppURL : untyped bigint =(100 <untyped> bigint)
maxContact : untyped bigint =(120 <untyped> bigint)
init.3 : func() Inspect
Ready : func() Inspect
noPayment : func() Inspect
onlyCatalogAdmin : func() Inspect
SetAppURL : func(url string) Inspect
SetContact : func(line string) Inspect
validAppURL : func(u string) bool Inspect
appURL : func() string Inspect
contact : func() string Inspect
inApp : func(route string, label string) string Inspect
ink : untyped string ="#0d0d0d"
paper : untyped string ="#fafaf8"
cream : untyped string ="#f2efe9"
grey : untyped string ="#c4c4c0"
stone : untyped string ="#8f8b84"
line : untyped string ="#e3e3df"
red : untyped string ="#e5432f"
blue : untyped string ="#2445c9"
amber : untyped string ="#f2b51d"
dim : untyped string ="#3a3a37"
font : untyped string ="font-family:Geist,'Helvetica Neue',Helvetica,Arial,sans-serif"
newCanvas : func(w int, h int) *v0.Canvas Inspect
drawText : func(c *v0.Canvas, x int, y int, s string, fill string, size int, weight int, anchor string, extra string) Inspect
coverSVG : func(id int, artist int, title string, size int) string Inspect
onAirSVG : func(station string, title string, artist string, offset int64, dur int64) string Inspect
avatarSVG : func(seed string, size int) string Inspect
badgeSVG : func(title string, rank int) string Inspect
bar : type =v1.bar
barsSVG : func(rows []v1.bar, unit func(...)) string Inspect
topCurators : func(st int) string Inspect
catalogPath : untyped string ="gno.land/r/nym-alexiscolin000/gnoradio/catalog/v1"
radioPath : untyped string ="gno.land/r/nym-alexiscolin000/gnoradio/radio/v1"
ticketsPath : untyped string ="gno.land/r/nym-alexiscolin000/gnoradio/tickets/v1"
dataPath : untyped string ="gno.land/r/nym-alexiscolin000/gnoradio/data"
maxCovers : untyped bigint =(8 <untyped> bigint)
pageSize : untyped bigint =(20 <untyped> bigint)
ugnot : untyped bigint =(1000000 <untyped> bigint)
catalogTx : v0.Realm =<gnolang.StringValue>
radioTx : v0.Realm =<gnolang.StringValue>
ticketsTx : v0.Realm =<gnolang.StringValue>
dataTx : v0.Realm =<gnolang.StringValue>
self : string ="gno.land/r/nym-alexiscolin000/gnoradio/home/v1"
base : string ="/r/nym-alexiscolin000/gnoradio/home/v1"
Render : func(path string) string Inspect
banner : func() string Inspect
releaseAt : func(js string) int64 Inspect
route : func(p string, pg int, genre int) string Inspect
renderHome : func() string Inspect
coverGrid : func(ts []v1.Track) string Inspect
hasTreasury : func() bool Inspect
supportBlock : func() string Inspect
activityFeed : func(n int) string Inspect
catalogLine : func(a v1.Activity) string Inspect
radioLine : func(a v1.Activity) string Inspect
onAir : func(st int) string Inspect
renderStations : func() string Inspect
pickRules : func() string Inspect
hours : func(sec int64) string Inspect
renderStation : func(st int) string Inspect
flowLine : func(st int, tracks int) string Inspect
renderTrack : func(t v1.Track) string Inspect
support : func(t v1.Track, a v1.Artist) string Inspect
platformName : func(origin string) string Inspect
verifyNote : func(a v1.Artist) string Inspect
promoLines : func(a v1.Artist, trackID int, genre int) string Inspect
renderArtist : func(a v1.Artist, pg int) string Inspect
eventTag : func(e v1.Event, now int64) string Inspect
renderAlbum : func(al v1.Album) string Inspect
renderPlaylist : func(pl v1.Playlist, pg int) string Inspect
renderCatalog : func(pg int, genre int) string Inspect
renderArtists : func(pg int) string Inspect
renderAlbums : func(pg int) string Inspect
renderPlaylists : func(pg int) string Inspect
maxPastScan : untyped bigint =(300 <untyped> bigint)
renderConcerts : func(pg int) string Inspect
renderEvent : func(e v1.Event) string Inspect
renderTicket : func(tk v1.Ticket) string Inspect
ticketTag : func(tk v1.Ticket, e v1.Event) string Inspect
renderListeners : func() string Inspect
renderListener : func(addr .uverse.address, pg int) string Inspect
renderCharts : func() string Inspect
renderJoin : func() string Inspect
aboutFees : func() string Inspect
renderAbout : func() string Inspect
renderModeration : func(pg int) string Inspect
pendingClaims : func() string Inspect
proofHostOf : func(url string) string Inspect
renderRemoved : func(note string) string Inspect
header : func(title string, cur string) string Inspect
nav : func(cur string) string Inspect
noticeBlock : func() string Inspect
stats : func() string Inspect
bold : func(s string) string Inspect
page : func(p string) string Inspect
pager : func(route string, pg int, total int) string Inspect
pagerMore : func(route string, pg int, more bool) string Inspect
playable : func(t v1.Track) bool Inspect
artistRef : func(id int) string Inspect
check : func(id int) string Inspect
trackRef : func(id int) string Inspect
tippable : func(owner .uverse.address, verified bool) bool Inspect
genreBrowse : func(st int) string Inspect
stationOrder : func() []int Inspect
sourceURL : func(pkgPath string, file string) string Inspect
appLine : func() string Inspect
who : func(addr .uverse.address) string Inspect
listenURL : func(id int, audio string, offset int64) string Inspect
rawListenURL : func(id int, audio string, offset int64) string Inspect
plain : func(s string) bool Inspect
queueURL : func(st int, id int) string Inspect
bookURL : func(st int, id int) string Inspect
sponsoredURL : func(st int, id int) string Inspect
tipOnAirURL : func(st int, id int, gnots int64) string Inspect
supportURL : func(gnots int64) string Inspect
tipSupportURL : func(id int, gnots int64, pct int64) string Inspect
tipURL : func(id int, gnots int64) string Inspect
genreList : func() string Inspect
md : func(s string) string Inspect
atoi : func(s string) int Inspect
short : func(a .uverse.address) string Inspect
pad2 : func(n int) string Inspect
clock : func(sec int64) string Inspect
date : func(unix int64) string Inspect
hour : func(unix int64) string Inspect
day : func(unix int64) string Inspect
nickname : func(addr .uverse.address) string Inspect
userName : func(addr .uverse.address) string Inspect
displayName : func(addr .uverse.address) string Inspect
role : func(addr .uverse.address, label string) string Inspect
plural : func(n int, word string) string Inspect
removedNote : func(note string) string Inspect