import { gql, useApolloClient, useLazyQuery } from '@apollo/client'
import { useEffect, useState } from 'react'
import Comment, { CommentSkeleton } from './comment'
import styles from './header.module.css'
import { Nav, Navbar } from 'react-bootstrap'
import { COMMENTS_QUERY } from '../fragments/items'
import { COMMENTS } from '../fragments/comments'
export function CommentsHeader ({ handleSort }) {
  const [sort, setSort] = useState('hot')
  const getHandleClick = sort => {
    return () => {
      setSort(sort)
      handleSort(sort)
    }
  }
  return (
    
      
    
  )
}
export default function Comments ({ parentId, comments, ...props }) {
  const client = useApolloClient()
  useEffect(() => {
    const hash = window.location.hash
    if (hash) {
      document.querySelector(hash).scrollIntoView({ behavior: 'smooth' })
    }
  }, [])
  const [getComments, { loading }] = useLazyQuery(COMMENTS_QUERY, {
    fetchPolicy: 'network-only',
    onCompleted: data => {
      client.writeFragment({
        id: `Item:${parentId}`,
        fragment: gql`
          ${COMMENTS}
          fragment Comments on Item {
            comments {
              ...CommentsRecursive
            }
          }
        `,
        fragmentName: 'Comments',
        data: {
          comments: data.comments
        }
      })
    }
  })
  return (
    <>
      {comments.length ?  getComments({ variables: { id: parentId, sort } })} /> : null}
      {loading
        ? 
        : comments.map(item => (
          
        ))}
    >
  )
}
export function CommentsSkeleton () {
  return 
}