Skip to content

Commit ef616e1

Browse files
committed
## Update v0.8
#### This is so far the closest experience to the official app while still having the functionality and customizability of plugins and themes! - **Now uses [Stremio Web v5](https://web.stremio.com/) instead of [Stremio shell-v4.4](https://app.strem.io/shell-v4.4/). This means:** - Support for multiple audio tracks, allowing you to switch audio tracks as you would in the official app. - Subtitles menu is working more often than not now. - Access to the latest features, like the episode search bar. - **Way faster launch time:** The [StremioService.isProcessRunning()](https://github.com/REVENGE977/stremio-enhanced-community/blob/main/src/utils/StremioService.ts#L81) method was previously taking too long to execute, which has now been resolved. - **More consistent Discord Rich Presence.** - **Stremio Service can now be placed in the same directory as the app:** You can now download the [.zip archive of Stremio Service](https://github.com/Stremio/stremio-service/releases/tag/v0.1.13), extract it in the same directory as Stremio Enhanced, and it should be recognized. Previously, Stremio Service had to be installed on your system using the setup file. - **Better codebase:** Instead of embedding HTML/JS as strings in the source code, most HTML/JS components are now separate files inside ./src/components. This makes debugging and making changes much easier. - **Improved logging:** Class names are now displayed in log messages. **Notes:** - This update has only been tested on Windows. I do not currently have access to a Mac but may create a macOS Virtual Machine for testing in the near future. - Since this project now uses [Stremio Web v5](https://web.stremio.com/), this means most, if not all, previous themes and plugins are no longer compatible and will require an update. This is because in [Stremio Web v5](https://web.stremio.com/), the UI has different structure, classes and ids are different, etc. So far I've only updated [Amoled theme](https://github.com/REVENGE977/StremioAmoledTheme) and [SlashToSearch](https://github.com/REVENGE977/SlashToSearch) to work on this version. I'll work on updating [BetterEpisodeList](https://github.com/REVENGE977/BetterEpisodeList) soon.
1 parent d3df063 commit ef616e1

28 files changed

+1071
-884
lines changed

changelog.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,21 @@ This should've been part of v0.7 tbh, but I rushed the previous release for no r
5050

5151
**I am soon planning move on from https://app.strem.io/shell-v4.4/ and use https://web.stremio.com/ instead. It will take some work but it will fix the [multiple audio tracks issue](https://github.com/REVENGE977/stremio-enhanced-community/issues/3) and make this project more in-line with the newest features added to Stremio.**
5252

