Register fragment
This commit is contained in:
parent
fcdce8706f
commit
5204599a08
@ -7,6 +7,8 @@ import {
|
|||||||
from,
|
from,
|
||||||
} from "@apollo/client";
|
} from "@apollo/client";
|
||||||
import { API_URI } from "@env";
|
import { API_URI } from "@env";
|
||||||
|
import { SHOT_FEATURES_FRAGMENT } from "./fragment/shot";
|
||||||
|
import { createFragmentRegistry } from "@apollo/client/cache";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
@ -16,10 +18,13 @@ const ClientProvider: React.FC<Props> = ({ children }) => {
|
|||||||
const httpLink = new HttpLink({
|
const httpLink = new HttpLink({
|
||||||
uri: API_URI,
|
uri: API_URI,
|
||||||
});
|
});
|
||||||
|
const cache = new InMemoryCache({
|
||||||
|
fragments: createFragmentRegistry(SHOT_FEATURES_FRAGMENT),
|
||||||
|
});
|
||||||
|
|
||||||
const client = new ApolloClient({
|
const client = new ApolloClient({
|
||||||
link: from([httpLink]),
|
link: from([httpLink]),
|
||||||
cache: new InMemoryCache(),
|
cache: cache,
|
||||||
});
|
});
|
||||||
|
|
||||||
return <ApolloProvider client={client}>{children}</ApolloProvider>;
|
return <ApolloProvider client={client}>{children}</ApolloProvider>;
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
import { gql } from "@apollo/client";
|
|
||||||
|
|
||||||
const SHOT_FEATURES_FRAGMENT = gql`
|
|
||||||
fragment ShotFeatures on ShotFeaturesGQL {
|
|
||||||
cueObjectAngle @include(if: $includeCueObjectAngle)
|
|
||||||
cueObjectDistance @include(if: $includeCueObjectDistance)
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
export default SHOT_FEATURES_FRAGMENT;
|
|
13
graphql/fragment/shot.ts
Normal file
13
graphql/fragment/shot.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { gql } from "@apollo/client";
|
||||||
|
|
||||||
|
export const SHOT_FEATURES_FRAGMENT = gql`
|
||||||
|
fragment ShotFeatures on ShotFeaturesGQL {
|
||||||
|
cueObjectDistance @include(if: $includeCueObjectDistance)
|
||||||
|
targetPocketDistance @include(if: $includeTargetPocketDistance)
|
||||||
|
cueObjectAngle @include(if: $includeCueObjectAngle)
|
||||||
|
cueBallSpeed @include(if: $includeCueBallSpeed)
|
||||||
|
intendedPocket @include(if: $includeIntendedPocket)
|
||||||
|
shotDirection @include(if: $includeShotDirection)
|
||||||
|
didMake @include(if: $includeDidMake)
|
||||||
|
}
|
||||||
|
`;
|
@ -1,15 +1,22 @@
|
|||||||
import { gql } from "@apollo/client";
|
import { gql } from "@apollo/client";
|
||||||
import SHOT_FEATURES_FRAGMENT from "./fragment/shot-features";
|
|
||||||
|
|
||||||
export const GET_SHOTS = gql`
|
export const GET_SHOTS = gql`
|
||||||
${SHOT_FEATURES_FRAGMENT}
|
|
||||||
query GetShots(
|
query GetShots(
|
||||||
$includeCueObjectAngle: Boolean! = false
|
|
||||||
$includeCueObjectDistance: Boolean! = false
|
$includeCueObjectDistance: Boolean! = false
|
||||||
|
$includeTargetPocketDistance: Boolean! = false
|
||||||
|
$includeCueObjectAngle: Boolean! = false
|
||||||
|
$includeCueBallSpeed: Boolean! = false
|
||||||
|
$includeIntendedPocket: Boolean! = false
|
||||||
|
$includeShotDirection: Boolean! = false
|
||||||
|
$includeDidMake: Boolean! = false
|
||||||
) {
|
) {
|
||||||
getShots {
|
getShots {
|
||||||
id
|
id
|
||||||
videoId
|
videoId
|
||||||
|
startFrame
|
||||||
|
endFrame
|
||||||
|
createdAt
|
||||||
|
updatedAt
|
||||||
features {
|
features {
|
||||||
...ShotFeatures
|
...ShotFeatures
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user