|
| 1 | +import { NextPageContext } from 'next' |
| 2 | +import { graphql, usePreloadedQuery } from 'react-relay' |
| 3 | +import { RelayProps, withRelay } from 'relay-nextjs' |
| 4 | +import Layout from '../../components/Layout' |
| 5 | +import { getClientEnvironment } from '../../lib/client_environment' |
| 6 | +import Card from '../../components/Card' |
| 7 | +import RelayModernEnvironment from 'relay-runtime/lib/store/RelayModernEnvironment' |
| 8 | +import IssuesFromLastRepo from '../../components/issue/IssuesFromLastRepo' |
| 9 | +import IssuesFromRecentRepos from '../../components/issue/IssuesFromRecentRepo' |
| 10 | +import RelevantIssues from '../../components/issue/RelevantIssues' |
| 11 | +import { issuesQuery } from '../../queries/__generated__/issuesQuery.graphql' |
| 12 | + |
| 13 | +const IssuesQuery = graphql` |
| 14 | + query issuesQuery { |
| 15 | + viewer { |
| 16 | + handle |
| 17 | + ...RelevantIssues |
| 18 | + ...IssuesFromLastRepo |
| 19 | + ...IssuesFromRecentRepos |
| 20 | + } |
| 21 | + } |
| 22 | +` |
| 23 | + |
| 24 | +const Issues = ({ |
| 25 | + preloadedQuery, |
| 26 | +}: RelayProps<Record<string, never>, issuesQuery>) => { |
| 27 | + const query = usePreloadedQuery(IssuesQuery, preloadedQuery) |
| 28 | + |
| 29 | + return ( |
| 30 | + <div> |
| 31 | + {query.viewer && ( |
| 32 | + <Layout |
| 33 | + sidebarContentRight={query.viewer.handle} |
| 34 | + sidebarContentLeft={<Card></Card>} |
| 35 | + > |
| 36 | + <IssuesFromLastRepo user={query.viewer} /> |
| 37 | + <IssuesFromRecentRepos user={query.viewer} /> |
| 38 | + <RelevantIssues user={query.viewer} /> |
| 39 | + </Layout> |
| 40 | + )} |
| 41 | + </div> |
| 42 | + ) |
| 43 | +} |
| 44 | + |
| 45 | +export default withRelay(Issues, IssuesQuery, { |
| 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