epg/sites/tivie.id/__data__/program01.html
Toha d7b281304b
Add site tivie.id.
Test:

```sh
npm test --- tivie.id

> test
> run-script-os tivie.id

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand tivie.id

 PASS  sites/tivie.id/tivie.id.test.js
  √ can generate valid url (4 ms)
  √ can parse response (767 ms)
  √ can handle empty guide (1 ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        5.273 s, estimated 6 s
Ran all test suites matching /tivie.id/i.
```

Grab:

```sh
npm run grab --- --site=tivie.id

> grab
> npx tsx scripts/commands/epg/grab.ts --site=tivie.id

starting...
config:
  output: guide.xml
  maxConnections: 1
  gzip: false
  site: tivie.id
loading channels...
  found 50 channel(s)
run #1:
Unable to fetch https://tivie.id/film/as%cc%85oka-nwzDnwvClgf4: Request failed with status code 404!
  [1/100] tivie.id (id) - ANTV.id - Dec 31, 2024 (15 programs)
  [2/100] tivie.id (id) - ANTV.id - Jan 1, 2025 (13 programs)
  ...
  [99/100] tivie.id (id) - SindoNewsTV.id - Dec 31, 2024 (22 programs)
  [100/100] tivie.id (id) - SEAToday.id - Jan 1, 2025 (37 programs)
  saving to "guide.xml"...
  done in 00h 08m 58s
```

Signed-off-by: Toha <tohenk@yahoo.com>
2025-01-01 00:19:15 +07:00

102 lines
No EOL
7.5 KiB
HTML

<!DOCTYPE html>
<html lang="id">
<body class="font-sans text-black text-opacity-80 antialiased bg-slate-50">
<div class="min-h-screen max-w-lg mx-auto bg-white relative flex flex-col">
<header class="sticky top-0 z-30 bg-white bg-opacity-90 backdrop-blur border-b border-gray-100" id="appbar">
<div class="flex h-14 px-4">
<div class="shrink-0 flex items-center">
<a href="https://tivie.id">
<svg viewBox="0 0 30.808 13.383" xmlns="http://www.w3.org/2000/svg"
class="block h-8 w-auto fill-teal-700" stroke-width="0.25">
<path
d="M7.229,4.682h-2.47L3.14,10.702H0.852l1.619-6.021H0l0.502-1.875H7.73L7.229,4.682z M6.547,10.702h2.289l2.121-7.896H8.668
L6.547,10.702z M9.448,0L8.84,2.258h2.265L11.713,0H9.448z M18.054,2.807l-3.75,6.749L13.84,2.807h-2.265l0.683,10.577h2.265
l5.796-10.577H18.054z M20.953,2.807l-2.121,7.896h2.289l2.121-7.896H20.953z M30.319,4.609l0.488-1.803h-6.642l-2.121,7.896h6.702
l0.479-1.803h-4.465l0.39-1.412h4.1l0.407-1.527h-4.102l0.361-1.352H30.319z M23.995,0H21.73l-0.608,2.258h2.265L23.995,0z" />
</svg>
</a>
</div>
<nav
class="flex-grow gap-0.5 flex items-center justify-end uppercase relative left-2 text-sm font-medium leading-none">
<a class="inline-flex items-center p-2 focus:outline-none transition duration-150 ease-in-out relative before:content-[&#039;&#039;] before:block before:h-px before:absolute before:inset-x-1.5 before:bottom-0 before:bg-teal-800 hover:text-teal-800 before:opacity-50 hover:before:opacity-80 before:transition before:duration-150 before:ease-in-out before:scale-x-0 hover:before:scale-x-100"
href="https://tivie.id">
Beranda
</a>
<a class="inline-flex items-center p-2 focus:outline-none transition duration-150 ease-in-out relative before:content-[&#039;&#039;] before:block before:h-px before:absolute before:inset-x-1.5 before:bottom-0 before:bg-teal-800 hover:text-teal-800 before:opacity-50 hover:before:opacity-80 before:transition before:duration-150 before:ease-in-out before:scale-x-0 hover:before:scale-x-100"
href="https://tivie.id/channel">
Channel
</a>
<a class="inline-flex items-center p-2 focus:outline-none transition duration-150 ease-in-out relative before:content-[&#039;&#039;] before:block before:h-px before:absolute before:inset-x-1.5 before:bottom-0 before:bg-teal-800 text-teal-800 before:opacity-80"
href="https://tivie.id/program">
Program
</a>
</nav>
</div>
</header>
<main id="main-content" class="flex-grow w-full">
<div class="">
<div class="aspect-video bg-gray-100">
<img src="https://i0.wp.com/is3.cloudhost.id/tivie/poster/2023/09/65116c78791c2-1695640694.jpg?resize=480,270"
alt="" class="w-full h-full object-fit">
</div>
<div class="p-4">
<div class="">
<a href="https://tivie.id/programs/film"
class="text-sm uppercase font-bold tracking-wide text-teal-800 hover:text-teal-900">Film</a>
</div>
<h2 class="font-bold text-2xl leading-tight mb-0.5">White House Down</h2>
<h2 class="font-medium text-lg leading-tight mb-3">2013</h2>
<div class="">
<p>Saat melakukan tur di Gedung Putih bersama putrinya yang masih kecil, seorang perwira polisi
beraksi untuk melindungi anaknya dan presiden dari sekelompok penjajah paramiliter
bersenjata lengkap.</p>
</div>
<div class="pt-2">
<script async
src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7024487184083415"
crossorigin="anonymous"></script>
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article"
data-ad-format="fluid" data-ad-client="ca-pub-7024487184083415"
data-ad-slot="3702712377"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<div class="mt-4 max-w-fit">
<h4 class="font-bold tracking-tight leading-tight mb-1 uppercase">Terakhir Tayang</h4>
<ul class="divide-y">
<li>
<div x-data="{url: 'https://tivie.id/channel/axn/kemarin'}"
class="py-1.5 flex items-start gap-3">
<a href="https://tivie.id/channel/axn/kemarin"
class="shrink-0 w-10 -my-0.5 aspect-logo overflow-hidden" title="AXN">
<img src="https://tivie.id-www.my.id/channel-hwfGtC5uHWwHLfxwmufCZSdtiex9LEm9KkiGG279-sm.png"
alt="AXN" class="w-full h-full object-contain">
<span class="sr-only">Jadwal Acara AXN Kemarin</span>
</a>
<div class="shrink-0 w-36 flex justify-between cursor-pointer"
@click="window.location.href = url">
<span class="shrink-0 w-16 font-medium">Kemarin</span>
<div
class="w-13 font-medium flex justify-center items-center text-center shrink-0 leading-tight opacity-90">
<span before=":"
class="shrink-0 w-1 h-4 leading-4 flex flex-col items-center overflow-hidden before:content-[attr(before)] before:w-full before:scale-90">21:40</span>
<span before="2" after="1"
class="order-first flex w-1/2 flex justify-end -space-x-px before:content-[attr(before)] before:block before:shrink-0 before:w-2.5 before:scale-90 after:content-[attr(after)] after:block after:shrink-0 after:w-2.5 after:scale-90"></span>
<span before="4" after="0"
class="flex w-1/2 flex justify-start -space-x-px before:content-[attr(before)] before:block before:shrink-0 before:w-2.5 before:scale-90 after:content-[attr(after)] after:block after:shrink-0 after:w-2.5 after:scale-90"></span>
<span class="text-xs tracking-wider opacity-75 pt-px px-1">WIB</span>
</div>
</div>
<div class="">
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</main>
</div>
</body>
</html>