HummingBirdAnimeClient/app/views/user/details.php

111 lines
2.9 KiB
PHP
Raw Permalink Normal View History

2018-10-30 11:42:32 -04:00
<?php
2020-08-26 15:22:14 -04:00
use Aviat\AnimeClient\Kitsu;
2018-10-30 11:42:32 -04:00
?>
<main class="user-page details">
2018-11-05 09:56:38 -05:00
<h2 class="toph">
About
<?= $_->h->a(
2024-08-13 07:56:20 -04:00
"https://kitsu.app/users/{$data['slug']}",
$data['name'], [
'title' => 'View profile on Kitsu'
2018-11-05 09:56:38 -05:00
])
?>
</h2>
2017-03-08 13:46:50 -05:00
<section class="flex flex-no-wrap">
2018-11-05 09:56:38 -05:00
<aside class="info">
<table class="media-details invisible">
<tr>
2023-05-18 16:25:50 -04:00
<?php if($data['avatar'] !== null): ?>
<td><?= $_->h->img($data['avatar'], ['alt' => '', 'width' => '225']); ?></td>
2023-05-18 16:25:50 -04:00
<?php endif ?>
<td><?= $_->escape->html($data['about']) ?></td>
</tr>
</table>
2017-03-08 13:46:50 -05:00
<br />
<table class="media-details">
<?php foreach ([
'joinDate' => 'Joined',
'birthday' => 'Birthday',
2023-05-18 16:25:50 -04:00
'gender' => 'Gender',
'location' => 'Location'
] as $key => $label): ?>
<?php if ($data[$key] !== null): ?>
2017-03-08 13:46:50 -05:00
<tr>
<td><?= $label ?></td>
<td><?= $data[$key] ?></td>
2017-03-08 13:46:50 -05:00
</tr>
<?php endif ?>
<?php endforeach; ?>
<?php if ($data['website'] !== null): ?>
2017-03-08 16:21:01 -05:00
<tr>
<td>Website</td>
<td><?= $_->h->a($data['website'], $data['website']) ?></td>
2017-03-08 16:21:01 -05:00
</tr>
<?php endif ?>
2023-05-18 16:25:50 -04:00
<?php if ($data['waifu']['character'] !== null): ?>
2017-03-08 16:21:01 -05:00
<tr>
<td><?= $_->escape->html($data['waifu']['label']) ?></td>
2017-03-08 16:21:01 -05:00
<td>
<?php
$character = $data['waifu']['character'];
echo $_->component->character(
$character['names']['canonical'],
$_->urlFromRoute('character', ['slug' => $character['slug']]),
$_->h->img(Kitsu::getImage($character))
2017-03-08 16:21:01 -05:00
);
?>
</td>
</tr>
<?php endif ?>
2018-11-05 09:56:38 -05:00
</table>
<h3>User Stats</h3><br />
<table class="media-details">
<?php foreach($data['stats'] as $label => $stat): ?>
2018-10-30 11:42:32 -04:00
<tr>
<td><?= $label ?></td>
<td><?= $stat ?></td>
</tr>
<?php endforeach ?>
2017-03-08 13:46:50 -05:00
</table>
2018-11-05 09:56:38 -05:00
</aside>
<article>
<?php if ( ! empty($data['favorites'])): ?>
2018-10-30 11:42:32 -04:00
<h3>Favorites</h3>
<?= $_->component->tabs('user-favorites', $data['favorites'], static function ($items, $type) use ($_) {
if ($type === 'character')
{
uasort($items, fn ($a, $b) => $a['names']['canonical'] <=> $b['names']['canonical']);
}
else
{
uasort($items, fn ($a, $b) => $a['titles']['canonical'] <=> $b['titles']['canonical']);
}
$rendered = array_map(fn ($item) => match ($type) {
'character' => $_->component->character(
$item['names']['canonical'],
$_->urlFromRoute('character', ['slug' => $item['slug']]),
$_->h->img(Kitsu::getImage($item))
),
default => $_->component->media(
array_merge(
[$item['titles']['canonical']],
Kitsu::getFilteredTitles($item['titles']),
),
$_->urlFromRoute("{$type}.details", ['id' => $item['slug']]),
$_->h->img(Kitsu::getPosterImage($item), ['width' => 220]),
),
}, $items);
return implode('', array_map('mb_trim', $rendered));
}, 'content full-width media-wrap') ?>
<?php endif ?>
2018-11-05 09:56:38 -05:00
</article>
2017-03-08 13:46:50 -05:00
</section>
2024-08-13 07:56:20 -04:00
</main>