HummingBirdAnimeClient/app/views/anime/details.php

206 lines
5.6 KiB
PHP
Raw Normal View History

2020-07-29 15:49:16 -04:00
<?php
2020-08-26 15:22:14 -04:00
use Aviat\AnimeClient\Kitsu;
2020-07-29 15:49:16 -04:00
use function Aviat\AnimeClient\getLocalImg;
2020-07-29 15:49:16 -04:00
?>
2017-03-31 13:37:53 -04:00
<main class="details fixed">
<section class="flex" unselectable>
<aside class="info">
<?= $helper->picture($data['cover_image'], '.jpg', ['width' => '390'], ['width' => '390']) ?>
2018-11-01 22:01:09 -04:00
<br />
2018-11-01 22:01:09 -04:00
<table class="media-details">
<tr>
<td class="align-right">Airing Status</td>
<td><?= $data['status'] ?></td>
</tr>
2020-07-29 15:49:16 -04:00
<?php if ( ! empty($data['airDate'])): ?>
<tr>
<td>Original Airing</td>
<td><?= $data['airDate'] ?></td>
</tr>
<?php endif ?>
<tr>
<td>Show Type</td>
<td><?= (strlen($data['show_type']) > 3) ? ucfirst(strtolower($data['show_type'])) : $data['show_type'] ?></td>
</tr>
2020-07-29 15:49:16 -04:00
<?php if ($data['episode_count'] !== 1): ?>
<tr>
<td>Episode Count</td>
<td><?= $data['episode_count'] ?? '-' ?></td>
</tr>
<?php endif ?>
<?php if (( ! empty($data['episode_length'])) && $data['episode_count'] !== 1): ?>
2018-11-01 22:01:09 -04:00
<tr>
<td>Episode Length</td>
2020-07-29 15:49:16 -04:00
<td><?= Kitsu::friendlyTime($data['episode_length']) ?></td>
</tr>
<?php endif ?>
<?php if (isset($data['total_length'], $data['episode_count']) && $data['total_length'] > 0): ?>
2020-07-29 15:49:16 -04:00
<tr>
<td>Total Length</td>
<td><?= Kitsu::friendlyTime($data['total_length']) ?></td>
2018-11-01 22:01:09 -04:00
</tr>
<?php endif ?>
2020-07-29 15:49:16 -04:00
<?php if ( ! empty($data['age_rating'])): ?>
2018-11-01 22:01:09 -04:00
<tr>
<td>Age Rating</td>
<td><abbr title="<?= $data['age_rating_guide'] ?>"><?= $data['age_rating'] ?></abbr>
2018-11-01 22:01:09 -04:00
</td>
</tr>
2017-01-12 15:41:20 -05:00
<?php endif ?>
<?php if (count($data['links']) > 0): ?>
<tr>
<td>External Links</td>
<td>
<?php foreach ($data['links'] as $urlName => $externalUrl): ?>
<a rel='external' href="<?= $externalUrl ?>"><?= $urlName ?></a><br />
<?php endforeach ?>
</td>
</tr>
<?php endif ?>
<tr>
<td>Genres</td>
<td>
<?= implode(', ', $data['genres']) ?>
</td>
</tr>
</table>
<br />
</aside>
<article class="text">
<h2 class="toph"><?= $data['title'] ?></h2>
<?php foreach ($data['titles_more'] as $title): ?>
2018-11-01 22:01:09 -04:00
<h3><?= $title ?></h3>
<?php endforeach ?>
<br />
<div class="description">
<p><?= str_replace("\n", '</p><p>', $data['synopsis']) ?></p>
</div>
<?php if (count($data['streaming_links']) > 0): ?>
2018-11-01 22:01:09 -04:00
<hr />
<h4>Streaming on:</h4>
2018-11-05 11:22:35 -05:00
<table class="full-width invisible streaming-links">
2018-11-01 22:01:09 -04:00
<thead>
2017-01-13 16:49:46 -05:00
<tr>
<th class="align-left">Service</th>
2017-01-13 16:49:46 -05:00
<th>Subtitles</th>
<th>Dubs</th>
</tr>
2018-11-01 22:01:09 -04:00
</thead>
<tbody>
<?php foreach ($data['streaming_links'] as $link): ?>
2018-11-01 22:01:09 -04:00
<tr>
<td class="align-left">
2018-11-01 22:01:09 -04:00
<?php if ($link['meta']['link'] !== FALSE): ?>
<a
href="<?= $link['link'] ?>"
title="Stream '<?= $data['title'] ?>' on <?= $link['meta']['name'] ?>"
2018-11-01 22:01:09 -04:00
>
2020-04-08 10:08:56 -04:00
<?= $helper->img("/public/images/{$link['meta']['image']}", [
2018-11-05 09:56:38 -05:00
'class' => 'streaming-logo',
'width' => 50,
'height' => 50,
'alt' => "{$link['meta']['name']} logo",
2020-04-08 10:08:56 -04:00
]) ?>
2018-11-01 22:01:09 -04:00
&nbsp;&nbsp;<?= $link['meta']['name'] ?>
</a>
<?php else: ?>
2020-04-08 10:08:56 -04:00
<?= $helper->img("/public/images/{$link['meta']['image']}", [
2018-11-05 09:56:38 -05:00
'class' => 'streaming-logo',
'width' => 50,
'height' => 50,
'alt' => "{$link['meta']['name']} logo",
2020-04-08 10:08:56 -04:00
]) ?>
2018-11-01 22:01:09 -04:00
&nbsp;&nbsp;<?= $link['meta']['name'] ?>
<?php endif ?>
</td>
<td><?= implode(', ', array_map(fn ($sub) => Locale::getDisplayLanguage($sub, 'en'), $link['subs'])) ?></td>
<td><?= implode(', ', array_map(fn ($dub) => Locale::getDisplayLanguage($dub, 'en'), $link['dubs'])) ?></td>
2018-11-01 22:01:09 -04:00
</tr>
<?php endforeach ?>
</tbody>
</table>
2017-01-13 16:49:46 -05:00
<?php endif ?>
<?php if ( ! empty($data['trailer_id'])): ?>
2018-11-05 09:56:38 -05:00
<div class="responsive-iframe">
<h4>Trailer</h4>
<iframe
width="560"
height="315"
role='img'
src="https://www.youtube.com/embed/<?= $data['trailer_id'] ?>"
allow="autoplay; encrypted-media"
allowfullscreen
tabindex='0'
title="<?= $data['title'] ?> trailer video"
></iframe>
2018-11-05 09:56:38 -05:00
</div>
<?php endif ?>
</article>
</section>
<?php if (count($data['characters']) > 0): ?>
<section>
<h2>Characters</h2>
<?= $component->tabs('character-types', $data['characters'], static function ($characterList, $role)
use ($component, $url, $helper) {
$rendered = [];
foreach ($characterList as $id => $character):
if (empty($character['image']['original']))
{
continue;
}
$rendered[] = $component->character(
$character['name'],
$url->generate('character', ['slug' => $character['slug']]),
$helper->picture("images/characters/{$id}.webp"),
(strtolower($role) !== 'main') ? 'small-character' : 'character'
);
endforeach;
return implode('', array_map('mb_trim', $rendered));
}) ?>
</section>
<?php endif ?>
<?php if (count($data['staff']) > 0): ?>
<section>
<h2>Staff</h2>
<?= $component->verticalTabs('staff-role', $data['staff'], static function ($staffList)
use ($component, $url, $helper) {
$rendered = [];
foreach ($staffList as $id => $person):
if (empty($person['image']['original']))
{
continue;
}
$rendered[] = $component->character(
$person['name'],
$url->generate('person', ['slug' => $person['slug']]),
$helper->picture(getLocalImg($person['image']['original'] ?? NULL)),
'character small-person',
);
endforeach;
return implode('', array_map('mb_trim', $rendered));
}) ?>
</section>
<?php endif ?>
2016-02-01 09:49:18 -05:00
</main>