Improved player position resuming and fix chapters on TV
This commit is contained in:
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "us.materialio.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 134
|
||||
versionName "1.9.17"
|
||||
versionCode 135
|
||||
versionName "1.9.18"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
@@ -69,7 +69,11 @@
|
||||
|
||||
|
||||
|
||||
<release version="1.9.17" date="2025-6-25">
|
||||
|
||||
<release version="1.9.18" date="2025-6-25">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.9.18</url>
|
||||
</release>
|
||||
<release version="1.9.17" date="2025-6-25">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.9.17</url>
|
||||
</release>
|
||||
<release version="1.9.16" date="2025-6-24">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.9.17",
|
||||
"version": "1.9.18",
|
||||
"description": "Modern material design for Invidious.",
|
||||
"author": {
|
||||
"name": "Ward Pearce",
|
||||
@@ -44,4 +44,4 @@
|
||||
"capacitor",
|
||||
"electron"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "materialious",
|
||||
"version": "1.9.17",
|
||||
"version": "1.9.18",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
|
||||
@@ -378,9 +378,7 @@
|
||||
dashUrl += '?local=true';
|
||||
}
|
||||
|
||||
await player.load(dashUrl);
|
||||
|
||||
await loadPlayerPos();
|
||||
await player.load(dashUrl, await getLastPlayPos());
|
||||
} else {
|
||||
if (data.video.fallbackPatch === 'youtubejs') {
|
||||
await player.load(data.video.dashUrl);
|
||||
@@ -650,8 +648,8 @@
|
||||
}
|
||||
});
|
||||
|
||||
async function loadPlayerPos() {
|
||||
if (loadTimeFromUrl($page)) return;
|
||||
async function getLastPlayPos(): Promise<number> {
|
||||
if (loadTimeFromUrl($page)) return 0;
|
||||
|
||||
let toSetTime = 0;
|
||||
|
||||
@@ -670,7 +668,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
if (toSetTime > 0 && playerElement) playerElement.currentTime = toSetTime;
|
||||
return toSetTime;
|
||||
}
|
||||
|
||||
function savePlayerPos() {
|
||||
|
||||
@@ -111,22 +111,24 @@
|
||||
<h5 style="margin-bottom: 0;">{$_('player.chapters')}</h5>
|
||||
<div class="grid">
|
||||
{#each data.content.timestamps as timestamp}
|
||||
<article
|
||||
role="presentation"
|
||||
style="cursor: pointer;"
|
||||
onclick={() => {
|
||||
if (playerElement) playerElement.currentTime = timestamp.time;
|
||||
}}
|
||||
>
|
||||
<div style="white-space: pre-line; overflow-wrap: break-word;text-align: center;">
|
||||
<p style="no-margin no-padding">{timestamp.title}</p>
|
||||
<span
|
||||
class:primary={playerCurrentTime >= timestamp.time &&
|
||||
(playerCurrentTime <= timestamp.endTime || timestamp.endTime === -1)}
|
||||
class="chip no-margin">{timestamp.timePretty}</span
|
||||
>
|
||||
</div>
|
||||
</article>
|
||||
<ContentColumn>
|
||||
<article
|
||||
role="presentation"
|
||||
style="cursor: pointer;"
|
||||
onclick={() => {
|
||||
if (playerElement) playerElement.currentTime = timestamp.time;
|
||||
}}
|
||||
>
|
||||
<div style="white-space: pre-line; overflow-wrap: break-word;text-align: center;">
|
||||
<p style="no-margin no-padding">{timestamp.title}</p>
|
||||
<span
|
||||
class:primary={playerCurrentTime >= timestamp.time &&
|
||||
(playerCurrentTime <= timestamp.endTime || timestamp.endTime === -1)}
|
||||
class="chip no-margin">{timestamp.timePretty}</span
|
||||
>
|
||||
</div>
|
||||
</article>
|
||||
</ContentColumn>
|
||||
{/each}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import os
|
||||
import re
|
||||
from datetime import datetime
|
||||
|
||||
LATEST_VERSION = "1.9.17"
|
||||
LATEST_VERSION = "1.9.18"
|
||||
RELEASE_DATE = datetime.now().strftime("%Y-%-m-%d") # Format: YYYY-M-D
|
||||
|
||||
WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious")
|
||||
|
||||
Reference in New Issue
Block a user