A React component library for rendering common AT Protocol records for applications such as Bluesky and Leaflet.
1/**
2 * teal.fm record types for music listening history
3 * Specification: fm.teal.alpha.actor.status and fm.teal.alpha.feed.play
4 */
5
6export interface TealArtist {
7 artistName: string;
8 artistMbId?: string;
9}
10
11export interface TealPlayItem {
12 artists: TealArtist[];
13 originUrl?: string;
14 trackName: string;
15 playedTime: string;
16 releaseName?: string;
17 recordingMbId?: string;
18 releaseMbId?: string;
19 submissionClientAgent?: string;
20 musicServiceBaseDomain?: string;
21 isrc?: string;
22 duration?: number;
23}
24
25/**
26 * fm.teal.alpha.actor.status - The last played song
27 */
28export interface TealActorStatusRecord {
29 $type: "fm.teal.alpha.actor.status";
30 item: TealPlayItem;
31 time: string;
32 expiry?: string;
33}
34
35/**
36 * fm.teal.alpha.feed.play - A single play record
37 */
38export interface TealFeedPlayRecord extends TealPlayItem {
39 $type: "fm.teal.alpha.feed.play";
40}