From 744b0c1db8732a0d0bf5e5873198f0f0d89c1cab Mon Sep 17 00:00:00 2001 From: WardPearce Date: Thu, 22 Jan 2026 14:49:01 +1300 Subject: [PATCH] Improved mobile support for player --- materialious/src/lib/components/Player.svelte | 5 +++-- materialious/src/lib/misc.ts | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index d9f632db..5a3f2b8f 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -58,6 +58,7 @@ import { Network, type ConnectionStatus } from '@capacitor/network'; import { fade } from 'svelte/transition'; import { addToast } from './Toast.svelte'; + import { isMobile } from '$lib/misc'; interface Props { data: { video: VideoPlay; content: PhasedDescription; playlistId: string | null }; @@ -1075,7 +1076,7 @@ ) { seekDirection = undefined; - if (Capacitor.getPlatform() === 'android') { + if (isMobile()) { const initalControlsState = showControls.valueOf(); if (playerAndroidUITimeout) { @@ -1311,7 +1312,7 @@ {/if} - {#if Capacitor.getPlatform() !== 'android'} + {#if !isMobile()}
0; + const isSmallScreen = window.innerWidth < 768; + const isUserAgentMobile = + /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent); + + return ( + (hasTouchSupport && isSmallScreen && isUserAgentMobile) || Capacitor.getPlatform() === 'android' + ); +} + export function isVideoID(videoId: string): boolean { const regExp = /^[a-zA-Z0-9_-]{11}$/; return regExp.test(videoId);