+1
-1
package.json
+1
-1
package.json
···
8
"build": "tsc -b && vite build",
9
"lint": "eslint .",
10
"preview": "vite preview",
11
-
"schema:dev": "npx get-graphql-schema 'http://localhost:8000/graphql' > schema.graphql",
12
"schema:prod": "npx get-graphql-schema 'https://quickslice-production-d668.up.railway.app/graphql' > schema.graphql"
13
},
14
"dependencies": {
···
8
"build": "tsc -b && vite build",
9
"lint": "eslint .",
10
"preview": "vite preview",
11
+
"schema:dev": "npx get-graphql-schema 'http://localhost:8080/graphql' > schema.graphql",
12
"schema:prod": "npx get-graphql-schema 'https://quickslice-production-d668.up.railway.app/graphql' > schema.graphql"
13
},
14
"dependencies": {
+61
-52
schema.graphql
+61
-52
schema.graphql
···
416
uri: String
417
}
418
419
"""Record type: fm.teal.alpha.feed.play"""
420
type FmTealAlphaFeedPlay {
421
"""Record URI"""
···
437
actorHandle: String
438
439
"""Field from lexicon"""
440
-
artistMbIds: String
441
442
"""Field from lexicon"""
443
-
artistNames: String
444
445
"""Field from lexicon"""
446
-
artists: String
447
448
"""Field from lexicon"""
449
duration: Int
···
886
mimeType: String!
887
): BlobUploadResponse!
888
889
-
"""Create a new fm.teal.alpha.feed.play record"""
890
-
createFmTealAlphaFeedPlay(
891
"""Record data"""
892
-
input: FmTealAlphaFeedPlayInput!
893
894
"""Optional record key (defaults to TID)"""
895
rkey: String
896
-
): FmTealAlphaFeedPlay
897
898
-
"""Update an existing fm.teal.alpha.feed.play record"""
899
-
updateFmTealAlphaFeedPlay(
900
"""Record key to update"""
901
rkey: String!
902
903
"""Updated record data"""
904
-
input: FmTealAlphaFeedPlayInput!
905
-
): FmTealAlphaFeedPlay
906
907
-
"""Delete a fm.teal.alpha.feed.play record"""
908
-
deleteFmTealAlphaFeedPlay(
909
"""Record key to delete"""
910
rkey: String!
911
): DeleteResult
912
913
-
"""Create a new app.bsky.actor.profile record"""
914
-
createAppBskyActorProfile(
915
"""Record data"""
916
-
input: AppBskyActorProfileInput!
917
918
"""Optional record key (defaults to TID)"""
919
rkey: String
920
-
): AppBskyActorProfile
921
922
-
"""Update an existing app.bsky.actor.profile record"""
923
-
updateAppBskyActorProfile(
924
"""Record key to update"""
925
rkey: String!
926
927
"""Updated record data"""
928
-
input: AppBskyActorProfileInput!
929
-
): AppBskyActorProfile
930
931
-
"""Delete a app.bsky.actor.profile record"""
932
-
deleteAppBskyActorProfile(
933
"""Record key to delete"""
934
rkey: String!
935
): DeleteResult
···
952
953
"""Root query type"""
954
type Query {
955
-
"""Query fm.teal.alpha.feed.play with cursor pagination and sorting"""
956
-
fmTealAlphaFeedPlay(
957
"""Returns the first n items from the list"""
958
first: Int
959
···
967
before: String
968
969
"""Sort order for the connection"""
970
-
sortBy: [FmTealAlphaFeedPlaySortFieldInput!]
971
972
"""Filter conditions for the query"""
973
-
where: FmTealAlphaFeedPlayWhereInput
974
-
): FmTealAlphaFeedPlayConnection
975
976
-
"""Query app.bsky.actor.profile with cursor pagination and sorting"""
977
-
appBskyActorProfile(
978
"""Returns the first n items from the list"""
979
first: Int
980
···
988
before: String
989
990
"""Sort order for the connection"""
991
-
sortBy: [AppBskyActorProfileSortFieldInput!]
992
993
"""Filter conditions for the query"""
994
-
where: AppBskyActorProfileWhereInput
995
-
): AppBskyActorProfileConnection
996
997
-
"""Aggregated query for fm.teal.alpha.feed.play"""
998
-
fmTealAlphaFeedPlayAggregated(
999
"""Fields to group by (required)"""
1000
-
groupBy: [FmTealAlphaFeedPlayGroupByFieldInput!]
1001
1002
"""Filter records before aggregation"""
1003
-
where: FmTealAlphaFeedPlayWhereInput
1004
1005
"""Order by count (default: desc)"""
1006
orderBy: AggregationOrderBy
1007
1008
"""Maximum number of results (default 50, max 1000)"""
1009
limit: Int
1010
-
): [FmTealAlphaFeedPlayAggregated!]
1011
1012
-
"""Aggregated query for app.bsky.actor.profile"""
1013
-
appBskyActorProfileAggregated(
1014
"""Fields to group by (required)"""
1015
-
groupBy: [AppBskyActorProfileGroupByFieldInput!]
1016
1017
"""Filter records before aggregation"""
1018
-
where: AppBskyActorProfileWhereInput
1019
1020
"""Order by count (default: desc)"""
1021
orderBy: AggregationOrderBy
1022
1023
"""Maximum number of results (default 50, max 1000)"""
1024
limit: Int
1025
-
): [AppBskyActorProfileAggregated!]
1026
}
1027
1028
union Record = AppBskyActorProfile | FmTealAlphaFeedPlay
···
1038
1039
"""GraphQL subscription root"""
1040
type Subscription {
1041
-
"""Emitted when a new fm.teal.alpha.feed.play record is created"""
1042
-
fmTealAlphaFeedPlayCreated: FmTealAlphaFeedPlay!
1043
-
1044
-
"""Emitted when a fm.teal.alpha.feed.play record is updated"""
1045
-
fmTealAlphaFeedPlayUpdated: FmTealAlphaFeedPlay!
1046
-
1047
-
"""Emitted when a fm.teal.alpha.feed.play record is deleted"""
1048
-
fmTealAlphaFeedPlayDeleted: FmTealAlphaFeedPlay!
1049
-
1050
"""Emitted when a new app.bsky.actor.profile record is created"""
1051
appBskyActorProfileCreated: AppBskyActorProfile!
1052
···
1055
1056
"""Emitted when a app.bsky.actor.profile record is deleted"""
1057
appBskyActorProfileDeleted: AppBskyActorProfile!
1058
}
1059
···
416
uri: String
417
}
418
419
+
"""Object type from lexicon definition"""
420
+
type FmTealAlphaFeedDefsArtist {
421
+
"""Field from object definition"""
422
+
artistMbId: String
423
+
424
+
"""Field from object definition"""
425
+
artistName: String!
426
+
}
427
+
428
"""Record type: fm.teal.alpha.feed.play"""
429
type FmTealAlphaFeedPlay {
430
"""Record URI"""
···
446
actorHandle: String
447
448
"""Field from lexicon"""
449
+
artistMbIds: [String!]
450
451
"""Field from lexicon"""
452
+
artistNames: [String!]
453
454
"""Field from lexicon"""
455
+
artists: [FmTealAlphaFeedDefsArtist!]
456
457
"""Field from lexicon"""
458
duration: Int
···
895
mimeType: String!
896
): BlobUploadResponse!
897
898
+
"""Create a new app.bsky.actor.profile record"""
899
+
createAppBskyActorProfile(
900
"""Record data"""
901
+
input: AppBskyActorProfileInput!
902
903
"""Optional record key (defaults to TID)"""
904
rkey: String
905
+
): AppBskyActorProfile
906
907
+
"""Update an existing app.bsky.actor.profile record"""
908
+
updateAppBskyActorProfile(
909
"""Record key to update"""
910
rkey: String!
911
912
"""Updated record data"""
913
+
input: AppBskyActorProfileInput!
914
+
): AppBskyActorProfile
915
916
+
"""Delete a app.bsky.actor.profile record"""
917
+
deleteAppBskyActorProfile(
918
"""Record key to delete"""
919
rkey: String!
920
): DeleteResult
921
922
+
"""Create a new fm.teal.alpha.feed.play record"""
923
+
createFmTealAlphaFeedPlay(
924
"""Record data"""
925
+
input: FmTealAlphaFeedPlayInput!
926
927
"""Optional record key (defaults to TID)"""
928
rkey: String
929
+
): FmTealAlphaFeedPlay
930
931
+
"""Update an existing fm.teal.alpha.feed.play record"""
932
+
updateFmTealAlphaFeedPlay(
933
"""Record key to update"""
934
rkey: String!
935
936
"""Updated record data"""
937
+
input: FmTealAlphaFeedPlayInput!
938
+
): FmTealAlphaFeedPlay
939
940
+
"""Delete a fm.teal.alpha.feed.play record"""
941
+
deleteFmTealAlphaFeedPlay(
942
"""Record key to delete"""
943
rkey: String!
944
): DeleteResult
···
961
962
"""Root query type"""
963
type Query {
964
+
"""Query app.bsky.actor.profile with cursor pagination and sorting"""
965
+
appBskyActorProfile(
966
"""Returns the first n items from the list"""
967
first: Int
968
···
976
before: String
977
978
"""Sort order for the connection"""
979
+
sortBy: [AppBskyActorProfileSortFieldInput!]
980
981
"""Filter conditions for the query"""
982
+
where: AppBskyActorProfileWhereInput
983
+
): AppBskyActorProfileConnection
984
985
+
"""Query fm.teal.alpha.feed.play with cursor pagination and sorting"""
986
+
fmTealAlphaFeedPlay(
987
"""Returns the first n items from the list"""
988
first: Int
989
···
997
before: String
998
999
"""Sort order for the connection"""
1000
+
sortBy: [FmTealAlphaFeedPlaySortFieldInput!]
1001
1002
"""Filter conditions for the query"""
1003
+
where: FmTealAlphaFeedPlayWhereInput
1004
+
): FmTealAlphaFeedPlayConnection
1005
1006
+
"""Aggregated query for app.bsky.actor.profile"""
1007
+
appBskyActorProfileAggregated(
1008
"""Fields to group by (required)"""
1009
+
groupBy: [AppBskyActorProfileGroupByFieldInput!]
1010
1011
"""Filter records before aggregation"""
1012
+
where: AppBskyActorProfileWhereInput
1013
1014
"""Order by count (default: desc)"""
1015
orderBy: AggregationOrderBy
1016
1017
"""Maximum number of results (default 50, max 1000)"""
1018
limit: Int
1019
+
): [AppBskyActorProfileAggregated!]
1020
1021
+
"""Aggregated query for fm.teal.alpha.feed.play"""
1022
+
fmTealAlphaFeedPlayAggregated(
1023
"""Fields to group by (required)"""
1024
+
groupBy: [FmTealAlphaFeedPlayGroupByFieldInput!]
1025
1026
"""Filter records before aggregation"""
1027
+
where: FmTealAlphaFeedPlayWhereInput
1028
1029
"""Order by count (default: desc)"""
1030
orderBy: AggregationOrderBy
1031
1032
"""Maximum number of results (default 50, max 1000)"""
1033
limit: Int
1034
+
): [FmTealAlphaFeedPlayAggregated!]
1035
}
1036
1037
union Record = AppBskyActorProfile | FmTealAlphaFeedPlay
···
1047
1048
"""GraphQL subscription root"""
1049
type Subscription {
1050
"""Emitted when a new app.bsky.actor.profile record is created"""
1051
appBskyActorProfileCreated: AppBskyActorProfile!
1052
···
1055
1056
"""Emitted when a app.bsky.actor.profile record is deleted"""
1057
appBskyActorProfileDeleted: AppBskyActorProfile!
1058
+
1059
+
"""Emitted when a new fm.teal.alpha.feed.play record is created"""
1060
+
fmTealAlphaFeedPlayCreated: FmTealAlphaFeedPlay!
1061
+
1062
+
"""Emitted when a fm.teal.alpha.feed.play record is updated"""
1063
+
fmTealAlphaFeedPlayUpdated: FmTealAlphaFeedPlay!
1064
+
1065
+
"""Emitted when a fm.teal.alpha.feed.play record is deleted"""
1066
+
fmTealAlphaFeedPlayDeleted: FmTealAlphaFeedPlay!
1067
}
1068
+5
-3
src/TrackItem.tsx
+5
-3
src/TrackItem.tsx
···
13
fragment TrackItem_play on FmTealAlphaFeedPlay {
14
trackName
15
playedTime
16
-
artists
17
releaseName
18
releaseMbId
19
actorHandle
···
53
</h3>
54
<p className="text-xs text-zinc-500 truncate">
55
{Array.isArray(data.artists)
56
-
? data.artists.map((a: { artistName: string }) => a.artistName).join(", ")
57
-
: data.artists || "Unknown Artist"}
58
</p>
59
</div>
60
···
13
fragment TrackItem_play on FmTealAlphaFeedPlay {
14
trackName
15
playedTime
16
+
artists {
17
+
artistName
18
+
}
19
releaseName
20
releaseMbId
21
actorHandle
···
55
</h3>
56
<p className="text-xs text-zinc-500 truncate">
57
{Array.isArray(data.artists)
58
+
? data.artists.map((a) => a.artistName).join(", ")
59
+
: "Unknown Artist"}
60
</p>
61
</div>
62
+15
-4
src/__generated__/AppPaginationQuery.graphql.ts
+15
-4
src/__generated__/AppPaginationQuery.graphql.ts
···
1
/**
2
-
* @generated SignedSource<<c45bdaea334f402a012edc7b022378d5>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
138
{
139
"alias": null,
140
"args": null,
141
-
"kind": "ScalarField",
142
"name": "artists",
143
"storageKey": null
144
},
145
{
···
250
]
251
},
252
"params": {
253
-
"cacheID": "64e4647c8da02ce7d37088b8ed78c6a8",
254
"id": null,
255
"metadata": {},
256
"name": "AppPaginationQuery",
257
"operationKind": "query",
258
-
"text": "query AppPaginationQuery(\n $count: Int = 20\n $cursor: String\n) {\n ...App_plays_1G22uz\n}\n\nfragment App_plays_1G22uz on Query {\n fmTealAlphaFeedPlay(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 appBskyActorProfileByDid {\n displayName\n }\n}\n"
259
}
260
};
261
})();
···
1
/**
2
+
* @generated SignedSource<<783e2832122c1d8f7bb41d1fe78f9ef1>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
138
{
139
"alias": null,
140
"args": null,
141
+
"concreteType": "FmTealAlphaFeedDefsArtist",
142
+
"kind": "LinkedField",
143
"name": "artists",
144
+
"plural": true,
145
+
"selections": [
146
+
{
147
+
"alias": null,
148
+
"args": null,
149
+
"kind": "ScalarField",
150
+
"name": "artistName",
151
+
"storageKey": null
152
+
}
153
+
],
154
"storageKey": null
155
},
156
{
···
261
]
262
},
263
"params": {
264
+
"cacheID": "dac482c1a09c5930d955d9805c6dfb8d",
265
"id": null,
266
"metadata": {},
267
"name": "AppPaginationQuery",
268
"operationKind": "query",
269
+
"text": "query AppPaginationQuery(\n $count: Int = 20\n $cursor: String\n) {\n ...App_plays_1G22uz\n}\n\nfragment App_plays_1G22uz on Query {\n fmTealAlphaFeedPlay(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 artistName\n }\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
270
}
271
};
272
})();
+15
-4
src/__generated__/AppQuery.graphql.ts
+15
-4
src/__generated__/AppQuery.graphql.ts
···
1
/**
2
-
* @generated SignedSource<<6fa660d4747cd5269f2ca3ac9e251447>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
152
{
153
"alias": null,
154
"args": null,
155
-
"kind": "ScalarField",
156
"name": "artists",
157
"storageKey": null
158
},
159
{
···
304
]
305
},
306
"params": {
307
-
"cacheID": "3620b802448dd92e20f1ee8b7fd51980",
308
"id": null,
309
"metadata": {},
310
"name": "AppQuery",
311
"operationKind": "query",
312
-
"text": "query AppQuery(\n $chartWhere: FmTealAlphaFeedPlayWhereInput!\n) {\n ...App_plays\n ...ScrobbleChart_data\n}\n\nfragment App_plays on Query {\n fmTealAlphaFeedPlay(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 ScrobbleChart_data on Query {\n chartData: fmTealAlphaFeedPlayAggregated(groupBy: [{field: playedTime, interval: DAY}], where: $chartWhere, limit: 90) {\n playedTime\n count\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
313
}
314
};
315
})();
···
1
/**
2
+
* @generated SignedSource<<fa406caeea45379cd74ae946fcf13cc3>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
152
{
153
"alias": null,
154
"args": null,
155
+
"concreteType": "FmTealAlphaFeedDefsArtist",
156
+
"kind": "LinkedField",
157
"name": "artists",
158
+
"plural": true,
159
+
"selections": [
160
+
{
161
+
"alias": null,
162
+
"args": null,
163
+
"kind": "ScalarField",
164
+
"name": "artistName",
165
+
"storageKey": null
166
+
}
167
+
],
168
"storageKey": null
169
},
170
{
···
315
]
316
},
317
"params": {
318
+
"cacheID": "3793b7efac382baa6447beb922658c23",
319
"id": null,
320
"metadata": {},
321
"name": "AppQuery",
322
"operationKind": "query",
323
+
"text": "query AppQuery(\n $chartWhere: FmTealAlphaFeedPlayWhereInput!\n) {\n ...App_plays\n ...ScrobbleChart_data\n}\n\nfragment App_plays on Query {\n fmTealAlphaFeedPlay(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 ScrobbleChart_data on Query {\n chartData: fmTealAlphaFeedPlayAggregated(groupBy: [{field: playedTime, interval: DAY}], where: $chartWhere, limit: 90) {\n playedTime\n count\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists {\n artistName\n }\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
324
}
325
};
326
})();
+15
-4
src/__generated__/AppSubscription.graphql.ts
+15
-4
src/__generated__/AppSubscription.graphql.ts
···
1
/**
2
-
* @generated SignedSource<<c4198cc44967175302aceaf063070457>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
93
{
94
"alias": null,
95
"args": null,
96
-
"kind": "ScalarField",
97
"name": "artists",
98
"storageKey": null
99
},
100
{
···
149
]
150
},
151
"params": {
152
-
"cacheID": "8dfe214f7630ae86042df4676198d298",
153
"id": null,
154
"metadata": {},
155
"name": "AppSubscription",
156
"operationKind": "subscription",
157
-
"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 appBskyActorProfileByDid {\n displayName\n }\n}\n"
158
}
159
};
160
})();
···
1
/**
2
+
* @generated SignedSource<<896a9c63784bd14529042a1cb0adfd64>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
93
{
94
"alias": null,
95
"args": null,
96
+
"concreteType": "FmTealAlphaFeedDefsArtist",
97
+
"kind": "LinkedField",
98
"name": "artists",
99
+
"plural": true,
100
+
"selections": [
101
+
{
102
+
"alias": null,
103
+
"args": null,
104
+
"kind": "ScalarField",
105
+
"name": "artistName",
106
+
"storageKey": null
107
+
}
108
+
],
109
"storageKey": null
110
},
111
{
···
160
]
161
},
162
"params": {
163
+
"cacheID": "15e882ff59aeffce82a48611e02dbe63",
164
"id": null,
165
"metadata": {},
166
"name": "AppSubscription",
167
"operationKind": "subscription",
168
+
"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 artistName\n }\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
169
}
170
};
171
})();
+15
-4
src/__generated__/ProfilePaginationQuery.graphql.ts
+15
-4
src/__generated__/ProfilePaginationQuery.graphql.ts
···
1
/**
2
-
* @generated SignedSource<<e269ae086e67fb50189bc00d0cfa2fba>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
181
{
182
"alias": null,
183
"args": null,
184
-
"kind": "ScalarField",
185
"name": "artists",
186
"storageKey": null
187
},
188
{
···
325
]
326
},
327
"params": {
328
-
"cacheID": "71567c0f3de4624c411f4821789aaae9",
329
"id": null,
330
"metadata": {},
331
"name": "ProfilePaginationQuery",
332
"operationKind": "query",
333
-
"text": "query ProfilePaginationQuery(\n $count: Int = 20\n $cursor: String\n $where: FmTealAlphaFeedPlayWhereInput!\n) {\n ...Profile_plays_mjR8k\n}\n\nfragment Profile_plays_mjR8k on Query {\n fmTealAlphaFeedPlay(first: $count, after: $cursor, sortBy: [{field: playedTime, direction: DESC}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfileByDid {\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 appBskyActorProfileByDid {\n displayName\n }\n}\n"
334
}
335
};
336
})();
···
1
/**
2
+
* @generated SignedSource<<39639d8abd772effa21efdf069699bf6>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
181
{
182
"alias": null,
183
"args": null,
184
+
"concreteType": "FmTealAlphaFeedDefsArtist",
185
+
"kind": "LinkedField",
186
"name": "artists",
187
+
"plural": true,
188
+
"selections": [
189
+
{
190
+
"alias": null,
191
+
"args": null,
192
+
"kind": "ScalarField",
193
+
"name": "artistName",
194
+
"storageKey": null
195
+
}
196
+
],
197
"storageKey": null
198
},
199
{
···
336
]
337
},
338
"params": {
339
+
"cacheID": "4da0ee226512aceadce3210332ed4766",
340
"id": null,
341
"metadata": {},
342
"name": "ProfilePaginationQuery",
343
"operationKind": "query",
344
+
"text": "query ProfilePaginationQuery(\n $count: Int = 20\n $cursor: String\n $where: FmTealAlphaFeedPlayWhereInput!\n) {\n ...Profile_plays_mjR8k\n}\n\nfragment Profile_plays_mjR8k on Query {\n fmTealAlphaFeedPlay(first: $count, after: $cursor, sortBy: [{field: playedTime, direction: DESC}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfileByDid {\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 artistName\n }\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
345
}
346
};
347
})();
+15
-4
src/__generated__/ProfileQuery.graphql.ts
+15
-4
src/__generated__/ProfileQuery.graphql.ts
···
1
/**
2
-
* @generated SignedSource<<d7bc3a763e9feefe1b760612bdc9ef3a>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
170
{
171
"alias": null,
172
"args": null,
173
-
"kind": "ScalarField",
174
"name": "artists",
175
"storageKey": null
176
},
177
{
···
354
]
355
},
356
"params": {
357
-
"cacheID": "e246f4fa3d278d1cba09fc7be013172d",
358
"id": null,
359
"metadata": {},
360
"name": "ProfileQuery",
361
"operationKind": "query",
362
-
"text": "query ProfileQuery(\n $where: FmTealAlphaFeedPlayWhereInput!\n $chartWhere: FmTealAlphaFeedPlayWhereInput!\n) {\n ...Profile_plays_3FC4Qo\n ...ScrobbleChart_data\n}\n\nfragment Profile_plays_3FC4Qo on Query {\n fmTealAlphaFeedPlay(first: 20, sortBy: [{field: playedTime, direction: DESC}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfileByDid {\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 ScrobbleChart_data on Query {\n chartData: fmTealAlphaFeedPlayAggregated(groupBy: [{field: playedTime, interval: DAY}], where: $chartWhere, limit: 90) {\n playedTime\n count\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
363
}
364
};
365
})();
···
1
/**
2
+
* @generated SignedSource<<586d7e40425eb1e823fb98f47d69cefd>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
170
{
171
"alias": null,
172
"args": null,
173
+
"concreteType": "FmTealAlphaFeedDefsArtist",
174
+
"kind": "LinkedField",
175
"name": "artists",
176
+
"plural": true,
177
+
"selections": [
178
+
{
179
+
"alias": null,
180
+
"args": null,
181
+
"kind": "ScalarField",
182
+
"name": "artistName",
183
+
"storageKey": null
184
+
}
185
+
],
186
"storageKey": null
187
},
188
{
···
365
]
366
},
367
"params": {
368
+
"cacheID": "06807a18670ad67256b497dd0ef8f208",
369
"id": null,
370
"metadata": {},
371
"name": "ProfileQuery",
372
"operationKind": "query",
373
+
"text": "query ProfileQuery(\n $where: FmTealAlphaFeedPlayWhereInput!\n $chartWhere: FmTealAlphaFeedPlayWhereInput!\n) {\n ...Profile_plays_3FC4Qo\n ...ScrobbleChart_data\n}\n\nfragment Profile_plays_3FC4Qo on Query {\n fmTealAlphaFeedPlay(first: 20, sortBy: [{field: playedTime, direction: DESC}], where: $where) {\n totalCount\n edges {\n node {\n ...TrackItem_play\n actorHandle\n appBskyActorProfileByDid {\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 ScrobbleChart_data on Query {\n chartData: fmTealAlphaFeedPlayAggregated(groupBy: [{field: playedTime, interval: DAY}], where: $chartWhere, limit: 90) {\n playedTime\n count\n }\n}\n\nfragment TrackItem_play on FmTealAlphaFeedPlay {\n trackName\n playedTime\n artists {\n artistName\n }\n releaseName\n releaseMbId\n actorHandle\n musicServiceBaseDomain\n appBskyActorProfileByDid {\n displayName\n }\n}\n"
374
}
375
};
376
})();
+17
-4
src/__generated__/TrackItem_play.graphql.ts
+17
-4
src/__generated__/TrackItem_play.graphql.ts
···
1
/**
2
-
* @generated SignedSource<<2ac2423fc2223016d85ad3440952732c>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
15
readonly appBskyActorProfileByDid: {
16
readonly displayName: string | null | undefined;
17
} | null | undefined;
18
-
readonly artists: string | null | undefined;
19
readonly musicServiceBaseDomain: string | null | undefined;
20
readonly playedTime: string | null | undefined;
21
readonly releaseMbId: string | null | undefined;
···
51
{
52
"alias": null,
53
"args": null,
54
-
"kind": "ScalarField",
55
"name": "artists",
56
"storageKey": null
57
},
58
{
···
106
"abstractKey": null
107
};
108
109
-
(node as any).hash = "6c80a7f51708b5def457b01bd5fae190";
110
111
export default node;
···
1
/**
2
+
* @generated SignedSource<<d110bc257911ffb384b30e7e973211c9>>
3
* @lightSyntaxTransform
4
* @nogrep
5
*/
···
15
readonly appBskyActorProfileByDid: {
16
readonly displayName: string | null | undefined;
17
} | null | undefined;
18
+
readonly artists: ReadonlyArray<{
19
+
readonly artistName: string;
20
+
}> | null | undefined;
21
readonly musicServiceBaseDomain: string | null | undefined;
22
readonly playedTime: string | null | undefined;
23
readonly releaseMbId: string | null | undefined;
···
53
{
54
"alias": null,
55
"args": null,
56
+
"concreteType": "FmTealAlphaFeedDefsArtist",
57
+
"kind": "LinkedField",
58
"name": "artists",
59
+
"plural": true,
60
+
"selections": [
61
+
{
62
+
"alias": null,
63
+
"args": null,
64
+
"kind": "ScalarField",
65
+
"name": "artistName",
66
+
"storageKey": null
67
+
}
68
+
],
69
"storageKey": null
70
},
71
{
···
119
"abstractKey": null
120
};
121
122
+
(node as any).hash = "93f45db972efd335604fbc28995328de";
123
124
export default node;