dean/add-challenge-feature #212

Open
dean wants to merge 6 commits from dean/add-challenge-feature into master
4 changed files with 636 additions and 434 deletions
Showing only changes of commit cc9bc98b32 - Show all commits

View File

@@ -15,7 +15,7 @@
"@apollo/client": "^3.11.10", "@apollo/client": "^3.11.10",
"@graphql-codegen/cli": "^5.0.0", "@graphql-codegen/cli": "^5.0.0",
"@graphql-codegen/typescript": "^4.0.1", "@graphql-codegen/typescript": "^4.0.1",
"@graphql-codegen/typescript-operations": "^4.0.1", "@graphql-codegen/typescript-operations": "^5.0.4",
"@graphql-codegen/typescript-react-apollo": "^4.2.0", "@graphql-codegen/typescript-react-apollo": "^4.2.0",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"pbjs": "^0.0.14", "pbjs": "^0.0.14",

View File

@@ -2562,7 +2562,6 @@ export type NotificationFilters = {
export type NotificationGql = { export type NotificationGql = {
__typename?: "NotificationGQL"; __typename?: "NotificationGQL";
actor: UserGql; actor: UserGql;
challengeId?: Maybe<Scalars["Int"]["output"]>;
comment?: Maybe<CommentGql>; comment?: Maybe<CommentGql>;
createdAt: Scalars["DateTime"]["output"]; createdAt: Scalars["DateTime"]["output"];
id: Scalars["Int"]["output"]; id: Scalars["Int"]["output"];
@@ -2574,7 +2573,6 @@ export type NotificationGql = {
}; };
export enum NotificationTypeEnum { export enum NotificationTypeEnum {
ChallengeInvite = "CHALLENGE_INVITE",
Comment = "COMMENT", Comment = "COMMENT",
CommentReply = "COMMENT_REPLY", CommentReply = "COMMENT_REPLY",
Follow = "FOLLOW", Follow = "FOLLOW",
@@ -3658,6 +3656,49 @@ export type GetMyChallengeInvitationsQuery = {
}>; }>;
}; };
export type GetMyChallengeEntriesQueryVariables = Exact<{
[key: string]: never;
}>;
export type GetMyChallengeEntriesQuery = {
__typename?: "Query";
myChallengeEntries: Array<{
__typename?: "ChallengeEntry";
id: string;
status: string;
shotsCount?: number | null;
makesCount?: number | null;
makeRate?: number | null;
qualified?: boolean | null;
createdAt: any;
challenge: {
__typename?: "Challenge";
id: string;
name: string;
description?: string | null;
startDate: any;
endDate: any;
minimumShots: number;
requiredTableSize?: number | null;
requiredPocketSize?: number | null;
isPublic: boolean;
maxAttempts?: number | null;
ruleSet: { __typename?: "RuleSet"; id: string; name: string };
createdBy: {
__typename?: "UserGQL";
id: number;
username: string;
profileImageUri?: string | null;
};
};
video?: {
__typename?: "VideoGQL";
id: number;
createdAt?: any | null;
} | null;
}>;
};
export type CreateRuleSetMutationVariables = Exact<{ export type CreateRuleSetMutationVariables = Exact<{
name: Scalars["String"]["input"]; name: Scalars["String"]["input"];
description?: InputMaybe<Scalars["String"]["input"]>; description?: InputMaybe<Scalars["String"]["input"]>;
@@ -7150,6 +7191,109 @@ export type GetMyChallengeInvitationsQueryResult = Apollo.QueryResult<
GetMyChallengeInvitationsQuery, GetMyChallengeInvitationsQuery,
GetMyChallengeInvitationsQueryVariables GetMyChallengeInvitationsQueryVariables
>; >;
export const GetMyChallengeEntriesDocument = gql`
query GetMyChallengeEntries {
myChallengeEntries {
id
status
shotsCount
makesCount
makeRate
qualified
createdAt
challenge {
id
name
description
startDate
endDate
minimumShots
requiredTableSize
requiredPocketSize
isPublic
maxAttempts
ruleSet {
id
name
}
createdBy {
id
username
profileImageUri
}
}
video {
id
createdAt
}
}
}
`;
/**
* __useGetMyChallengeEntriesQuery__
*
* To run a query within a React component, call `useGetMyChallengeEntriesQuery` and pass it any options that fit your needs.
* When your component renders, `useGetMyChallengeEntriesQuery` 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 } = useGetMyChallengeEntriesQuery({
* variables: {
* },
* });
*/
export function useGetMyChallengeEntriesQuery(
baseOptions?: Apollo.QueryHookOptions<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>(GetMyChallengeEntriesDocument, options);
}
export function useGetMyChallengeEntriesLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>(GetMyChallengeEntriesDocument, options);
}
export function useGetMyChallengeEntriesSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>(GetMyChallengeEntriesDocument, options);
}
export type GetMyChallengeEntriesQueryHookResult = ReturnType<
typeof useGetMyChallengeEntriesQuery
>;
export type GetMyChallengeEntriesLazyQueryHookResult = ReturnType<
typeof useGetMyChallengeEntriesLazyQuery
>;
export type GetMyChallengeEntriesSuspenseQueryHookResult = ReturnType<
typeof useGetMyChallengeEntriesSuspenseQuery
>;
export type GetMyChallengeEntriesQueryResult = Apollo.QueryResult<
GetMyChallengeEntriesQuery,
GetMyChallengeEntriesQueryVariables
>;
export const CreateRuleSetDocument = gql` export const CreateRuleSetDocument = gql`
mutation CreateRuleSet($name: String!, $description: String) { mutation CreateRuleSet($name: String!, $description: String) {
createRuleSet(name: $name, description: $description) { createRuleSet(name: $name, description: $description) {

View File

@@ -42,6 +42,11 @@ fragment Notification on NotificationGQL {
profileImageUri profileImageUri
} }
videoId videoId
challengeId
challenge {
id
name
}
comment { comment {
id id
message message

915
yarn.lock

File diff suppressed because it is too large Load Diff