mirror of
https://github.com/ThaUnknown/miru.git
synced 2026-04-18 21:02:06 +00:00
fix: address review
This commit is contained in:
parent
17a1f12463
commit
de69850d03
5 changed files with 18 additions and 32 deletions
|
|
@ -37,9 +37,9 @@
|
|||
{media.duration}m
|
||||
{/if}
|
||||
</div>
|
||||
{#if progress && $progress > 0}
|
||||
<div class="progress container-fluid position-absolute" style='height: 2px; min-height: 2px;'>
|
||||
<div class="progress-bar" style="width: {$progress}%"></div>
|
||||
{#if $progress > 0}
|
||||
<div class='progress container-fluid position-absolute' style='height: 2px; min-height: 2px;'>
|
||||
<div class='progress-bar' style='width: {$progress}%' />
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
{media.duration}m
|
||||
{/if}
|
||||
</div>
|
||||
{#if progress && $progress > 0}
|
||||
<div class="progress container-fluid position-absolute mb-5">
|
||||
<div class="progress-bar" style="width: {$progress}%"></div>
|
||||
{#if $progress > 0}
|
||||
<div class='progress container-fluid position-absolute mb-5'>
|
||||
<div class='progress-bar' style='width: {$progress}%' />
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
<script>
|
||||
import { formatMap, setStatus, playMedia, getMediaMaxEp } from '@/modules/anime.js'
|
||||
import { formatMap, setStatus, playMedia } from '@/modules/anime.js'
|
||||
import { alRequest } from '@/modules/anilist.js'
|
||||
import { click } from '@/modules/click.js'
|
||||
import { liveAnimeEpisodeProgress } from '@/modules/animeprogress.js'
|
||||
export let media
|
||||
|
||||
let hide = true
|
||||
|
|
@ -54,8 +53,6 @@
|
|||
function toggleMute () {
|
||||
muted = !muted
|
||||
}
|
||||
|
||||
const progress = liveAnimeEpisodeProgress(media.id, Math.min(getMediaMaxEp(media, true), media.mediaListEntry?.progress + 1 || 1))
|
||||
</script>
|
||||
|
||||
<div class='position-absolute w-350 h-400 absolute-container top-0 bottom-0 m-auto bg-dark-light z-30 rounded overflow-hidden pointer'>
|
||||
|
|
@ -83,11 +80,6 @@
|
|||
on:load={() => { hide = false }}
|
||||
src={`https://www.youtube-nocookie.com/embed/${media.trailer?.id}?autoplay=1&controls=0&mute=1&disablekb=1&loop=1&vq=medium&playlist=${media.trailer?.id}`}
|
||||
/> -->
|
||||
{#if progress && $progress > 0}
|
||||
<div class=" position-absolute" style="margin-top: -1.5rem">
|
||||
<div class="progress-bar" style="width: {$progress}%"></div>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<div class='w-full px-20'>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
<script>
|
||||
import { getContext } from 'svelte'
|
||||
import PreviewCard from './PreviewCard.svelte'
|
||||
import { formatMap, statusColorMap, getMediaMaxEp } from '@/modules/anime.js'
|
||||
import { formatMap, statusColorMap } from '@/modules/anime.js'
|
||||
import { hoverClick } from '@/modules/click.js'
|
||||
import { countdown } from '@/modules/util.js'
|
||||
import { liveAnimeEpisodeProgress } from '@/modules/animeprogress.js'
|
||||
|
||||
import { page } from '@/App.svelte'
|
||||
|
||||
|
|
@ -18,7 +17,6 @@
|
|||
function setHoverState (state) {
|
||||
preview = state
|
||||
}
|
||||
const progress = liveAnimeEpisodeProgress(media.id, Math.min(getMediaMaxEp(media, true), media.mediaListEntry?.progress + 1 || 1))
|
||||
</script>
|
||||
|
||||
<div class='d-flex p-20 position-relative first-check' use:hoverClick={[viewMedia, setHoverState]}>
|
||||
|
|
@ -39,11 +37,7 @@
|
|||
</div>
|
||||
{/if}
|
||||
<img loading='lazy' src={media.coverImage.extraLarge || ''} alt='cover' class='cover-img w-full rounded' style:--color={media.coverImage.color || '#1890ff'} />
|
||||
{#if progress && $progress > 0}
|
||||
<div class="progress container-fluid" style="height: 2px; min-height: 2px; margin-top: -2px;">
|
||||
<div class="progress-bar" style="width: {$progress}%"></div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class='text-white font-weight-very-bold font-size-16 pt-15 title overflow-hidden'>
|
||||
{#if media.mediaListEntry?.status}
|
||||
<div style:--statusColor={statusColorMap[media.mediaListEntry.status]} class='list-status-circle d-inline-flex overflow-hidden mr-5' title={media.mediaListEntry.status} />
|
||||
|
|
|
|||
|
|
@ -201,23 +201,23 @@
|
|||
}
|
||||
|
||||
async function loadAnimeProgress () {
|
||||
const mediaId = current?.media?.media?.id
|
||||
const episode = current?.media?.episode
|
||||
if (current?.media.failed || mediaId !== media?.media?.id || episode !== media?.episode) return
|
||||
const animeProgress = await getAnimeProgress(mediaId, episode)
|
||||
if (!current?.media?.media?.id || !current.media.media.episode || current.media.failed || !media?.media?.id || !media.episode) return
|
||||
|
||||
const animeProgress = await getAnimeProgress(current.media.media.id, current.media.episode)
|
||||
if (!animeProgress) return
|
||||
|
||||
const currentTime = Math.max(animeProgress.currentTime - 5, 0) // Load 5 seconds before
|
||||
seek(currentTime - video.currentTime)
|
||||
}
|
||||
|
||||
function saveAnimeProgress () {
|
||||
const mediaId = current?.media?.media?.id
|
||||
const episode = current?.media?.episode
|
||||
if (current?.media?.failed || mediaId !== media?.media?.id || episode !== media?.episode) return
|
||||
if (!current?.media?.media?.id || !current.media.media.episode || current.media.failed || !media?.media?.id || !media.episode) return
|
||||
|
||||
if (buffering || paused || video.readyState < 4) return
|
||||
setAnimeProgress({ mediaId, episode, currentTime: video.currentTime, safeduration })
|
||||
|
||||
setAnimeProgress({ mediaId: current.media.media.id, episode: current.media.episode, currentTime: video.currentTime, safeduration })
|
||||
}
|
||||
setInterval(saveAnimeProgress, 1000)
|
||||
setInterval(saveAnimeProgress, 30000)
|
||||
|
||||
function cycleSubtitles () {
|
||||
if (current && subs?.headers) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue