Skip to content

Commit e304ca3

Browse files
author
Roshan Jossy
committed
use userdetails in user profile page
1 parent cda6538 commit e304ca3

File tree

3 files changed

+52
-6
lines changed

3 files changed

+52
-6
lines changed

src/components/UserDetails/UserDetails.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { graphql, useFragment } from 'react-relay'
22
import BadgeList from './Badges/BadgeList'
33
import type { UserDetails_user$key } from '../../queries/__generated__/UserDetails_user.graphql'
4-
import { useState, ChangeEvent, FormEventHandler } from 'react'
54
import Bio from './Bio'
65
import { GoIssueOpened } from '@react-icons/all-files/go/GoIssueOpened'
76
import { GoGitPullRequest } from '@react-icons/all-files/go/GoGitPullRequest'

src/pages/index.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { NextPage, NextPageContext } from 'next'
1+
import type { NextPageContext } from 'next'
22
import UserDetails from '../components/UserDetails/UserDetails'
33
import { graphql, usePreloadedQuery } from 'react-relay'
44
import { withRelay, RelayProps } from 'relay-nextjs'
@@ -11,6 +11,7 @@ import IssuesFromRecentRepos from '../components/issue/IssuesFromRecentRepo'
1111
import Layout from '../components/Layout'
1212
import Login from '../components/Login'
1313
import Feed from '../components/feed/Feed'
14+
import RelayModernEnvironment from 'relay-runtime/lib/store/RelayModernEnvironment'
1415

1516
const RootQuery = graphql`
1617
query pages_UserQuery {
@@ -56,7 +57,8 @@ const Home = ({
5657
}
5758

5859
export default withRelay(Home, RootQuery, {
59-
createClientEnvironment: () => getClientEnvironment()!,
60+
createClientEnvironment: () =>
61+
getClientEnvironment() as RelayModernEnvironment,
6062
createServerEnvironment: async (ctx: NextPageContext) => {
6163
const { createServerEnvironment } = await import(
6264
'../lib/server/server_environment'

src/pages/users/[handle].tsx

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,55 @@
11
import { useRouter } from 'next/router'
2+
import { NextPageContext } from 'next'
3+
import { graphql, usePreloadedQuery } from 'react-relay'
4+
import { RelayProps, withRelay } from 'relay-nextjs'
5+
import Layout from '../../components/Layout'
6+
import { getClientEnvironment } from '../../lib/client_environment'
7+
import Card from '../../components/Card'
8+
import UserDetails from '../../components/UserDetails/UserDetails'
9+
import { pages_UserQuery } from '../../queries/__generated__/pages_UserQuery.graphql'
10+
import RelayModernEnvironment from 'relay-runtime/lib/store/RelayModernEnvironment'
11+
import { UserDetails_user$key } from '../../queries/__generated__/UserDetails_user.graphql'
212

3-
const User = () => {
13+
const UserQuery = graphql`
14+
query pages_UserQuery {
15+
viewer {
16+
handle
17+
...UserDetails_user
18+
}
19+
}
20+
`
21+
22+
const User = ({
23+
preloadedQuery,
24+
}: RelayProps<Record<string, never>, pages_UserQuery>) => {
25+
const query = usePreloadedQuery(UserQuery, preloadedQuery)
426
const router = useRouter()
527
const { handle } = router.query
628

7-
return <h1>Welcome {handle}</h1>
29+
return (
30+
<div>
31+
<Layout
32+
sidebarContentRight={handle}
33+
sidebarContentLeft={
34+
<Card>
35+
<UserDetails user={query.viewer as UserDetails_user$key} />
36+
</Card>
37+
}
38+
>
39+
{handle}
40+
</Layout>
41+
</div>
42+
)
843
}
944

10-
export default User
45+
export default withRelay(User, UserQuery, {
46+
createClientEnvironment: () =>
47+
getClientEnvironment() as RelayModernEnvironment,
48+
createServerEnvironment: async (ctx: NextPageContext) => {
49+
const { createServerEnvironment } = await import(
50+
'../../lib/server/server_environment'
51+
)
52+
53+
return createServerEnvironment(ctx)
54+
},
55+
})

0 commit comments

Comments
 (0)