summaryrefslogtreecommitdiff
path: root/src/pages/video.jsx
blob: c2348091ed14f369a6c3bab7246b7f3aa2fbb267 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import Pagination from '@/core/components/elements/Pagination/Pagination'
import BasicLayout from '@/core/components/layouts/BasicLayout'
import useVideo from '@/lib/video/hooks/useVideo'
import { useRouter } from 'next/router'

export default function Video() {
  const router = useRouter()
  const limit = 16

  const { page = 1 } = router.query
  const { video } = useVideo({ limit, offset: limit * (page - 1) })

  const pageCount = Math.ceil(video?.data?.videoTotal / limit)

  return (
    <BasicLayout>
      <div className='container mx-auto p-4 md:p-0 my-0 md:my-10'>
        <h1 className='text-h-sm md:text-title-sm font-semibold mb-6'>Kanal Video Indoteknik</h1>
        <div className='grid grid-cols-1 md:grid-cols-4 gap-6'>
          {video.data?.videos?.map((video) => (
            <div className='shadow bg-white rounded' key={video.id}>
              <iframe
                src={`https://www.youtube.com/embed/${video.url.match(/v=([^&]*)/)[1]}`}
                title='YouTube video player'
                allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'
                allowFullScreen={true}
                width='100%'
                height={200}
                className='rounded'
              />
              <div className='p-3'>
                <a
                  href='https://www.youtube.com/@indoteknikb2bindustriale-c778'
                  className='text-red_r-11 mb-2 block'
                >
                  {video.channelName}
                </a>
                <a href={video.url} className='font-medium leading-6'>
                  {video.name}
                </a>
              </div>
            </div>
          ))}
        </div>

        <Pagination
          currentPage={parseInt(page)}
          pageCount={pageCount}
          url={`/video`}
          className='mt-4 md:mt-10'
        />
      </div>
    </BasicLayout>
  )
}