Skip to content

Commit 5532f40

Browse files
committed
refactor: name of relay queries
1 parent 866b47c commit 5532f40

File tree

6 files changed

+103
-75
lines changed

6 files changed

+103
-75
lines changed

app/issues/Issues.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ import { SerializablePreloadedQuery } from 'src/relay/loadSerializableQuery'
1212
import useSerializablePreloadedQuery from 'src/relay/useSerializablePreloadedQuery'
1313
import Layout from 'src/components/Layout'
1414
import UserDetails from 'src/components/UserDetails/UserDetails'
15-
import issuesQueryNode, { issuesQuery } from '__generated__/issuesQuery.graphql'
15+
import IssuesQueryNode, { IssuesQuery } from '__generated__/IssuesQuery.graphql'
1616
import Card from 'src/components/Card'
1717
import IssuesFromLastRepo from 'src/components/issue/IssuesFromLastRepo'
1818
import IssuesFromRecentRepos from 'src/components/issue/IssuesFromRecentRepo'
1919
import RelevantIssues from 'src/components/issue/RelevantIssues'
2020
import { Suspense } from 'react'
2121

2222
const IssuesQuery = graphql`
23-
query issuesQuery {
23+
query IssuesQuery {
2424
viewer {
2525
handle
2626
...UserDetails_user
@@ -32,8 +32,8 @@ const IssuesQuery = graphql`
3232
`
3333
type IssuesProps = {
3434
preloadedQuery: SerializablePreloadedQuery<
35-
typeof issuesQueryNode,
36-
issuesQuery
35+
typeof IssuesQueryNode,
36+
IssuesQuery
3737
>
3838
cookies: string
3939
}
@@ -53,7 +53,7 @@ export default function IssuesContainer({
5353
)
5454
}
5555

56-
export function Issues(props: { queryRef: PreloadedQuery<issuesQuery> }) {
56+
export function Issues(props: { queryRef: PreloadedQuery<IssuesQuery> }) {
5757
const data = usePreloadedQuery(IssuesQuery, props.queryRef)
5858
if (!data.viewer) {
5959
return <></>

app/issues/page.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { headers } from 'next/headers'
22
import loadSerializableQuery from 'src/relay/loadSerializableQuery'
3-
import issuesQueryNode, { issuesQuery } from '__generated__/issuesQuery.graphql'
3+
import IssuesQueryNode, { IssuesQuery } from '__generated__/IssuesQuery.graphql'
44
import Issues from './Issues'
55

66
export default async function IssuesPage({
@@ -10,10 +10,10 @@ export default async function IssuesPage({
1010
}) {
1111
const requestCookie = headers().get('cookie')
1212
const preloadedQuery = await loadSerializableQuery<
13-
typeof issuesQueryNode,
14-
issuesQuery
13+
typeof IssuesQueryNode,
14+
IssuesQuery
1515
>(
16-
issuesQueryNode.params,
16+
IssuesQueryNode.params,
1717
{ id: (decodeURIComponent(params.id) as string) ?? '' },
1818
requestCookie ?? ''
1919
)

app/story/[id]/Story.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,15 @@ import useSerializablePreloadedQuery from 'src/relay/useSerializablePreloadedQue
1414
import Comments from 'src/components/comment/Comments'
1515
import Layout from 'src/components/Layout'
1616
import UserDetails from 'src/components/UserDetails/UserDetails'
17-
import Id_StoryQueryNode, {
18-
Id_StoryQuery,
19-
} from '__generated__/Id_StoryQuery.graphql'
17+
import StoryQueryNode, { StoryQuery } from '__generated__/StoryQuery.graphql'
2018
import { Suspense } from 'react'
2119

2220
const Editor = dynamic(() => import('src/components/story/StoryEditor'), {
2321
ssr: false,
2422
})
2523

2624
const StoryQuery = graphql`
27-
query Id_StoryQuery($id: ID!) {
25+
query StoryQuery($id: ID!) {
2826
node(id: $id) {
2927
... on Story {
3028
id
@@ -38,10 +36,7 @@ const StoryQuery = graphql`
3836
}
3937
`
4038
type StoryProps = {
41-
preloadedQuery: SerializablePreloadedQuery<
42-
typeof Id_StoryQueryNode,
43-
Id_StoryQuery
44-
>
39+
preloadedQuery: SerializablePreloadedQuery<typeof StoryQueryNode, StoryQuery>
4540
cookies: string
4641
}
4742

@@ -60,7 +55,7 @@ export default function StoryContainer({
6055
)
6156
}
6257

63-
const Story = (props: { queryRef: PreloadedQuery<Id_StoryQuery> }) => {
58+
const Story = (props: { queryRef: PreloadedQuery<StoryQuery> }) => {
6459
const data = usePreloadedQuery(StoryQuery, props.queryRef)
6560
return (
6661
<div>

app/story/[id]/page.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { headers } from 'next/headers'
22
import loadSerializableQuery from 'src/relay/loadSerializableQuery'
3-
import Id_StoryQueryNode, {
4-
Id_StoryQuery,
5-
} from '__generated__/Id_StoryQuery.graphql'
3+
import StoryQueryNode, { StoryQuery } from '__generated__/StoryQuery.graphql'
64
import Story from './Story'
75

86
export default async function StoryPage({
@@ -12,10 +10,10 @@ export default async function StoryPage({
1210
}) {
1311
const requestCookie = headers().get('cookie')
1412
const preloadedQuery = await loadSerializableQuery<
15-
typeof Id_StoryQueryNode,
16-
Id_StoryQuery
13+
typeof StoryQueryNode,
14+
StoryQuery
1715
>(
18-
Id_StoryQueryNode.params,
16+
StoryQueryNode.params,
1917
{ id: (decodeURIComponent(params.id) as string) ?? '' },
2018
requestCookie ?? ''
2119
)

app/user/[handle]/UserPage.tsx

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
'use client'
2+
3+
import {
4+
Environment,
5+
graphql,
6+
PreloadedQuery,
7+
RelayEnvironmentProvider,
8+
usePreloadedQuery,
9+
} from 'react-relay'
10+
import { getCurrentEnvironment } from 'src/relay/environment'
11+
import { SerializablePreloadedQuery } from 'src/relay/loadSerializableQuery'
12+
import useSerializablePreloadedQuery from 'src/relay/useSerializablePreloadedQuery'
13+
import Layout from 'src/components/Layout'
14+
import UserDetails from 'src/components/UserDetails/UserDetails'
15+
import Card from 'src/components/Card'
16+
import MyStories from 'src/components/feed/MyStories'
17+
import UserPageQueryNode, {
18+
UserPageQuery,
19+
} from '__generated__/UserPageQuery.graphql'
20+
import { Suspense } from 'react'
21+
22+
const UserQuery = graphql`
23+
query UserPageQuery($handle: String!) {
24+
user(handle: $handle) {
25+
handle
26+
...UserDetails_user
27+
...MyStories__Query
28+
}
29+
}
30+
`
31+
type StoryProps = {
32+
preloadedQuery: SerializablePreloadedQuery<
33+
typeof UserPageQueryNode,
34+
UserPageQuery
35+
>
36+
cookies: string
37+
}
38+
39+
export default function UserContainer({ preloadedQuery, cookies }: StoryProps) {
40+
const environment = getCurrentEnvironment(cookies)
41+
const queryRef = useSerializablePreloadedQuery(environment, preloadedQuery)
42+
return (
43+
<RelayEnvironmentProvider environment={environment as Environment}>
44+
<Suspense fallback="Loading...">
45+
<User queryRef={queryRef} />
46+
</Suspense>
47+
</RelayEnvironmentProvider>
48+
)
49+
}
50+
51+
function User(props: { queryRef: PreloadedQuery<UserPageQuery> }) {
52+
const data = usePreloadedQuery(UserQuery, props.queryRef)
53+
if (!data.user) {
54+
return <></>
55+
}
56+
return (
57+
<div>
58+
<Layout
59+
sidebarContentRight={<></>}
60+
sidebarContentLeft={
61+
<Card>
62+
<UserDetails user={data.user} />
63+
</Card>
64+
}
65+
>
66+
<MyStories user={data.user} />
67+
</Layout>
68+
</div>
69+
)
70+
}

app/user/[handle]/page.tsx

Lines changed: 16 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,27 @@
1-
'use client'
2-
31
import { headers } from 'next/headers'
4-
import { useRouter } from 'next/router'
5-
import {
6-
Environment,
7-
graphql,
8-
RelayEnvironmentProvider,
9-
usePreloadedQuery,
10-
} from 'react-relay'
11-
import { getCurrentEnvironment } from 'src/relay/environment'
122
import loadSerializableQuery from 'src/relay/loadSerializableQuery'
13-
import useSerializablePreloadedQuery from 'src/relay/useSerializablePreloadedQuery'
14-
import Layout from 'src/components/Layout'
15-
import UserDetails from 'src/components/UserDetails/UserDetails'
16-
import Handle_UserQueryNode, {
17-
Handle_UserQuery,
18-
} from '__generated__/Handle_UserQuery.graphql'
19-
import Card from 'src/components/Card'
20-
import MyStories from 'src/components/feed/MyStories'
3+
import UserPageQueryNode, {
4+
UserPageQuery,
5+
} from '__generated__/UserPageQuery.graphql'
6+
import User from './UserPage'
217

22-
const UserQuery = graphql`
23-
query Handle_UserQuery($handle: String!) {
24-
user(handle: $handle) {
25-
handle
26-
...UserDetails_user
27-
...MyStories__Query
28-
}
29-
}
30-
`
31-
export default async function User() {
8+
export default async function StoryPage({
9+
params,
10+
}: {
11+
params: { handle: string }
12+
}) {
3213
const requestCookie = headers().get('cookie')
33-
const environment = getCurrentEnvironment(requestCookie ?? '')
34-
const router = useRouter()
35-
const { handle } = router.query
3614
const preloadedQuery = await loadSerializableQuery<
37-
typeof Handle_UserQueryNode,
38-
Handle_UserQuery
15+
typeof UserPageQueryNode,
16+
UserPageQuery
3917
>(
40-
Handle_UserQueryNode.params,
41-
{ handle: (handle as string) ?? '' },
18+
UserPageQueryNode.params,
19+
{ handle: (decodeURIComponent(params.handle) as string) ?? '' },
4220
requestCookie ?? ''
4321
)
44-
const queryRef = useSerializablePreloadedQuery(environment, preloadedQuery)
45-
const data = usePreloadedQuery(UserQuery, queryRef)
4622
return (
47-
<RelayEnvironmentProvider environment={environment as Environment}>
48-
<div>
49-
<Layout
50-
sidebarContentRight={handle}
51-
sidebarContentLeft={
52-
<Card>
53-
<UserDetails user={data.user} />
54-
</Card>
55-
}
56-
>
57-
<MyStories user={data.user} />
58-
</Layout>
59-
</div>
60-
</RelayEnvironmentProvider>
23+
<div>
24+
<User preloadedQuery={preloadedQuery} cookies={requestCookie ?? ''} />
25+
</div>
6126
)
6227
}

0 commit comments

Comments
 (0)