Skip to content

Commit d808ef6

Browse files
committed
move issues and user pages to app dir
1 parent 5c940f7 commit d808ef6

File tree

4 files changed

+121
-117
lines changed

4 files changed

+121
-117
lines changed

app/issues/page.tsx

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
'use client'
2+
3+
import { headers } from 'next/headers'
4+
import {
5+
Environment,
6+
graphql,
7+
RelayEnvironmentProvider,
8+
usePreloadedQuery,
9+
} from 'react-relay'
10+
import { getCurrentEnvironment } from 'src/relay/environment'
11+
import loadSerializableQuery 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 issuesQueryNode, { issuesQuery } from '__generated__/issuesQuery.graphql'
16+
import Card from 'src/components/Card'
17+
import IssuesFromLastRepo from 'src/components/issue/IssuesFromLastRepo'
18+
import IssuesFromRecentRepos from 'src/components/issue/IssuesFromRecentRepo'
19+
import RelevantIssues from 'src/components/issue/RelevantIssues'
20+
21+
const IssuesQuery = graphql`
22+
query issuesQuery {
23+
viewer {
24+
handle
25+
...UserDetails_user
26+
...RelevantIssues
27+
...IssuesFromLastRepo
28+
...IssuesFromRecentRepos
29+
}
30+
}
31+
`
32+
export default async function Story() {
33+
const requestCookie = headers().get('cookie')
34+
const environment = getCurrentEnvironment(requestCookie ?? '')
35+
const preloadedQuery = await loadSerializableQuery<
36+
typeof issuesQueryNode,
37+
issuesQuery
38+
>(issuesQueryNode.params, {}, requestCookie ?? '')
39+
const queryRef = useSerializablePreloadedQuery(environment, preloadedQuery)
40+
const data = usePreloadedQuery(IssuesQuery, queryRef)
41+
return (
42+
<RelayEnvironmentProvider environment={environment as Environment}>
43+
<div>
44+
<Layout
45+
sidebarContentRight={<></>}
46+
sidebarContentLeft={
47+
<Card>
48+
<UserDetails user={data.viewer} />
49+
</Card>
50+
}
51+
>
52+
<IssuesFromLastRepo user={data.viewer} />
53+
<IssuesFromRecentRepos user={data.viewer} />
54+
<RelevantIssues user={data.viewer} />
55+
</Layout>
56+
</div>
57+
</RelayEnvironmentProvider>
58+
)
59+
}

app/user/[handle]/page.tsx

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
'use client'
2+
3+
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'
12+
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'
21+
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() {
32+
const requestCookie = headers().get('cookie')
33+
const environment = getCurrentEnvironment(requestCookie ?? '')
34+
const router = useRouter()
35+
const { handle } = router.query
36+
const preloadedQuery = await loadSerializableQuery<
37+
typeof Handle_UserQueryNode,
38+
Handle_UserQuery
39+
>(
40+
Handle_UserQueryNode.params,
41+
{ handle: (handle as string) ?? '' },
42+
requestCookie ?? ''
43+
)
44+
const queryRef = useSerializablePreloadedQuery(environment, preloadedQuery)
45+
const data = usePreloadedQuery(UserQuery, queryRef)
46+
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>
61+
)
62+
}

src/pages/issues/index.tsx

Lines changed: 0 additions & 61 deletions
This file was deleted.

src/pages/users/[handle].tsx

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)