Compare commits
6 Commits
17a518429a
...
dean/readd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
722b2ca2b0 | ||
| 79f38fa45f | |||
|
|
16684f0057 | ||
|
|
6a599d7d2b | ||
| 2886d2f5b8 | |||
|
|
8441bb12e9 |
265
src/index.tsx
265
src/index.tsx
@@ -274,6 +274,7 @@ export type CommentGql = {
|
|||||||
id: Scalars["Int"]["output"];
|
id: Scalars["Int"]["output"];
|
||||||
message: Scalars["String"]["output"];
|
message: Scalars["String"]["output"];
|
||||||
replies: Array<CommentGql>;
|
replies: Array<CommentGql>;
|
||||||
|
replyToCommentId?: Maybe<Scalars["Int"]["output"]>;
|
||||||
user: UserGql;
|
user: UserGql;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5008,6 +5009,7 @@ export type GetFeedQuery = {
|
|||||||
__typename?: "CommentGQL";
|
__typename?: "CommentGQL";
|
||||||
id: number;
|
id: number;
|
||||||
message: string;
|
message: string;
|
||||||
|
replyToCommentId?: number | null;
|
||||||
user: {
|
user: {
|
||||||
__typename?: "UserGQL";
|
__typename?: "UserGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -5123,6 +5125,7 @@ export type VideoCardFieldsFragment = {
|
|||||||
__typename?: "CommentGQL";
|
__typename?: "CommentGQL";
|
||||||
id: number;
|
id: number;
|
||||||
message: string;
|
message: string;
|
||||||
|
replyToCommentId?: number | null;
|
||||||
user: {
|
user: {
|
||||||
__typename?: "UserGQL";
|
__typename?: "UserGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -5271,6 +5274,7 @@ export type GetVideoFeedQuery = {
|
|||||||
__typename?: "CommentGQL";
|
__typename?: "CommentGQL";
|
||||||
id: number;
|
id: number;
|
||||||
message: string;
|
message: string;
|
||||||
|
replyToCommentId?: number | null;
|
||||||
user: {
|
user: {
|
||||||
__typename?: "UserGQL";
|
__typename?: "UserGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -5410,6 +5414,69 @@ export type GetMyDrillRunsQuery = {
|
|||||||
}>;
|
}>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type GetRecordedStreamsQueryVariables = Exact<{
|
||||||
|
limit?: Scalars["Int"]["input"];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type GetRecordedStreamsQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
getFeedVideos: {
|
||||||
|
__typename?: "VideoHistoryGQL";
|
||||||
|
videos: Array<{
|
||||||
|
__typename?: "VideoGQL";
|
||||||
|
id: number;
|
||||||
|
name?: string | null;
|
||||||
|
createdAt?: any | null;
|
||||||
|
screenshotUri?: string | null;
|
||||||
|
framesPerSecond?: number | null;
|
||||||
|
totalShots: number;
|
||||||
|
owner?: {
|
||||||
|
__typename?: "UserGQL";
|
||||||
|
id: number;
|
||||||
|
username: string;
|
||||||
|
profileImageUri?: string | null;
|
||||||
|
} | null;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetLiveStreamsQueryVariables = Exact<{
|
||||||
|
limit?: Scalars["Int"]["input"];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type GetLiveStreamsQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
getFeedVideos: {
|
||||||
|
__typename?: "VideoHistoryGQL";
|
||||||
|
videos: Array<{
|
||||||
|
__typename?: "VideoGQL";
|
||||||
|
id: number;
|
||||||
|
name?: string | null;
|
||||||
|
startTime?: any | null;
|
||||||
|
createdAt?: any | null;
|
||||||
|
screenshotUri?: string | null;
|
||||||
|
elapsedTime?: number | null;
|
||||||
|
owner?: {
|
||||||
|
__typename?: "UserGQL";
|
||||||
|
id: number;
|
||||||
|
username: string;
|
||||||
|
profileImageUri?: string | null;
|
||||||
|
} | null;
|
||||||
|
stream?: {
|
||||||
|
__typename?: "UploadStreamGQL";
|
||||||
|
id: string;
|
||||||
|
isCompleted: boolean;
|
||||||
|
lastSegmentUploadedAt?: any | null;
|
||||||
|
} | null;
|
||||||
|
}>;
|
||||||
|
pageInfo: {
|
||||||
|
__typename?: "PageInfoGQL";
|
||||||
|
hasNextPage: boolean;
|
||||||
|
endCursor?: string | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{
|
export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{
|
||||||
videoId: Scalars["ID"]["input"];
|
videoId: Scalars["ID"]["input"];
|
||||||
intervalDuration: Scalars["Int"]["input"];
|
intervalDuration: Scalars["Int"]["input"];
|
||||||
@@ -8514,6 +8581,7 @@ export type GetVideoSocialDetailsByIdQuery = {
|
|||||||
__typename?: "CommentGQL";
|
__typename?: "CommentGQL";
|
||||||
id: number;
|
id: number;
|
||||||
message: string;
|
message: string;
|
||||||
|
replyToCommentId?: number | null;
|
||||||
user: {
|
user: {
|
||||||
__typename?: "UserGQL";
|
__typename?: "UserGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -8621,6 +8689,7 @@ export type GetVideoCardQuery = {
|
|||||||
__typename?: "CommentGQL";
|
__typename?: "CommentGQL";
|
||||||
id: number;
|
id: number;
|
||||||
message: string;
|
message: string;
|
||||||
|
replyToCommentId?: number | null;
|
||||||
user: {
|
user: {
|
||||||
__typename?: "UserGQL";
|
__typename?: "UserGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -9198,6 +9267,7 @@ export type GetUploadLinkMutation = {
|
|||||||
};
|
};
|
||||||
stream?: {
|
stream?: {
|
||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
|
id: string;
|
||||||
uploadCompletionCursor: number;
|
uploadCompletionCursor: number;
|
||||||
} | null;
|
} | null;
|
||||||
};
|
};
|
||||||
@@ -9296,6 +9366,7 @@ export type UploadStreamWithDetailsFragment = {
|
|||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
stream?: {
|
stream?: {
|
||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
|
id: string;
|
||||||
isCompleted: boolean;
|
isCompleted: boolean;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
uploadCompletionCursor: number;
|
uploadCompletionCursor: number;
|
||||||
@@ -9320,6 +9391,7 @@ export type GetUploadStreamsWithDetailsQuery = {
|
|||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
stream?: {
|
stream?: {
|
||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
|
id: string;
|
||||||
isCompleted: boolean;
|
isCompleted: boolean;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
uploadCompletionCursor: number;
|
uploadCompletionCursor: number;
|
||||||
@@ -9421,6 +9493,7 @@ export const VideoCardFieldsFragmentDoc = gql`
|
|||||||
replies {
|
replies {
|
||||||
id
|
id
|
||||||
message
|
message
|
||||||
|
replyToCommentId
|
||||||
user {
|
user {
|
||||||
...UserSocialsFields
|
...UserSocialsFields
|
||||||
}
|
}
|
||||||
@@ -9896,6 +9969,7 @@ export const UploadStreamWithDetailsFragmentDoc = gql`
|
|||||||
name
|
name
|
||||||
startTime
|
startTime
|
||||||
stream {
|
stream {
|
||||||
|
id
|
||||||
isCompleted
|
isCompleted
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
@@ -12374,6 +12448,195 @@ export type GetMyDrillRunsQueryResult = Apollo.QueryResult<
|
|||||||
GetMyDrillRunsQuery,
|
GetMyDrillRunsQuery,
|
||||||
GetMyDrillRunsQueryVariables
|
GetMyDrillRunsQueryVariables
|
||||||
>;
|
>;
|
||||||
|
export const GetRecordedStreamsDocument = gql`
|
||||||
|
query GetRecordedStreams($limit: Int! = 25) {
|
||||||
|
getFeedVideos(
|
||||||
|
limit: $limit
|
||||||
|
filters: { isStreamCompleted: true, excludeVideosWithNoShots: true }
|
||||||
|
includePrivate: MINE
|
||||||
|
feedInput: { allUsers: true }
|
||||||
|
) {
|
||||||
|
videos {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
createdAt
|
||||||
|
screenshotUri
|
||||||
|
framesPerSecond
|
||||||
|
totalShots
|
||||||
|
owner {
|
||||||
|
id
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useGetRecordedStreamsQuery__
|
||||||
|
*
|
||||||
|
* To run a query within a React component, call `useGetRecordedStreamsQuery` and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useGetRecordedStreamsQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
||||||
|
* you can use to render your UI.
|
||||||
|
*
|
||||||
|
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* const { data, loading, error } = useGetRecordedStreamsQuery({
|
||||||
|
* variables: {
|
||||||
|
* limit: // value for 'limit'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useGetRecordedStreamsQuery(
|
||||||
|
baseOptions?: Apollo.QueryHookOptions<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useQuery<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>(GetRecordedStreamsDocument, options);
|
||||||
|
}
|
||||||
|
export function useGetRecordedStreamsLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>(GetRecordedStreamsDocument, options);
|
||||||
|
}
|
||||||
|
export function useGetRecordedStreamsSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>(GetRecordedStreamsDocument, options);
|
||||||
|
}
|
||||||
|
export type GetRecordedStreamsQueryHookResult = ReturnType<
|
||||||
|
typeof useGetRecordedStreamsQuery
|
||||||
|
>;
|
||||||
|
export type GetRecordedStreamsLazyQueryHookResult = ReturnType<
|
||||||
|
typeof useGetRecordedStreamsLazyQuery
|
||||||
|
>;
|
||||||
|
export type GetRecordedStreamsSuspenseQueryHookResult = ReturnType<
|
||||||
|
typeof useGetRecordedStreamsSuspenseQuery
|
||||||
|
>;
|
||||||
|
export type GetRecordedStreamsQueryResult = Apollo.QueryResult<
|
||||||
|
GetRecordedStreamsQuery,
|
||||||
|
GetRecordedStreamsQueryVariables
|
||||||
|
>;
|
||||||
|
export const GetLiveStreamsDocument = gql`
|
||||||
|
query GetLiveStreams($limit: Int! = 25) {
|
||||||
|
getFeedVideos(
|
||||||
|
limit: $limit
|
||||||
|
filters: { isStreamCompleted: false, requireCursorCompletion: false }
|
||||||
|
includePrivate: MINE
|
||||||
|
feedInput: { allUsers: true }
|
||||||
|
) {
|
||||||
|
videos {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
startTime
|
||||||
|
createdAt
|
||||||
|
screenshotUri
|
||||||
|
elapsedTime
|
||||||
|
owner {
|
||||||
|
id
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
}
|
||||||
|
stream {
|
||||||
|
id
|
||||||
|
isCompleted
|
||||||
|
lastSegmentUploadedAt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useGetLiveStreamsQuery__
|
||||||
|
*
|
||||||
|
* To run a query within a React component, call `useGetLiveStreamsQuery` and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useGetLiveStreamsQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
||||||
|
* you can use to render your UI.
|
||||||
|
*
|
||||||
|
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* const { data, loading, error } = useGetLiveStreamsQuery({
|
||||||
|
* variables: {
|
||||||
|
* limit: // value for 'limit'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useGetLiveStreamsQuery(
|
||||||
|
baseOptions?: Apollo.QueryHookOptions<
|
||||||
|
GetLiveStreamsQuery,
|
||||||
|
GetLiveStreamsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useQuery<GetLiveStreamsQuery, GetLiveStreamsQueryVariables>(
|
||||||
|
GetLiveStreamsDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useGetLiveStreamsLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
GetLiveStreamsQuery,
|
||||||
|
GetLiveStreamsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<GetLiveStreamsQuery, GetLiveStreamsQueryVariables>(
|
||||||
|
GetLiveStreamsDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useGetLiveStreamsSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
GetLiveStreamsQuery,
|
||||||
|
GetLiveStreamsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<
|
||||||
|
GetLiveStreamsQuery,
|
||||||
|
GetLiveStreamsQueryVariables
|
||||||
|
>(GetLiveStreamsDocument, options);
|
||||||
|
}
|
||||||
|
export type GetLiveStreamsQueryHookResult = ReturnType<
|
||||||
|
typeof useGetLiveStreamsQuery
|
||||||
|
>;
|
||||||
|
export type GetLiveStreamsLazyQueryHookResult = ReturnType<
|
||||||
|
typeof useGetLiveStreamsLazyQuery
|
||||||
|
>;
|
||||||
|
export type GetLiveStreamsSuspenseQueryHookResult = ReturnType<
|
||||||
|
typeof useGetLiveStreamsSuspenseQuery
|
||||||
|
>;
|
||||||
|
export type GetLiveStreamsQueryResult = Apollo.QueryResult<
|
||||||
|
GetLiveStreamsQuery,
|
||||||
|
GetLiveStreamsQueryVariables
|
||||||
|
>;
|
||||||
export const GetVideoMakePercentageIntervalsDocument = gql`
|
export const GetVideoMakePercentageIntervalsDocument = gql`
|
||||||
query GetVideoMakePercentageIntervals(
|
query GetVideoMakePercentageIntervals(
|
||||||
$videoId: ID!
|
$videoId: ID!
|
||||||
@@ -18365,6 +18628,7 @@ export const GetVideoSocialDetailsByIdDocument = gql`
|
|||||||
replies {
|
replies {
|
||||||
id
|
id
|
||||||
message
|
message
|
||||||
|
replyToCommentId
|
||||||
user {
|
user {
|
||||||
...UserSocialsFields
|
...UserSocialsFields
|
||||||
}
|
}
|
||||||
@@ -19672,6 +19936,7 @@ export const GetUploadLinkDocument = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
stream {
|
stream {
|
||||||
|
id
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ fragment VideoCardFields on VideoGQL {
|
|||||||
replies {
|
replies {
|
||||||
id
|
id
|
||||||
message
|
message
|
||||||
|
replyToCommentId
|
||||||
user {
|
user {
|
||||||
...UserSocialsFields
|
...UserSocialsFields
|
||||||
}
|
}
|
||||||
|
|||||||
25
src/operations/legacy_shotsim.gql
Normal file
25
src/operations/legacy_shotsim.gql
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# Legacy shot-sim operations still used by mobile master's
|
||||||
|
# LiveStreamPicker / RecordedShotPicker; remove when those are deleted.
|
||||||
|
|
||||||
|
query GetRecordedStreams($limit: Int! = 25) {
|
||||||
|
getFeedVideos(
|
||||||
|
limit: $limit
|
||||||
|
filters: { isStreamCompleted: true, excludeVideosWithNoShots: true }
|
||||||
|
includePrivate: MINE
|
||||||
|
feedInput: { allUsers: true }
|
||||||
|
) {
|
||||||
|
videos {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
createdAt
|
||||||
|
screenshotUri
|
||||||
|
framesPerSecond
|
||||||
|
totalShots
|
||||||
|
owner {
|
||||||
|
id
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
34
src/operations/live_streams.gql
Normal file
34
src/operations/live_streams.gql
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Lightweight listing of live (in-progress) streams for pickers like the
|
||||||
|
# Shot Lab "follow a live stream" flow. Selects only what a picker card
|
||||||
|
# needs; intentionally avoids the heavy VideoCardFields fragment.
|
||||||
|
query GetLiveStreams($limit: Int! = 25) {
|
||||||
|
getFeedVideos(
|
||||||
|
limit: $limit
|
||||||
|
filters: { isStreamCompleted: false, requireCursorCompletion: false }
|
||||||
|
includePrivate: MINE
|
||||||
|
feedInput: { allUsers: true }
|
||||||
|
) {
|
||||||
|
videos {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
startTime
|
||||||
|
createdAt
|
||||||
|
screenshotUri
|
||||||
|
elapsedTime
|
||||||
|
owner {
|
||||||
|
id
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
}
|
||||||
|
stream {
|
||||||
|
id
|
||||||
|
isCompleted
|
||||||
|
lastSegmentUploadedAt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -131,6 +131,7 @@ query GetVideoSocialDetailsById($videoId: Int!) {
|
|||||||
replies {
|
replies {
|
||||||
id
|
id
|
||||||
message
|
message
|
||||||
|
replyToCommentId
|
||||||
user {
|
user {
|
||||||
...UserSocialsFields
|
...UserSocialsFields
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
stream {
|
stream {
|
||||||
|
id
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -127,6 +128,7 @@ fragment UploadStreamWithDetails on VideoGQL {
|
|||||||
name
|
name
|
||||||
startTime
|
startTime
|
||||||
stream {
|
stream {
|
||||||
|
id
|
||||||
isCompleted
|
isCompleted
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
|
|||||||
@@ -221,6 +221,7 @@ type CommentGQL {
|
|||||||
user: UserGQL!
|
user: UserGQL!
|
||||||
message: String!
|
message: String!
|
||||||
replies: [CommentGQL!]!
|
replies: [CommentGQL!]!
|
||||||
|
replyToCommentId: Int
|
||||||
}
|
}
|
||||||
|
|
||||||
type CountLeaderboardGQL {
|
type CountLeaderboardGQL {
|
||||||
|
|||||||
Reference in New Issue
Block a user