diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6782e9d8e..f61e32b6f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v5
+ uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
diff --git a/.github/workflows/pages_cleanup.yml b/.github/workflows/pages_cleanup.yml
index 2147b25d6..ef4f1db25 100644
--- a/.github/workflows/pages_cleanup.yml
+++ b/.github/workflows/pages_cleanup.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v5
+ uses: actions/checkout@v6
with:
ref: gh-pages
fetch-depth: 0
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index afbf92001..ce392e134 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -9,8 +9,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v5
- - name: Install NPM dependencies
+ uses: actions/checkout@v6
+ - name: Install pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 10
+ run_install: false
+ - name: Install dependencies
run: pnpm install
- name: Build
env:
@@ -19,7 +24,7 @@ jobs:
- name: Zip build artifact
run: zip -r stremio-web.zip ./build
- name: Upload build artifact to GitHub release assets
- uses: svenstaro/upload-release-action@2.11.2
+ uses: svenstaro/upload-release-action@2.11.3
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: stremio-web.zip
diff --git a/package.json b/package.json
index 284696840..e8655f8d4 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "stremio",
"displayName": "Stremio",
- "version": "5.0.0-beta.27",
+ "version": "5.0.0-beta.29",
"author": "Smart Code OOD",
"private": true,
"license": "gpl-2.0",
@@ -17,8 +17,8 @@
"@babel/runtime": "7.26.0",
"@sentry/browser": "8.42.0",
"@stremio/stremio-colors": "5.2.0",
- "@stremio/stremio-core-web": "0.50.0",
- "@stremio/stremio-icons": "5.7.1",
+ "@stremio/stremio-core-web": "0.51.1",
+ "@stremio/stremio-icons": "5.8.0",
"@stremio/stremio-video": "0.0.64",
"a-color-picker": "1.2.1",
"bowser": "2.11.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3f0659a55..d2a4883e5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -18,11 +18,11 @@ importers:
specifier: 5.2.0
version: 5.2.0
'@stremio/stremio-core-web':
- specifier: 0.50.0
- version: 0.50.0
+ specifier: 0.51.1
+ version: 0.51.1
'@stremio/stremio-icons':
- specifier: 5.7.1
- version: 5.7.1
+ specifier: 5.8.0
+ version: 5.8.0
'@stremio/stremio-video':
specifier: 0.0.64
version: 0.0.64
@@ -1302,11 +1302,11 @@ packages:
'@stremio/stremio-colors@5.2.0':
resolution: {integrity: sha512-dYlPgu9W/H7c9s1zmW5tiDnRenaUa4Hg1QCyOg1lhOcgSfM/bVTi5nnqX+IfvGTTUNA0zgzh8hI3o3miwnZxTg==}
- '@stremio/stremio-core-web@0.50.0':
- resolution: {integrity: sha512-SRE9nStgYNbhjJAw7mXfmM0wdnSLS4GMSJsSMTXvoGxnUgd+yisJUkN/9Sughe4t2IU7Uct8QWpdx9zFdlil+g==}
+ '@stremio/stremio-core-web@0.51.1':
+ resolution: {integrity: sha512-BD8i6zkDdMPeCyH50Bb7SB8r4nYx4eJwz4kLEJEl0PFjdr0gOmwHtEIgNa89ShJLNXUjPnpv4sVSNxFRG8fb5Q==}
- '@stremio/stremio-icons@5.7.1':
- resolution: {integrity: sha512-Z96p36LLX3G+ewMnFKmNZVsO/AtcHA33WQ3wGOYFubxiYADPRAkcLVU5rHIfiGSC9IUaUVhxQWTPVB9ScY4Q5Q==}
+ '@stremio/stremio-icons@5.8.0':
+ resolution: {integrity: sha512-IVUvQbIWfA4YEHCTed7v/sdQJCJ+OOCf84LTWpkE2W6GLQ+15WHcMEJrVkE1X3ekYJnGg3GjT0KLO6tKSU0P4w==}
'@stremio/stremio-video@0.0.64':
resolution: {integrity: sha512-29w/lwU8BB6ai8LUyCnpRc2F9kPf7cpys40NCobt70MqBP/UqvYISsrnD/ijoBwvtpKdZ6ptv5h9BbDj6rrerw==}
@@ -6561,11 +6561,11 @@ snapshots:
'@stremio/stremio-colors@5.2.0': {}
- '@stremio/stremio-core-web@0.50.0':
+ '@stremio/stremio-core-web@0.51.1':
dependencies:
'@babel/runtime': 7.24.1
- '@stremio/stremio-icons@5.7.1': {}
+ '@stremio/stremio-icons@5.8.0': {}
'@stremio/stremio-video@0.0.64':
dependencies:
diff --git a/src/App/styles.less b/src/App/styles.less
index adce0ae5c..ae6555500 100644
--- a/src/App/styles.less
+++ b/src/App/styles.less
@@ -48,7 +48,7 @@
--color-x: #000000;
--color-reddit: #FF4500;
--color-imdb: #f5c518;
- --color-trakt: #ED2224;
+ --color-trakt: rgb(255, 255, 255);
--color-placeholder: #60606080;
--color-placeholder-text: @color-surface-50;
--color-placeholder-background: @color-surface-dark5-20;
diff --git a/src/common/Toast/ToastItem/styles.less b/src/common/Toast/ToastItem/styles.less
index 56f535695..075edeea5 100644
--- a/src/common/Toast/ToastItem/styles.less
+++ b/src/common/Toast/ToastItem/styles.less
@@ -27,7 +27,7 @@
&.error {
.icon-container {
.icon {
- color: var(--color-trakt);
+ color: var(--danger-accent-color);
}
}
}
diff --git a/src/components/ActionsGroup/ActionsGroup.less b/src/components/ActionsGroup/ActionsGroup.less
index 25e1b90c0..09e903435 100644
--- a/src/components/ActionsGroup/ActionsGroup.less
+++ b/src/components/ActionsGroup/ActionsGroup.less
@@ -17,6 +17,7 @@
border-radius: 2rem;
height: @height;
width: fit-content;
+ backdrop-filter: blur(5px);
.icon-container {
display: flex;
diff --git a/src/components/Checkbox/Checkbox.less b/src/components/Checkbox/Checkbox.less
index 9276990b3..a9df8ea9e 100644
--- a/src/components/Checkbox/Checkbox.less
+++ b/src/components/Checkbox/Checkbox.less
@@ -70,7 +70,7 @@
}
&.error {
- border-color: var(--color-trakt);
+ border-color: var(--danger-accent-color);
}
&.checked {
diff --git a/src/components/MetaPreview/MetaLinks/MetaLinks.js b/src/components/MetaPreview/MetaLinks/MetaLinks.js
index ce2cf341a..3be090911 100644
--- a/src/components/MetaPreview/MetaLinks/MetaLinks.js
+++ b/src/components/MetaPreview/MetaLinks/MetaLinks.js
@@ -3,18 +3,18 @@
const React = require('react');
const PropTypes = require('prop-types');
const classnames = require('classnames');
-const { useTranslation } = require('react-i18next');
const { Button } = require('stremio/components');
+const useTranslate = require('stremio/common/useTranslate');
const styles = require('./styles');
const MetaLinks = ({ className, label, links }) => {
- const { t } = useTranslation();
+ const { string, stringWithPrefix } = useTranslate();
return (
{
typeof label === 'string' && label.length > 0 ?
- {t(`LINKS_${label.toUpperCase()}`)}
+ { stringWithPrefix(label.toUpperCase(), 'LINKS') }
:
null
@@ -24,7 +24,7 @@ const MetaLinks = ({ className, label, links }) => {
{links.map(({ label, href }, index) => (
))}
diff --git a/src/components/RadioButton/RadioButton.less b/src/components/RadioButton/RadioButton.less
index 20d90bdef..69d179362 100644
--- a/src/components/RadioButton/RadioButton.less
+++ b/src/components/RadioButton/RadioButton.less
@@ -52,7 +52,7 @@
}
&.error {
- border-color: var(--color-trakt);
+ border-color: var(--danger-accent-color);
}
&.selected {
diff --git a/src/components/ShortcutsGroup/ShortcutsGroup.less b/src/components/ShortcutsGroup/ShortcutsGroup.less
index f0fdd975c..cbc08ada0 100644
--- a/src/components/ShortcutsGroup/ShortcutsGroup.less
+++ b/src/components/ShortcutsGroup/ShortcutsGroup.less
@@ -1,7 +1,7 @@
.shortcuts-group {
flex: 1 1 0;
position: relative;
- min-width: 30rem;
+ width: 30rem;
display: flex;
flex-direction: column;
gap: 2rem;
diff --git a/src/components/Slider/Slider.js b/src/components/Slider/Slider.js
index d0d4721b8..5ad113798 100644
--- a/src/components/Slider/Slider.js
+++ b/src/components/Slider/Slider.js
@@ -142,11 +142,11 @@ const Slider = ({ className, value, buffered, minimumValue, maximumValue, disabl
);
diff --git a/src/components/Video/Video.js b/src/components/Video/Video.js
index 21415153f..fe615e39f 100644
--- a/src/components/Video/Video.js
+++ b/src/components/Video/Video.js
@@ -73,15 +73,19 @@ const Video = ({ className, id, title, thumbnail, season, episode, released, upc
const blurThumbnail = profile.settings.hideSpoilers && season && episode && !watched;
React.useEffect(() => {
- selected && !watched && ref.current?.scrollIntoView({
- behavior: 'smooth',
- block: 'nearest',
- inline: 'start'
- });
+ if (selected && ref.current) {
+ if ((progress && watched) || !watched) {
+ ref.current.scrollIntoView({
+ behavior: 'smooth',
+ block: 'nearest',
+ inline: 'start'
+ });
+ }
+ }
}, [selected]);
return (
-