import { Component } from 'react'
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
import { models } from 'shared-stuff'

import dbConnect from '../../lib/dbConnect'

import Hero from './Hero'
import Table from './Table'

export default class Home extends Component {
  constructor ({ scanResults }) {
    super()
    this.scanResults = scanResults
  }

  render () {
    return (
      <>
        <Hero />
        <Table
          scanResults={this.scanResults}
        />
      </>
    )
  }
}

export async function getServerSideProps ({ locale }) {
  await dbConnect()
  const scanResults = await models.ScanResult.find({})

  return {
    props: {
      scanResults: JSON.parse(JSON.stringify(scanResults)),
      ...(await serverSideTranslations(locale, ['common', 'home']))
    }
  }
}
