Browse Source

Fix broken audio tag

pull/46/head
coomdev 2 years ago
parent
commit
a0cbccb30e
  1. 2
      main.meta.js
  2. 15
      main.user.js
  3. 7
      src/Embedding.svelte

2
main.meta.js

@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name PNGExtraEmbed // @name PNGExtraEmbed
// @namespace https://coom.tech/ // @namespace https://coom.tech/
// @version 0.73 // @version 0.74
// @description uhh // @description uhh
// @author You // @author You
// @match https://boards.4channel.org/* // @match https://boards.4channel.org/*

15
main.user.js

@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name PNGExtraEmbed // @name PNGExtraEmbed
// @namespace https://coom.tech/ // @namespace https://coom.tech/
// @version 0.73 // @version 0.74
// @description uhh // @description uhh
// @author You // @author You
// @match https://boards.4channel.org/* // @match https://boards.4channel.org/*
@ -14098,16 +14098,19 @@
let audio; let audio;
let source; let source;
let source_src_value; let source_src_value;
let audio_src_value;
let audio_loop_value; let audio_loop_value;
let audio_alt_value; let audio_alt_value;
return { return {
c() { c() {
audio = element("audio"); audio = element("audio");
source = element("source"); source = element("source");
if (!src_url_equal(source.src, source_src_value = ctx[5])) if (!src_url_equal(source.src, source_src_value = ctx[14] || ctx[5]))
attr(source, "src", source_src_value); attr(source, "src", source_src_value);
attr(source, "type", ctx[8]); attr(source, "type", ctx[8]);
audio.controls = true; audio.controls = true;
if (!src_url_equal(audio.src, audio_src_value = ctx[14] || ctx[5]))
attr(audio, "src", audio_src_value);
audio.loop = audio_loop_value = ctx[18].loop; audio.loop = audio_loop_value = ctx[18].loop;
attr(audio, "alt", audio_alt_value = ctx[0].filename); attr(audio, "alt", audio_alt_value = ctx[0].filename);
}, },
@ -14116,12 +14119,15 @@
append(audio, source); append(audio, source);
}, },
p(ctx2, dirty) { p(ctx2, dirty) {
if (dirty[0] & 32 && !src_url_equal(source.src, source_src_value = ctx2[5])) { if (dirty[0] & 16416 && !src_url_equal(source.src, source_src_value = ctx2[14] || ctx2[5])) {
attr(source, "src", source_src_value); attr(source, "src", source_src_value);
} }
if (dirty[0] & 256) { if (dirty[0] & 256) {
attr(source, "type", ctx2[8]); attr(source, "type", ctx2[8]);
} }
if (dirty[0] & 16416 && !src_url_equal(audio.src, audio_src_value = ctx2[14] || ctx2[5])) {
attr(audio, "src", audio_src_value);
}
if (dirty[0] & 262144 && audio_loop_value !== (audio_loop_value = ctx2[18].loop)) { if (dirty[0] & 262144 && audio_loop_value !== (audio_loop_value = ctx2[18].loop)) {
audio.loop = audio_loop_value; audio.loop = audio_loop_value;
} }
@ -14367,15 +14373,12 @@
$$invalidate(5, url = URL.createObjectURL(new Blob([thumb], { type: type?.mime }))); $$invalidate(5, url = URL.createObjectURL(new Blob([thumb], { type: type?.mime })));
if (!type) { if (!type) {
$$invalidate(4, isFile = true); $$invalidate(4, isFile = true);
debugger;
return; return;
} }
$$invalidate(8, ftype = type.mime); $$invalidate(8, ftype = type.mime);
$$invalidate(1, isVideo = type.mime.startsWith("video/")); $$invalidate(1, isVideo = type.mime.startsWith("video/"));
$$invalidate(3, isAudio = type.mime.startsWith("audio/")); $$invalidate(3, isAudio = type.mime.startsWith("audio/"));
$$invalidate(2, isImage = type.mime.startsWith("image/")); $$invalidate(2, isImage = type.mime.startsWith("image/"));
if (type.mime.includes("svg"))
debugger;
if (isImage) if (isImage)
$$invalidate(6, contracted = !$settings.xpi); $$invalidate(6, contracted = !$settings.xpi);
if (isVideo) { if (isVideo) {

7
src/Embedding.svelte

@ -40,15 +40,12 @@
url = URL.createObjectURL(new Blob([thumb], { type: type?.mime })) url = URL.createObjectURL(new Blob([thumb], { type: type?.mime }))
if (!type) { if (!type) {
isFile = true isFile = true
debugger;
return; return;
} }
ftype = type.mime; ftype = type.mime;
isVideo = type.mime.startsWith('video/') isVideo = type.mime.startsWith('video/')
isAudio = type.mime.startsWith('audio/') isAudio = type.mime.startsWith('audio/')
isImage = type.mime.startsWith('image/') isImage = type.mime.startsWith('image/')
if (type.mime.includes('svg'))
debugger;
if (isImage) contracted = !$settings.xpi if (isImage) contracted = !$settings.xpi
if (isVideo) { if (isVideo) {
@ -214,8 +211,8 @@
<img bind:this={imgElem} alt={file.filename} src={furl || url} /> <img bind:this={imgElem} alt={file.filename} src={furl || url} />
{/if} {/if}
{#if isAudio} {#if isAudio}
<audio controls loop={$settings.loop} alt={file.filename}> <audio controls src={furl || url} loop={$settings.loop} alt={file.filename}>
<source src={url} type={ftype} /> <source src={furl || url} type={ftype} />
</audio> </audio>
{/if} {/if}
{#if isVideo} {#if isVideo}

Loading…
Cancel
Save