69 lines
3 KiB
Plaintext
69 lines
3 KiB
Plaintext
|
<link rel="stylesheet" href="{path('/styles/themes/card.css')}">
|
||
|
<noscript>JavaScript is required for this section to work!</noscript>
|
||
|
<section class="section">
|
||
|
<div class="columns is-multiline is-vcentered">
|
||
|
{foreach $feed->items as $item}
|
||
|
{do $share_url = 'https://tiktok.com/@' . $item->author->uniqueId . '/video/' . $item->id}
|
||
|
<div class="column is-one-quarter clickable-img" id="{$item->id}" onclick="openVideo(this.id)"
|
||
|
data-video_url="{path('/stream?url=' . urlencode($item->video->playAddr))}"
|
||
|
data-video_download_watermark="{path('/download?url=' . urlencode($item->video->playAddr) . '&id=' . $item->id . '&user=' . $item->author->uniqueId) . '&watermark='}"
|
||
|
data-video_download_nowatermark="{path('/download?id=' . $item->id . '&user=' . $item->author->uniqueId)}"
|
||
|
data-video_share_url="{$share_url}"
|
||
|
data-desc="{$item->desc}"
|
||
|
data-music_title="{$item->music->title}"
|
||
|
data-music_url="{path('/stream?url=' . urlencode($item->music->playUrl))}">
|
||
|
<img loading="lazy" src="{path('/stream?url=' . urlencode($item->video->originCover))}" />
|
||
|
<img class="hidden" loading="lazy" data-src="{path('/stream?url=' . urlencode($item->video->dynamicCover))}" />
|
||
|
</div>
|
||
|
{/foreach}
|
||
|
{if empty($feed->items)}
|
||
|
<p class="title">No items sent by TikTok!</p>
|
||
|
{/if}
|
||
|
</div>
|
||
|
{include './common/controls.latte'}
|
||
|
</section>
|
||
|
|
||
|
<!-- MODAL -->
|
||
|
<div id="modal" class="modal">
|
||
|
<div id="modal-background" class="modal-background"></div>
|
||
|
<div class="modal-card">
|
||
|
<header class="modal-card-head">
|
||
|
<button id="modal-close" class="delete" aria-label="close"></button>
|
||
|
<p class="modal-card-title" id="item_title"></p>
|
||
|
</header>
|
||
|
<section class="modal-card-body has-text-centered" style="overflow: hidden;">
|
||
|
<video id="video" autoplay controls></video>
|
||
|
</section>
|
||
|
<footer class="modal-card-foot has-text-centered">
|
||
|
<div class="container">
|
||
|
<div class="field has-addons has-addons-centered">
|
||
|
<div class="control">
|
||
|
<input id="share_input" class="input" readonly />
|
||
|
</div>
|
||
|
<div class="control">
|
||
|
<button class="button is-primary" onclick="copyShare()">Copy</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="download_dropdown" class="dropdown is-hoverable">
|
||
|
<div class="dropdown-trigger">
|
||
|
<button id="download_button" class="button" aria-haspopup="true" aria-controls="dropdown-menu">Download</button>
|
||
|
</div>
|
||
|
<div class="dropdown-menu" role="menu">
|
||
|
<div class="dropdown-content">
|
||
|
<a id="download_watermark" target="_blank" class="dropdown-item">With watermark</a>
|
||
|
<a id="download_nowatermark" target="_blank" class="dropdown-item">Without watermark</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<p id="audio_title"></p>
|
||
|
<audio id="audio" controls preload="none"></audio>
|
||
|
<div class="buttons is-centered">
|
||
|
<button id="back-button" class="button is-danger">Back</button>
|
||
|
<button id="next-button" class="button is-success">Next</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</footer>
|
||
|
</div>
|
||
|
</div>
|
||
|
<script src="{path('/scripts/themes/card.js')}"></script>
|