mirror of
https://github.com/ThaUnknown/miru.git
synced 2026-04-21 02:32:06 +00:00
fix: player ui issues, autocomplete irc
This commit is contained in:
parent
db0b9b6b69
commit
7edfbc3a1e
8 changed files with 21 additions and 16 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ui",
|
"name": "ui",
|
||||||
"version": "6.0.0",
|
"version": "6.0.1",
|
||||||
"license": "BUSL-1.1",
|
"license": "BUSL-1.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"packageManager": "pnpm@9.14.4",
|
"packageManager": "pnpm@9.14.4",
|
||||||
|
|
|
||||||
|
|
@ -554,8 +554,8 @@
|
||||||
|
|
||||||
<svelte:document bind:fullscreenElement bind:visibilityState />
|
<svelte:document bind:fullscreenElement bind:visibilityState />
|
||||||
|
|
||||||
<div class='w-full h-full relative content-center fullscreen:bg-black overflow-clip text-left' class:fitWidth bind:this={wrapper}>
|
<div class='w-full h-full relative content-center bg-black overflow-clip text-left' class:fitWidth bind:this={wrapper}>
|
||||||
<video class='w-full h-full grow bg-black' preload='auto' class:cursor-none={immersed} class:cursor-pointer={isMiniplayer} class:object-cover={fitWidth} class:opacity-0={deband} class:absolute={deband} class:top-0={deband}
|
<video class='w-full h-full grow' preload='auto' class:cursor-none={immersed} class:cursor-pointer={isMiniplayer} class:object-cover={fitWidth} class:opacity-0={deband} class:absolute={deband} class:top-0={deband}
|
||||||
use:createDeband={$settings.playerDeband}
|
use:createDeband={$settings.playerDeband}
|
||||||
use:createSubtitles
|
use:createSubtitles
|
||||||
use:autoPiP={pip}
|
use:autoPiP={pip}
|
||||||
|
|
@ -580,7 +580,7 @@
|
||||||
on:timeupdate={checkCompletion}
|
on:timeupdate={checkCompletion}
|
||||||
/>
|
/>
|
||||||
<div class='absolute w-full h-full flex items-center justify-center top-0 pointer-events-none'>
|
<div class='absolute w-full h-full flex items-center justify-center top-0 pointer-events-none'>
|
||||||
<div class='absolute top-0 flex w-full pointer-events-none justify-center z-50 gap-4 pt-3 items-center font-bold text-lg' class:hidden={isMiniplayer}>
|
<div class='absolute top-0 flex w-full pointer-events-none justify-center gap-4 pt-3 items-center font-bold text-lg' class:hidden={isMiniplayer}>
|
||||||
<!-- {($torrentstats.progress * 100).toFixed(1)}% -->
|
<!-- {($torrentstats.progress * 100).toFixed(1)}% -->
|
||||||
<div class='flex justify-center items-center gap-2'>
|
<div class='flex justify-center items-center gap-2'>
|
||||||
<Users size={18} />
|
<Users size={18} />
|
||||||
|
|
@ -588,11 +588,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class='flex justify-center items-center gap-2'>
|
<div class='flex justify-center items-center gap-2'>
|
||||||
<ChevronDown size={18} />
|
<ChevronDown size={18} />
|
||||||
{fastPrettyBits($torrentstats.down)}/s
|
{fastPrettyBits($torrentstats.down * 8)}/s
|
||||||
</div>
|
</div>
|
||||||
<div class='flex justify-center items-center gap-2'>
|
<div class='flex justify-center items-center gap-2'>
|
||||||
<ChevronUp size={18} />
|
<ChevronUp size={18} />
|
||||||
{fastPrettyBits($torrentstats.up)}/s
|
{fastPrettyBits($torrentstats.up * 8)}/s
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{#if seeking}
|
{#if seeking}
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!barSegments.length) barSegments.push({ size: 100, text: '', offset: 0, scale: 100 })
|
||||||
|
|
||||||
return barSegments
|
return barSegments
|
||||||
}
|
}
|
||||||
// seeking
|
// seeking
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ export default new class AuthAggregator {
|
||||||
if (totalEps < progress) return // woah, bad data from resolver?!
|
if (totalEps < progress) return // woah, bad data from resolver?!
|
||||||
|
|
||||||
const currentProgress = media.mediaListEntry?.progress ?? 0
|
const currentProgress = media.mediaListEntry?.progress ?? 0
|
||||||
if (currentProgress <= progress) return
|
if (currentProgress >= progress) return
|
||||||
|
|
||||||
const status =
|
const status =
|
||||||
totalEps === progress
|
totalEps === progress
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ import { decryptMessage, encryptMessage } from './crypt'
|
||||||
|
|
||||||
import type IrcChannel from '@thaunknown/web-irc/channel'
|
import type IrcChannel from '@thaunknown/web-irc/channel'
|
||||||
import type { ChatMessage, ChatUser } from '$lib/components/ui/chat'
|
import type { ChatMessage, ChatUser } from '$lib/components/ui/chat'
|
||||||
|
|
||||||
|
import { dev } from '$app/environment'
|
||||||
|
|
||||||
export interface IRCUser { nick: string, ident: string, hostname: string, modes: string[], tags: object }
|
export interface IRCUser { nick: string, ident: string, hostname: string, modes: string[], tags: object }
|
||||||
export interface PrivMessage {
|
export interface PrivMessage {
|
||||||
from_server: boolean
|
from_server: boolean
|
||||||
|
|
@ -110,7 +113,7 @@ export default class MessageClient extends EventEmitter {
|
||||||
gecos: 'https://kiwiirc.com/',
|
gecos: 'https://kiwiirc.com/',
|
||||||
encoding: 'utf8',
|
encoding: 'utf8',
|
||||||
auto_reconnect: true,
|
auto_reconnect: true,
|
||||||
transport: createChannelConstructor('http://do-e.clients.kiwiirc.com/webirc/kiwiirc/', '', '1') // this people are dumb enough to not refresh the ssl cert so don't use https
|
transport: createChannelConstructor(`http${dev ? '' : 's'}://do-e.clients.kiwiirc.com/webirc/kiwiirc/`, '', '1') // this people are dumb enough to not refresh the ssl cert so don't use https
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ export default {
|
||||||
showDetailsInRPC: true,
|
showDetailsInRPC: true,
|
||||||
torrentPath: '',
|
torrentPath: '',
|
||||||
angle: 'default' as 'default' | 'd3d11'| 'd3d9' | 'warp' | 'gl' | 'gles' | 'swiftshader' | 'vulkan' | 'metal',
|
angle: 'default' as 'default' | 'd3d11'| 'd3d9' | 'warp' | 'gl' | 'gles' | 'swiftshader' | 'vulkan' | 'metal',
|
||||||
idleAnimation: 'fancy' as 'fancy' | 'fast' | 'off',
|
idleAnimation: 'fast' as 'fancy' | 'fast' | 'off',
|
||||||
enableExternal: false,
|
enableExternal: false,
|
||||||
playerPath: '',
|
playerPath: '',
|
||||||
playerSeek: 2,
|
playerSeek: 2,
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ export const languageCodes = {
|
||||||
per: 'Persian',
|
per: 'Persian',
|
||||||
mal: 'Malayalam',
|
mal: 'Malayalam',
|
||||||
'': 'None'
|
'': 'None'
|
||||||
}
|
} as const
|
||||||
|
|
||||||
export const subtitleResolutions = {
|
export const subtitleResolutions = {
|
||||||
'0': 'None',
|
'0': 'None',
|
||||||
|
|
@ -40,7 +40,7 @@ export const subtitleResolutions = {
|
||||||
'1080': '1080p',
|
'1080': '1080p',
|
||||||
'720': '720p',
|
'720': '720p',
|
||||||
'480': '480p'
|
'480': '480p'
|
||||||
}
|
} as const
|
||||||
|
|
||||||
export const videoResolutions = {
|
export const videoResolutions = {
|
||||||
'2160': '2160p',
|
'2160': '2160p',
|
||||||
|
|
@ -48,10 +48,10 @@ export const videoResolutions = {
|
||||||
'720': '720p',
|
'720': '720p',
|
||||||
'480': '480p',
|
'480': '480p',
|
||||||
'': 'Any'
|
'': 'Any'
|
||||||
}
|
} as const
|
||||||
|
|
||||||
export const lookupPreferences = {
|
export const lookupPreferences = {
|
||||||
quality: 'Quality',
|
quality: 'Quality',
|
||||||
size: 'Size',
|
size: 'Size',
|
||||||
seeders: 'Availability'
|
seeders: 'Availability'
|
||||||
}
|
} as const
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
<Table.Cell>{(progress * 100).toFixed(1)}%</Table.Cell>
|
<Table.Cell>{(progress * 100).toFixed(1)}%</Table.Cell>
|
||||||
<Table.Cell>{fastPrettyBytes(size)}</Table.Cell>
|
<Table.Cell>{fastPrettyBytes(size)}</Table.Cell>
|
||||||
<Table.Cell>{fastPrettyBytes(size * progress)}</Table.Cell>
|
<Table.Cell>{fastPrettyBytes(size * progress)}</Table.Cell>
|
||||||
<Table.Cell>{fastPrettyBits(down)}/s</Table.Cell>
|
<Table.Cell>{fastPrettyBits(down * 8)}/s</Table.Cell>
|
||||||
<Table.Cell>{fastPrettyBits(up)}/s</Table.Cell>
|
<Table.Cell>{fastPrettyBits(up * 8)}/s</Table.Cell>
|
||||||
<Table.Cell>{_eta(new Date(Date.now() + eta * 1000))}</Table.Cell>
|
<Table.Cell>{_eta(new Date(Date.now() + eta)) ?? 'Done'}</Table.Cell>
|
||||||
<Table.Cell>{seeders}<span class='text-muted-foreground'>/{peers}</span></Table.Cell>
|
<Table.Cell>{seeders}<span class='text-muted-foreground'>/{peers}</span></Table.Cell>
|
||||||
<Table.Cell>{leechers}<span class='text-muted-foreground'>/{peers}</span></Table.Cell>
|
<Table.Cell>{leechers}<span class='text-muted-foreground'>/{peers}</span></Table.Cell>
|
||||||
</Table.Row>
|
</Table.Row>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue