@@ -19,11 +19,17 @@ jobs:
|
||||
matrix:
|
||||
node-version: [latest]
|
||||
runtime:
|
||||
- linux-x64
|
||||
- win-x64
|
||||
- osx-x64
|
||||
|
||||
include:
|
||||
- runtime: linux-x64
|
||||
os: ubuntu-latest
|
||||
- runtime: osx-x64
|
||||
os: macOS-latest
|
||||
- runtime: win-x64
|
||||
os: windows-latest
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "us.materialio.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 160
|
||||
versionName "1.11.0"
|
||||
versionCode 161
|
||||
versionName "1.11.1"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
@@ -70,7 +70,11 @@
|
||||
|
||||
|
||||
|
||||
<release version="1.11.0" date="2025-11-04">
|
||||
|
||||
<release version="1.11.1" date="2025-11-05">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.11.1</url>
|
||||
</release>
|
||||
<release version="1.11.0" date="2025-11-04">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.11.0</url>
|
||||
</release>
|
||||
<release version="1.10.18" date="2025-11-02">
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.11.0",
|
||||
"version": "1.11.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "Materialious",
|
||||
"version": "1.11.0",
|
||||
"version": "1.11.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.11.0",
|
||||
"version": "1.11.1",
|
||||
"description": "Modern material design for Invidious.",
|
||||
"author": {
|
||||
"name": "Ward Pearce",
|
||||
@@ -24,7 +24,6 @@
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.0",
|
||||
"bgutils-js": "^3.2.0",
|
||||
"capacitor-nodejs": "https://github.com/hampoelz/capacitor-nodejs/releases/download/v1.0.0-beta.9/capacitor-nodejs.tgz",
|
||||
"chokidar": "~4.0.3",
|
||||
"electron-is-dev": "~2.0.0",
|
||||
"electron-serve": "~3.0.0",
|
||||
@@ -44,4 +43,4 @@
|
||||
"capacitor",
|
||||
"electron"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,4 @@
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
const CapacitorNodejs = require('../../../node_modules/capacitor-nodejs/electron/dist/plugin.js');
|
||||
|
||||
module.exports = {
|
||||
CapacitorNodejs,
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "materialious",
|
||||
"version": "1.11.0",
|
||||
"version": "1.11.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
@@ -71,4 +71,4 @@
|
||||
"svelte-persisted-store": "^0.12.0",
|
||||
"youtubei.js": "^16.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,9 +26,11 @@
|
||||
|
||||
let imgSrc = '';
|
||||
|
||||
console.log(playlist);
|
||||
|
||||
if (playlist.videos.length > 0) {
|
||||
imgSrc = getBestThumbnail(playlist.videos[0].videoThumbnails) || '';
|
||||
} else if (playlist.playlistThumbnail) {
|
||||
} else if (playlist.playlistThumbnail.length > 0) {
|
||||
imgSrc = playlist.playlistThumbnail;
|
||||
} else {
|
||||
imgSrc = '';
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
{@html description}
|
||||
</div>
|
||||
|
||||
{#if video.keywords}
|
||||
{#if video.keywords && video.keywords.length > 0}
|
||||
<article class="border">
|
||||
<nav class="scroll">
|
||||
{#each video.keywords as keyword}
|
||||
|
||||
@@ -9,19 +9,17 @@
|
||||
</script>
|
||||
|
||||
{#await returnYTDislikes then returnYTDislikes}
|
||||
<nav class="no-space">
|
||||
{#if returnYTDislikes}
|
||||
<button style="cursor: default;margin-right: 0.5em;" class="border">
|
||||
<i class="small">thumb_up</i>
|
||||
<span>{cleanNumber(returnYTDislikes.likes)}</span>
|
||||
<i class="small" style="margin-left: 0.5em;">thumb_down_alt</i>
|
||||
<span>{cleanNumber(returnYTDislikes.dislikes)}</span>
|
||||
</button>
|
||||
{:else}
|
||||
<button style="cursor: default;margin-right: 0.5em;" class="border">
|
||||
<i class="small">thumb_up</i>
|
||||
<span>{cleanNumber(video.likeCount)}</span>
|
||||
</button>
|
||||
{/if}
|
||||
</nav>
|
||||
{#if returnYTDislikes}
|
||||
<button style="cursor: default;margin-left: 0;" class="border">
|
||||
<i class="small">thumb_up</i>
|
||||
<span>{cleanNumber(returnYTDislikes.likes)}</span>
|
||||
<i class="small" style="margin-left: 0.5em;">thumb_down_alt</i>
|
||||
<span>{cleanNumber(returnYTDislikes.dislikes)}</span>
|
||||
</button>
|
||||
{:else}
|
||||
<button style="cursor: default;margin-left: 0;" class="border">
|
||||
<i class="small">thumb_up</i>
|
||||
<span>{cleanNumber(video.likeCount)}</span>
|
||||
</button>
|
||||
{/if}
|
||||
{/await}
|
||||
|
||||
@@ -29,6 +29,10 @@ button,
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.video-actions button {
|
||||
margin: 0.3em;
|
||||
}
|
||||
|
||||
nav.top {
|
||||
padding-top: calc(var(--safe-area-inset-top) + 1rem) !important;
|
||||
padding-bottom: 1em;
|
||||
|
||||
@@ -57,7 +57,6 @@ export const playerDefaultLanguage = persisted('defaultLanguage', 'original');
|
||||
export const playerCCByDefault = persisted('CCByDefault', false);
|
||||
export const playerDefaultPlaybackSpeed: Writable<number> = persisted('defaultPlaybackSpeed', 1);
|
||||
export const playerStatisticsByDefault = persisted('playerStatistics', false);
|
||||
|
||||
export const playerPlaylistHistory: Writable<string[]> = writable([]);
|
||||
|
||||
export const returnYtDislikesStore = persisted('returnYtDislikes', false);
|
||||
|
||||
@@ -40,7 +40,9 @@
|
||||
{#each playlists.playlists as playlist}
|
||||
<ContentColumn>
|
||||
<article class="no-padding" style="height: 100%;">
|
||||
<PlaylistThumbnail disabled={playlist.videoCount === 0} {playlist} />
|
||||
{#key playlist.playlistId}
|
||||
<PlaylistThumbnail disabled={playlist.videoCount === 0} {playlist} />
|
||||
{/key}
|
||||
|
||||
<nav class="right-align padding">
|
||||
<button
|
||||
|
||||
@@ -366,13 +366,13 @@
|
||||
<h5>{letterCase(data.video.title)}</h5>
|
||||
|
||||
<div class="grid no-padding">
|
||||
<div class="s12 m12 l5">
|
||||
<div class="s12 m12 l5" style="height: 100%;display: flex;align-items: center;">
|
||||
<Author video={data.video} bind:subscribed />
|
||||
</div>
|
||||
<div class="s12 m12 l7 video-actions">
|
||||
<LikesDislikes video={data.video} returnYTDislikes={data.streamed.returnYTDislikes} />
|
||||
|
||||
<div>
|
||||
<LikesDislikes video={data.video} returnYTDislikes={data.streamed.returnYTDislikes} />
|
||||
|
||||
<button onclick={toggleTheatreMode} class="m l" class:border={!theatreMode}>
|
||||
<i>width_wide</i>
|
||||
<div class="tooltip">{$_('player.theatreMode')}</div>
|
||||
@@ -438,7 +438,7 @@
|
||||
</menu>
|
||||
</button>
|
||||
{:else}
|
||||
<button disabled class="border no-margin">
|
||||
<button disabled class="border">
|
||||
<i>add</i>
|
||||
<div class="tooltip">
|
||||
{#if $authStore}
|
||||
@@ -467,6 +467,7 @@
|
||||
</div>
|
||||
</nav>
|
||||
</summary>
|
||||
<div class="space"></div>
|
||||
<div class="chapter-list" id="chapters">
|
||||
<ul class="list">
|
||||
{#each data.content.timestamps as timestamp}
|
||||
@@ -676,27 +677,11 @@
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.video-actions button:not(.left-round):not(.right-round) {
|
||||
margin: 0.3em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1000px) {
|
||||
.video-actions {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.video-actions > div {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
nav.group {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
nav.group button {
|
||||
border-radius: 0.5rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1646px) {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import os
|
||||
import re
|
||||
from datetime import datetime
|
||||
|
||||
LATEST_VERSION = "1.11.0"
|
||||
LATEST_VERSION = "1.11.1"
|
||||
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