import { GetServerSideProps, GetServerSidePropsContext } from "next"; import Head from "next/head"; import useSWR from "swr"; import { request, gql } from "graphql-request"; import { NextPage } from "next"; import { Grid, } from "@mui/material"; import { Layout } from "components/Layout"; import { TicketDetail } from "components/TicketDetail"; import { TicketEdit } from "components/TicketEdit"; type TicketProps = { id: string; }; const Ticket: NextPage = ({ id }) => { const origin = typeof window !== 'undefined' && window.location.origin ? window.location.origin : ''; const graphQLFetcher = async ({ document, variables }: any) => { const data = await request({ url: `${origin}/graphql`, document, variables }) console.log({ data }) return data; }; const { data: ticketData, error: ticketError }: any = useSWR( { document: gql` query getTicket($ticketId: Int!) { ticket( ticket: { ticketInternalId: $ticketId } ) { id, internalId, title, note, number, createdAt, updatedAt, closeAt, articles { edges { node { id, body, internal, sender { name } } } } }}`, variables: { ticketId: parseInt(id, 10) } }, graphQLFetcher, { refreshInterval: 1000 } ); const { data: graphqlData2, error: graphqlError2 } = useSWR( { document: gql` { __schema { queryType { name fields { name } } } }`, variables: {} }, graphQLFetcher ); const shouldRender = !ticketError && ticketData; return ( Link Shell {shouldRender && ( {/* */} )} {ticketError &&
{ticketError.toString()}
}
); } export const getServerSideProps: GetServerSideProps = async ( context: GetServerSidePropsContext) => { const { id } = context.query; return { props: { id } }; } export default Ticket;