aboutsummaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2024-01-01 07:31:02 +0300
committerRblSb <msrblsb@gmail.com>2024-01-01 07:31:02 +0300
commitc9b920cea600b5fbe84ad7ab0b279275243faacb (patch)
treefada67761c471fc461402135a8688e7961d08de7 /src/client
parent0d1fd0f960a64252638eb94f079c0e7747792b95 (diff)
Flashback time per item, improve webm/webp support
Diffstat (limited to 'src/client')
-rw-r--r--src/client/Main.hx6
-rw-r--r--src/client/Player.hx19
2 files changed, 13 insertions, 12 deletions
diff --git a/src/client/Main.hx b/src/client/Main.hx
index 69450d9..b1e0eb6 100644
--- a/src/client/Main.hx
+++ b/src/client/Main.hx
@@ -720,7 +720,8 @@ class Main {
});
}
for (emote in config.emotes) {
- final tag = emote.image.endsWith("mp4") ? 'video autoplay="" loop="" muted=""' : "img";
+ final isVideoExt = emote.image.endsWith("mp4") || emote.image.endsWith("webm");
+ final tag = isVideoExt ? 'video autoplay="" loop="" muted=""' : "img";
filters.push({
regex: new EReg("(^| )" + escapeRegExp(emote.name) + "(?!\\S)", "g"),
replace: '$1<$tag class="channel-emote" src="${emote.image}" title="${emote.name}"/>'
@@ -739,7 +740,8 @@ class Main {
}
smilesList.textContent = "";
for (emote in config.emotes) {
- final tag = emote.image.endsWith("mp4") ? "video" : "img";
+ final isVideoExt = emote.image.endsWith("mp4") || emote.image.endsWith("webm");
+ final tag = isVideoExt ? "video" : "img";
final el = document.createElement(tag);
el.className = "smile-preview";
el.dataset.src = emote.image;
diff --git a/src/client/Player.hx b/src/client/Player.hx
index 6113c07..75b44b5 100644
--- a/src/client/Player.hx
+++ b/src/client/Player.hx
@@ -92,7 +92,7 @@ class Player {
function setPlayer(newPlayer:IPlayer):Void {
if (player != newPlayer) {
if (player != null) {
- JsApi.fireVideoRemoveEvents(videoList.getCurrentItem());
+ JsApi.fireVideoRemoveEvents(videoList.currentItem);
player.removeVideo();
}
main.blinkTabWithTitle("*Video*");
@@ -139,7 +139,7 @@ class Player {
public function changeVideoSrc(src:String):Void {
if (!main.isVideoEnabled) return;
if (player == null) return;
- final item = videoList.getCurrentItem() ?? return;
+ final item = videoList.currentItem ?? return;
player.loadVideo({
url: src,
title: item.title,
@@ -152,7 +152,7 @@ class Player {
}
public function removeVideo():Void {
- JsApi.fireVideoRemoveEvents(videoList.getCurrentItem());
+ JsApi.fireVideoRemoveEvents(videoList.currentItem);
player.removeVideo();
ge("#currenttitle").textContent = Lang.get("nothingPlaying");
setPauseIndicator(true);
@@ -278,7 +278,7 @@ class Player {
var index = videoList.findIndex(item -> item.url == url);
if (index == -1) return;
- final isCurrent = videoList.getCurrentItem().url == url;
+ final isCurrent = videoList.currentItem.url == url;
videoList.removeItem(index);
updateCounters();
@@ -301,7 +301,7 @@ class Player {
if (pos == -1) return;
removeActiveLabel(videoList.pos);
videoList.setPos(pos);
- if (videoList.getCurrentItem().isTemp) removeElementItem(url);
+ if (videoList.currentItem.isTemp) removeElementItem(url);
videoList.skipItem();
updateCounters();
if (videoList.length == 0) return;
@@ -332,15 +332,14 @@ class Player {
}
public function setItems(list:Array<VideoItem>, ?pos:Int):Void {
- final currentUrl = videoList.pos >= videoList.length ? "" : videoList.getCurrentItem()
- .url;
+ final currentUrl = videoList.pos >= videoList.length ? "" : videoList.currentItem.url;
clearItems();
if (list.length == 0) return;
for (video in list) {
addVideoItem(video, true);
}
if (pos != null) videoList.setPos(pos);
- if (currentUrl != videoList.getCurrentItem().url) setVideo(videoList.pos);
+ if (currentUrl != videoList.currentItem.url) setVideo(videoList.pos);
else addActiveLabel(videoList.pos);
}
@@ -401,7 +400,7 @@ class Player {
public function getDuration():Float {
if (videoList.pos >= videoList.length) return 0;
- return videoList.getCurrentItem().duration;
+ return videoList.currentItem.duration;
}
public function isVideoLoaded():Bool {
@@ -451,7 +450,7 @@ class Player {
}
public function skipAd():Void {
- final item = videoList.getCurrentItem() ?? return;
+ final item = videoList.currentItem ?? return;
if (!youtube.isSupportedLink(item.url)) return;
final id = youtube.extractVideoId(item.url);
final url = 'https://sponsor.ajay.app/api/skipSegments?videoID=$id';
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage