Teal.fm frontend powered by slices.network tealfm-slices.wisp.place
tealfm slices

add NTS badge

+13 -2
src/TrackItem.tsx
···
releaseName
releaseMbId
actorHandle
+
musicServiceBaseDomain
appBskyActorProfile {
displayName
}
···
<div className="flex-1 min-w-0 grid grid-cols-2 gap-4">
<div className="min-w-0">
-
<h3 className="text-sm font-medium text-zinc-100 truncate">
-
{data.trackName}
+
<h3 className="text-sm font-medium text-zinc-100 truncate flex items-center gap-2">
+
<span className="truncate">{data.trackName}</span>
+
{data.musicServiceBaseDomain === "nts.live" && (
+
<a
+
href={`https://${data.musicServiceBaseDomain}`}
+
target="_blank"
+
rel="noopener noreferrer"
+
className="text-[10px] px-1.5 py-0.5 bg-violet-500/20 text-violet-400 rounded flex-shrink-0 hover:bg-violet-500/30 transition-colors"
+
>
+
NTS
+
</a>
+
)}
</h3>
<p className="text-xs text-zinc-500 truncate">
{Array.isArray(data.artists)
+10 -3
src/__generated__/AppPaginationQuery.graphql.ts
···
/**
-
* @generated SignedSource<<cef2df106afea24fa8527f2def8e9991>>
+
* @generated SignedSource<<93c3b304b5d8458925d44479b7dfa204>>
* @lightSyntaxTransform
* @nogrep
*/
···
{
"alias": null,
"args": null,
+
"kind": "ScalarField",
+
"name": "musicServiceBaseDomain",
+
"storageKey": null
+
},
+
{
+
"alias": null,
+
"args": null,
"concreteType": "AppBskyActorProfile",
"kind": "LinkedField",
"name": "appBskyActorProfile",
···
]
},
"params": {
-
"cacheID": "e115a73de49cf6f84a35f172a7910c5c",
+
"cacheID": "71c3d1d480a2c2bc60d3b35d2f07d4eb",
"id": null,
"metadata": {},
"name": "AppPaginationQuery",
"operationKind": "query",
-
"text": "query AppPaginationQuery(\n $count: Int = 20\n $cursor: String\n) {\n ...App_plays_1G22uz\n}\n\nfragment App_plays_1G22uz on Query {\n fmTealAlphaFeedPlays(first: $count, after: $cursor, sortBy: [{field: \"playedTime\", direction: desc}]) {\n totalCount\n edges {\n node {\n playedTime\n ...TrackItem_play\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n appBskyActorProfile {\n displayName\n }\n}\n"
+
"text": "query AppPaginationQuery(\n $count: Int = 20\n $cursor: String\n) {\n ...App_plays_1G22uz\n}\n\nfragment App_plays_1G22uz on Query {\n fmTealAlphaFeedPlays(first: $count, after: $cursor, sortBy: [{field: \"playedTime\", direction: desc}]) {\n totalCount\n edges {\n node {\n playedTime\n ...TrackItem_play\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfile {\n displayName\n }\n}\n"
}
};
})();
+10 -3
src/__generated__/AppQuery.graphql.ts
···
/**
-
* @generated SignedSource<<541e6114682aef7988bd233592085337>>
+
* @generated SignedSource<<260fc65cac40538ad1a1673377c9e51d>>
* @lightSyntaxTransform
* @nogrep
*/
···
{
"alias": null,
"args": null,
+
"kind": "ScalarField",
+
"name": "musicServiceBaseDomain",
+
"storageKey": null
+
},
+
{
+
"alias": null,
+
"args": null,
"concreteType": "AppBskyActorProfile",
"kind": "LinkedField",
"name": "appBskyActorProfile",
···
]
},
"params": {
-
"cacheID": "1cacfb0aa5545cf84688b8396079b855",
+
"cacheID": "f3173a0a17eece6a35b00c37e787c484",
"id": null,
"metadata": {},
"name": "AppQuery",
"operationKind": "query",
-
"text": "query AppQuery {\n ...App_plays\n}\n\nfragment App_plays on Query {\n fmTealAlphaFeedPlays(first: 20, sortBy: [{field: \"playedTime\", direction: desc}]) {\n totalCount\n edges {\n node {\n playedTime\n ...TrackItem_play\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n appBskyActorProfile {\n displayName\n }\n}\n"
+
"text": "query AppQuery {\n ...App_plays\n}\n\nfragment App_plays on Query {\n fmTealAlphaFeedPlays(first: 20, sortBy: [{field: \"playedTime\", direction: desc}]) {\n totalCount\n edges {\n node {\n playedTime\n ...TrackItem_play\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfile {\n displayName\n }\n}\n"
}
};
})();
+10 -3
src/__generated__/AppSubscription.graphql.ts
···
/**
-
* @generated SignedSource<<401c6c4a1920db251447fa96aca8768a>>
+
* @generated SignedSource<<0e4c25e0e4257b2c7042e374f3568241>>
* @lightSyntaxTransform
* @nogrep
*/
···
{
"alias": null,
"args": null,
+
"kind": "ScalarField",
+
"name": "musicServiceBaseDomain",
+
"storageKey": null
+
},
+
{
+
"alias": null,
+
"args": null,
"concreteType": "AppBskyActorProfile",
"kind": "LinkedField",
"name": "appBskyActorProfile",
···
]
},
"params": {
-
"cacheID": "c856872303e0f4904ea70ed5dc54cce2",
+
"cacheID": "d2419c5bef1474c19f75ee5b97062013",
"id": null,
"metadata": {},
"name": "AppSubscription",
"operationKind": "subscription",
-
"text": "subscription AppSubscription {\n fmTealAlphaFeedPlayCreated {\n uri\n playedTime\n ...TrackItem_play\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n appBskyActorProfile {\n displayName\n }\n}\n"
+
"text": "subscription AppSubscription {\n fmTealAlphaFeedPlayCreated {\n uri\n playedTime\n ...TrackItem_play\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfile {\n displayName\n }\n}\n"
}
};
})();
+10 -3
src/__generated__/ProfilePaginationQuery.graphql.ts
···
/**
-
* @generated SignedSource<<97625934b32c4079cc58877234aeac04>>
+
* @generated SignedSource<<a103b609fd81848d14264d18e76ece37>>
* @lightSyntaxTransform
* @nogrep
*/
···
{
"alias": null,
"args": null,
+
"kind": "ScalarField",
+
"name": "musicServiceBaseDomain",
+
"storageKey": null
+
},
+
{
+
"alias": null,
+
"args": null,
"concreteType": "AppBskyActorProfile",
"kind": "LinkedField",
"name": "appBskyActorProfile",
···
]
},
"params": {
-
"cacheID": "08e603fb4052c3556739bda428413453",
+
"cacheID": "b6789cc8edc0cedfd5de86eadfba8b9e",
"id": null,
"metadata": {},
"name": "ProfilePaginationQuery",
"operationKind": "query",
-
"text": "query ProfilePaginationQuery(\n $count: Int = 20\n $cursor: String\n $where: JSON!\n) {\n ...Profile_plays_mjR8k\n}\n\nfragment Profile_plays_mjR8k on Query {\n fmTealAlphaFeedPlays(first: $count, after: $cursor, sortBy: [{field: \"playedTime\", direction: desc}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfile {\n displayName\n description\n avatar {\n url(preset: \"avatar\")\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n appBskyActorProfile {\n displayName\n }\n}\n"
+
"text": "query ProfilePaginationQuery(\n $count: Int = 20\n $cursor: String\n $where: JSON!\n) {\n ...Profile_plays_mjR8k\n}\n\nfragment Profile_plays_mjR8k on Query {\n fmTealAlphaFeedPlays(first: $count, after: $cursor, sortBy: [{field: \"playedTime\", direction: desc}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfile {\n displayName\n description\n avatar {\n url(preset: \"avatar\")\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfile {\n displayName\n }\n}\n"
}
};
})();
+10 -3
src/__generated__/ProfileQuery.graphql.ts
···
/**
-
* @generated SignedSource<<c47dafb8d21963c2a9dcbcd54d7bd8d8>>
+
* @generated SignedSource<<706478869815c293b78f1ace532431f2>>
* @lightSyntaxTransform
* @nogrep
*/
···
{
"alias": null,
"args": null,
+
"kind": "ScalarField",
+
"name": "musicServiceBaseDomain",
+
"storageKey": null
+
},
+
{
+
"alias": null,
+
"args": null,
"concreteType": "AppBskyActorProfile",
"kind": "LinkedField",
"name": "appBskyActorProfile",
···
]
},
"params": {
-
"cacheID": "3137e7b6ec5148299e7a7c7f4edf07b2",
+
"cacheID": "f6cf8b245658eb5d028de7fafcc457c9",
"id": null,
"metadata": {},
"name": "ProfileQuery",
"operationKind": "query",
-
"text": "query ProfileQuery(\n $where: JSON!\n) {\n ...Profile_plays_3FC4Qo\n}\n\nfragment Profile_plays_3FC4Qo on Query {\n fmTealAlphaFeedPlays(first: 20, sortBy: [{field: \"playedTime\", direction: desc}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfile {\n displayName\n description\n avatar {\n url(preset: \"avatar\")\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n appBskyActorProfile {\n displayName\n }\n}\n"
+
"text": "query ProfileQuery(\n $where: JSON!\n) {\n ...Profile_plays_3FC4Qo\n}\n\nfragment Profile_plays_3FC4Qo on Query {\n fmTealAlphaFeedPlays(first: 20, sortBy: [{field: \"playedTime\", direction: desc}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfile {\n displayName\n description\n avatar {\n url(preset: \"avatar\")\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfile {\n displayName\n }\n}\n"
}
};
})();
+10 -2
src/__generated__/TrackItem_play.graphql.ts
···
/**
-
* @generated SignedSource<<1403d6e3403844ad955c2fe48c8a66c9>>
+
* @generated SignedSource<<8d4b2dad137cc86578e0230225cde09f>>
* @lightSyntaxTransform
* @nogrep
*/
···
readonly displayName: string | null | undefined;
} | null | undefined;
readonly artists: any | null | undefined;
+
readonly musicServiceBaseDomain: string | null | undefined;
readonly playedTime: string | null | undefined;
readonly releaseMbId: string | null | undefined;
readonly releaseName: string | null | undefined;
···
{
"alias": null,
"args": null,
+
"kind": "ScalarField",
+
"name": "musicServiceBaseDomain",
+
"storageKey": null
+
},
+
{
+
"alias": null,
+
"args": null,
"concreteType": "AppBskyActorProfile",
"kind": "LinkedField",
"name": "appBskyActorProfile",
···
"abstractKey": null
};
-
(node as any).hash = "08e8e2c14a894471e9a3153f8918e02e";
+
(node as any).hash = "ff1bb5f1d370a2aa9ee45a6db4320f83";
export default node;