53-
*Note: I've only tested the update on Windows. I do not have access to a mac at the moment*
53+
*Note: I've only tested the update on Windows. I do not have access to a mac at the moment*
54+
55+
## Update v0.8
56+
#### This is so far the closest experience to the official app while still having the functionality and customizability of plugins and themes!
57+
- **Now uses [Stremio Web v5](https://web.stremio.com/) instead of [Stremio shell-v4.4](https://app.strem.io/shell-v4.4/). This means:**
58+
- Support for multiple audio tracks, allowing you to switch audio tracks as you would in the official app.
59+
- Subtitles menu is working more often than not now.
60+
- Access to the latest features, like the episode search bar.
61+
- **Way faster launch time:** The [StremioService.isProcessRunning()](https://github.com/REVENGE977/stremio-enhanced-community/blob/main/src/utils/StremioService.ts#L81) method was previously taking too long to execute, which has now been resolved.
62+
- **More consistent Discord Rich Presence.**
63+
- **Stremio Service can now be placed in the same directory as the app:** You can now download the [.zip archive of Stremio Service](https://github.com/Stremio/stremio-service/releases/tag/v0.1.13), extract it in the same directory as Stremio Enhanced, and it should be recognized. Previously, Stremio Service had to be installed on your system using the setup file.
64+
- **Better codebase:** Instead of embedding HTML/JS as strings in the source code, most HTML/JS components are now separate files inside ./src/components. This makes debugging and making changes much easier.
65+
- **Improved logging:** Class names are now displayed in log messages.
66+
67+
68+
**Notes:**
69+
- This update has only been tested on Windows. I do not currently have access to a Mac but may create a macOS Virtual Machine for testing in the near future.
70+
- Since this project now uses [Stremio Web v5](https://web.stremio.com/), this means most, if not all, previous themes and plugins are no longer compatible and will require an update. This is because in [Stremio Web v5](https://web.stremio.com/), the UI has different structure, classes and ids are different, etc. So far I've only updated [Amoled theme](https://github.com/REVENGE977/StremioAmoledTheme) and [SlashToSearch](https://github.com/REVENGE977/SlashToSearch) to work on this version. I'll work on updating [BetterEpisodeList](https://github.com/REVENGE977/BetterEpisodeList) soon.

copyComponents.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
// Copy .html and .js files from src/components/** to dist/components/**
5+
function copyFiles(srcDir, destDir) {
6+
if (!fs.existsSync(destDir)) {
7+
fs.mkdirSync(destDir, { recursive: true });
8+
}
9+
10+
const items = fs.readdirSync(srcDir);
11+
12+
items.forEach(item => {
13+
const srcPath = path.join(srcDir, item);
14+
const destPath = path.join(destDir, item);
15+
16+
const stat = fs.statSync(srcPath);
17+
18+
if (stat.isDirectory()) {
19+
copyFiles(srcPath, destPath);
20+
} else if (stat.isFile() && !srcPath.endsWith('.ts')) {
21+
fs.copyFileSync(srcPath, destPath);
22+
console.log(`Copied: ${srcPath} to ${destPath}`);
23+
}
24+
});
25+
}
26+
27+
// Copy the 'version' file from the root directory
28+
const versionFileSrc = path.join(__dirname, 'version');
29+
const versionFileDest = path.join(__dirname, 'dist', 'version');
30+
31+
if (fs.existsSync(versionFileSrc)) {
32+
fs.copyFileSync(versionFileSrc, versionFileDest);
33+
console.log(`Copied: ${versionFileSrc} to ${versionFileDest}`);
34+
} else {
35+
console.log('No version file found in the root directory.');
36+
}
37+
38+
const srcDir = 'src/components';
39+
const destDir = 'dist/components';
40+
41+
copyFiles(srcDir, destDir);

examples/amoled.theme.css

Lines changed: 7 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -2,257 +2,16 @@
22
* @name Amoled Theme
33
* @description A theme that uses amoled pitch black color.
44
* @updateUrl https://raw.githubusercontent.com/REVENGE977/StremioAmoledTheme/main/amoled.theme.css
5-
* @version 1.0.1
5+
* @version 1.0.3
66
* @author REVENGE977
77
*/
88

9-
body {
10-
background-image: -webkit-linear-gradient(45deg, #000000, #000000);
11-
background-image: -moz-linear-gradient(45deg, #000000, #000000);
12-
background-image: -o-linear-gradient(45deg, #000000, #000000);
13-
background-image: -ms-linear-gradient(45deg, #000000, #000000);
14-
background-image: linear-gradient(45deg, #000000, #000000);
9+
:root {
10+
--primary-background-color: black;
11+
--secondary-background-color: black;
12+
--modal-background-color: black;
1513
}
1614

17-
body #topbar #search-form-container #search-dropdown {
18-
background-color: black;
19-
-webkit-box-shadow: none;
20-
box-shadow: none;
21-
}
22-
23-
#window-controls #user-panel {
24-
background-color: black;
25-
-webkit-box-shadow: none;
26-
box-shadow: none;
27-
}
28-
29-
#streamReport {
30-
background-color: black;
31-
}
32-
33-
body #navbar .tab.selected .icon {
34-
color: white;
35-
}
36-
37-
.segments li.selected {
38-
background-color: rgba(255, 255, 255, 0.05);
39-
}
40-
41-
#library .items li {
42-
transition: transform .2s;
43-
}
44-
45-
#library .items li:hover {
46-
-webkit-box-shadow: none;
47-
box-shadow: none;
48-
transform: scale(1.1);
49-
}
50-
51-
52-
#discover .content .items li:hover {
53-
-webkit-box-shadow: none;
54-
box-shadow: none;
55-
transform: scale(1.1);
56-
}
57-
58-
#discover .content .items li {
59-
transition: transform .2s;
60-
}
61-
62-
#board .board-container li .board-row li:hover {
63-
transform: scale(1.1);
64-
-webkit-box-shadow: none;
65-
box-shadow: none;
66-
}
67-
68-
#board .board-container li .board-row li:focus {
69-
transform: scale(1.1);
70-
-webkit-box-shadow: none;
71-
box-shadow: none;
72-
}
73-
74-
#board .board-container li .board-row li {
75-
transition: transform .2s;
76-
}
77-
78-
#board .board-container li .board-row li:hover {
79-
transform: scale(1.1);
80-
}
81-
82-
.items .thumb > img {
83-
cursor: pointer;
84-
}
85-
86-
/* Removing all the borders that show up on hover/focus */
87-
88-
#discover .content .items li:focus {
89-
-webkit-box-shadow: none;
90-
box-shadow: none;
91-
}
92-
93-
#discover .info-box .content .details .section .links .link:focus {
94-
-webkit-box-shadow: none;
95-
box-shadow: none;
96-
}
97-
98-
#discover .info-box .content .actions .button:focus {
99-
-webkit-box-shadow: none;
100-
box-shadow: none;
101-
}
102-
103-
#library .items li:focus {
104-
-webkit-box-shadow: none;
105-
box-shadow: none;
106-
}
107-
108-
#series-calendar .selectMonth ul li:focus {
109-
-webkit-box-shadow: none;
110-
box-shadow: none;
111-
}
112-
113-
#series-calendar ul.month li.day:focus {
114-
-webkit-box-shadow: none;
115-
box-shadow: none;
116-
}
117-
118-
#board .board-container li .board-row.board-notif .board-explanation {
119-
background: none;
120-
-webkit-box-shadow: none;
121-
box-shadow: none;
122-
-webkit-user-select: none;
123-
-moz-user-select: none;
124-
-ms-user-select: none;
125-
user-select: none
126-
}
127-
128-
.settings-container .sections a:focus {
129-
box-shadow: none;
130-
}
131-
132-
.settings-container .settings-panel section .category .setting .shortcut-keys:focus {
133-
box-shadow: none;
134-
}
135-
136-
.settings-container .settings-panel a:focus {
137-
box-shadow: none;
138-
}
139-
140-
.sidebar .episodes .episodes-list li:focus {
141-
-webkit-box-shadow: none;
142-
box-shadow: none;
143-
}
144-
145-
.sidebar {
146-
background-color: black;
147-
}
148-
149-
select option {
150-
background-color: black;
151-
}
152-
153-
select:focus {
154-
-webkit-box-shadow: none;
155-
box-shadow: none;
156-
}
157-
158-
.custom-select:focus {
159-
-webkit-box-shadow: none;
160-
box-shadow: none;
161-
}
162-
163-
.segments li:focus {
164-
-webkit-box-shadow: none;
165-
box-shadow: none;
166-
}
167-
168-
input[type=checkbox]:focus {
169-
-webkit-box-shadow: none;
170-
box-shadow: none;
171-
}
172-
173-
.sidebar .episodes .episodes-list li:focus {
174-
-webkit-box-shadow: none;
175-
box-shadow: none;
176-
}
177-
178-
.sidebar .details .section .links .link:focus {
179-
-webkit-box-shadow: none;
180-
box-shadow: none;
181-
}
182-
183-
.streams-container .streams .stream:focus {
184-
box-shadow: none;
185-
}
186-
187-
.binge-group .buttons .button:focus {
188-
box-shadow: none;
189-
}
190-
191-
#detail .content .details .section .links .link:focus {
192-
-webkit-box-shadow: none;
193-
box-shadow: none;
194-
}
195-
196-
#addonPromptModal .buttons .button:focus {
197-
-webkit-box-shadow: none;
198-
box-shadow: none;
199-
}
200-
201-
#addonsCatalog .options .addon-search:focus {
202-
-webkit-box-shadow: none;
203-
box-shadow: none;
204-
}
205-
206-
.addon:focus {
207-
-webkit-box-shadow: none;
208-
box-shadow: none;
209-
}
210-
211-
.addon .buttons .remove:hover {
212-
-webkit-box-shadow: none;
213-
box-shadow: none;
214-
}
215-
216-
.button-b:hover:not([disabled]),
217-
.button-s:hover:not([disabled]) {
218-
background-color: rgb(10, 10, 10);
219-
-webkit-box-shadow: none;
220-
box-shadow: none;
221-
}
222-
223-
.button-b:focus:not([disabled]),
224-
.button-s:focus:not([disabled]) {
225-
background-color: rgb(10, 10, 10);
226-
-webkit-box-shadow: none;
227-
box-shadow: none;
228-
}
229-
230-
#detail .content .action-buttons .button-b:hover {
231-
-webkit-box-shadow: none;
232-
box-shadow: none;
233-
background-color: transparent;
234-
}
235-
236-
#addonPromptModal .modal {
237-
background-color: black;
238-
}
239-
240-
#subtitleMenu {
241-
background-color: black;
242-
}
243-
244-
#playbackSpeedMenu {
245-
background-color: black;
246-
}
247-
248-
#castingMenu {
249-
background-color: black;
250-
}
251-
252-
#controlbar .popup {
253-
background-color: black;
254-
}
255-
256-
#controlbar {
257-
background-color: black;
15+
.poster-image-NiV7O:hover{
16+
cursor:pointer;
25817
}

0 commit comments

Comments
 (0)