TheDocumentation Index
Fetch the complete documentation index at: https://help.helloazhenweb.top/llms.txt
Use this file to discover all available pages before exploring further.
lib/music-config.ts file defines everything the Birthday Wall radio page plays and displays. You can organize songs into named playlists, attach cover art and background images, embed lyrics that float across the screen, and write personal messages that appear on each song card. You can also tune the radio’s global behavior — such as whether lyrics are visible or what the default volume is.
Song fields
Each entry in a playlist’s songs array must conform to the Song interface:
The song title displayed on the song card, in the now-playing bar, and in the year-end report.
The performing artist’s name. Shown beneath the title on song cards and used to populate artist stats in the report view.
The album the track belongs to. Displayed as supplementary metadata on the song detail page.
A human-readable duration string such as
"4:12". The radio does not enforce this value programmatically — it is purely decorative metadata shown on the card.A fully qualified URL pointing to the album or cover art image. When omitted, the radio uses a default placeholder image.
Lyric lines separated by
\n. These lines are rendered as animated floating text in the radio and report views. Keep each line short for the best visual effect.A fully qualified URL for the full-bleed background image shown on the song detail and report pages. Unsplash URLs work well here.
A personal message written to the celebrant. Displayed on the song card inside the radio and on the corresponding section of the report. This is a great place to explain why you chose each song.
Playlist fields
Songs are grouped into playlists. Each playlist object has:
A unique slug used internally to look up the playlist (e.g.
"favorite-songs"). Use lowercase letters and hyphens only.The human-readable playlist name shown as the card title in the radio UI.
A subtitle shown beneath the playlist card. Use it to set context — for example,
"Her favorite songs".The ordered array of
Song objects belonging to this playlist. Songs are displayed in the order they appear in the array.Radio preferences (musicConfig.preferences)
The preferences object stores metadata that surfaces as stats in the year-end report view:
| Field | Purpose |
|---|---|
favoriteGenre | Shown as the celebrant’s favorite music genre stat |
mood | Shown as the emotional mood stat for the music collection |
favoriteArtist | Stored as metadata; currently displayed in the report summary |
Radio settings (musicConfig.radio)
Set to
false to disable the radio page entirely. Defaults to true.When
true, the radio attempts to begin playback on page load. Note: this field is not currently wired to actual audio playback — it is reserved for future use.Controls whether the floating lyric snippets are rendered over the radio background. Set to
false to disable the effect.The initial volume level as an integer from
0 to 100. Defaults to 70.Adding a new song
To add a song to an existing playlist, append a new object to that playlist’ssongs array: