import type {
  FindNachhilfeangebotById,
  FindNachhilfeangebotByIdVariables,
} from 'types/graphql'

import type {
  CellSuccessProps,
  CellFailureProps,
  TypedDocumentNode,
} from '@redwoodjs/web'

import Nachhilfeangebot from 'src/components/Nachhilfeangebot/Nachhilfeangebot'

export const QUERY: TypedDocumentNode<
  FindNachhilfeangebotById,
  FindNachhilfeangebotByIdVariables
> = gql`
  query FindNachhilfeangebotById($id: Int!) {
    nachhilfeangebot: nachhilfeangebot(id: $id) {
      id
      subject
      currentClass
      cost
    }
  }
`

export const Loading = () => <div>Loading...</div>

export const Empty = () => <div>Nachhilfeangebot not found</div>

export const Failure = ({
  error,
}: CellFailureProps<FindNachhilfeangebotByIdVariables>) => (
  <div className="rw-cell-error">{error?.message}</div>
)

export const Success = ({
  nachhilfeangebot,
}: CellSuccessProps<
  FindNachhilfeangebotById,
  FindNachhilfeangebotByIdVariables
>) => {
  return <Nachhilfeangebot nachhilfeangebot={nachhilfeangebot} />
}
