@ -1,7 +1,7 @@
// ==UserScript==
// @name PNGExtraEmbed
// @namespace https://coom.tech/
// @version 0.250
// @version 0.254
// @description uhh
// @author You
// @match https://boards.4channel.org/*
@ -87,7 +87,7 @@ const _DOMParser = DOMParser;
var define_BUILD_VERSION_default ;
var init_define_BUILD_VERSION = __ esm ( {
"<define:BUILD_VERSION>" ( ) {
define_BUILD_VERSION_default = [ 0 , 250 ] ;
define_BUILD_VERSION_default = [ 0 , 254 ] ;
}
} ) ;
@ -16225,10 +16225,11 @@ const _DOMParser = DOMParser;
const dims = [ ~ ~ ( iw * scale ) , ~ ~ ( ih * scale ) ] ;
can . width = dims [ 0 ] ;
can . height = dims [ 1 ] ;
const ctx = can . getContext ( "2d" ) ;
const ctx = can . getContext ( "bitmaprenderer" ) ;
const bmp = await createImageBitmap ( source , { resizeHeight : dims [ 1 ] , resizeWidth : dims [ 0 ] , resizeQuality : "high" } ) ;
if ( ! ctx )
return import_buffer2 . Buffer . alloc ( 0 ) ;
ctx . drawImage ( source , 0 , 0 , dims [ 0 ] , dims [ 1 ] ) ;
ctx ? . transferFromImageBitmap ( bmp ) ;
const blob = await new Promise ( ( _ ) => can . toBlob ( _ ) ) ;
if ( ! blob )
return import_buffer2 . Buffer . alloc ( 0 ) ;
@ -16633,7 +16634,7 @@ const _DOMParser = DOMParser;
return true ;
if ( buff . slice ( 4 , 4 + CUM6 . length ) . equals ( CUM6 ) ) {
const passed = buff . slice ( 4 + CUM6 . length ) . toString ( ) ;
return ! ! passed . match ( /[0-9a-zA-Z+/]+/g ) ;
return ! ! passed . match ( /^ [0-9a-zA-Z+/= ]+$ /g ) ;
}
break ;
case "IDAT" :
@ -18625,7 +18626,7 @@ const _DOMParser = DOMParser;
}
let { inhibitExpand = false } = $$props ;
async function bepis ( ev ) {
dispatch2 ( "click" ) ;
dispatch2 ( "click" , ev ) ;
if ( inhibitExpand )
return ;
if ( $appState . isCatalog )
@ -18882,21 +18883,21 @@ const _DOMParser = DOMParser;
}
function get_each_context ( ctx , list , i ) {
const child_ctx = ctx . slice ( ) ;
child_ctx [ 9 ] = list [ i ] ;
child_ctx [ 10 ] = list [ i ] ;
return child_ctx ;
}
function get_each_context_1 ( ctx , list , i ) {
const child_ctx = ctx . slice ( ) ;
child_ctx [ 12 ] = list [ i ] ;
child_ctx [ 13 ] = list [ i ] ;
return child_ctx ;
}
function create_each_block_1 ( ctx ) {
let tag ;
let current ;
function toggle_handler ( ) {
return ctx [ 6 ] ( ctx [ 12 ] ) ;
return ctx [ 7 ] ( ctx [ 13 ] ) ;
}
tag = new Tag_default ( { props : { tag : ctx [ 12 ] } } ) ;
tag = new Tag_default ( { props : { tag : ctx [ 13 ] } } ) ;
tag . $on ( "toggle" , toggle_handler ) ;
return {
c ( ) {
@ -18910,7 +18911,7 @@ const _DOMParser = DOMParser;
ctx = new_ctx ;
const tag_changes = { } ;
if ( dirty & 1 )
tag_changes . tag = ctx [ 12 ] ;
tag_changes . tag = ctx [ 13 ] ;
tag . $set ( tag_changes ) ;
} ,
i ( local ) {
@ -18934,7 +18935,7 @@ const _DOMParser = DOMParser;
let each_1_lookup = /* @__PURE__ */ new Map ( ) ;
let current ;
let each_value = ctx [ 2 ] ;
const get_key = ( ctx2 ) => ctx2 [ 9 ] [ 0 ] ;
const get_key = ( ctx2 ) => ctx2 [ 10 ] [ 0 ] ;
for ( let i = 0 ; i < each_value . length ; i += 1 ) {
let child_ctx = get_each_context ( ctx , each_value , i ) ;
let key = get_key ( child_ctx ) ;
@ -18956,7 +18957,7 @@ const _DOMParser = DOMParser;
current = true ;
} ,
p ( ctx2 , dirty ) {
if ( dirty & 4 ) {
if ( dirty & 36 ) {
each_value = ctx2 [ 2 ] ;
group_outros ( ) ;
each_blocks = update_keyed_each ( each_blocks , dirty , get_key , 1 , ctx2 , each_value , each_1_lookup , div , outro_and_destroy_block , create_each_block , null , get_each_context ) ;
@ -19008,14 +19009,14 @@ const _DOMParser = DOMParser;
let first ;
let embedding ;
let current ;
function click_handler2 ( ) {
return ctx [ 7 ] ( ctx [ 9 ] ) ;
function click_handler2 ( ... args ) {
return ctx [ 8 ] ( ctx [ 10 ] , ... args ) ;
}
embedding = new Embedding_default ( {
props : {
inhibitExpand : true ,
id : "only" ,
file : ctx [ 9 ] [ 1 ]
file : ctx [ 10 ] [ 1 ]
}
} ) ;
embedding . $on ( "click" , click_handler2 ) ;
@ -19036,7 +19037,7 @@ const _DOMParser = DOMParser;
ctx = new_ctx ;
const embedding_changes = { } ;
if ( dirty & 4 )
embedding_changes . file = ctx [ 9 ] [ 1 ] ;
embedding_changes . file = ctx [ 10 ] [ 1 ] ;
embedding . $set ( embedding_changes ) ;
} ,
i ( local ) {
@ -19123,7 +19124,7 @@ const _DOMParser = DOMParser;
if_blocks [ current_block_type_index ] . m ( div1 , null ) ;
current = true ;
if ( ! mounted ) {
dispose = listen ( input , "keydown" , ctx [ 5 ] ) ;
dispose = listen ( input , "keydown" , ctx [ 6 ] ) ;
mounted = true ;
}
} ,
@ -19199,7 +19200,7 @@ const _DOMParser = DOMParser;
}
function instance8 ( $$self , $$props , $$invalidate ) {
let $appState ;
component_subscribe ( $$self , appState , ( $$value ) => $$invalidate ( 8 , $appState = $$value ) ) ;
component_subscribe ( $$self , appState , ( $$value ) => $$invalidate ( 9 , $appState = $$value ) ) ;
let tags = [ ] ;
let loading = false ;
function removeTag ( t ) {
@ -19225,6 +19226,11 @@ const _DOMParser = DOMParser;
onMount ( ( ) => {
return update2 ( ) ;
} ) ;
const handleEv = ( ev , ef ) => {
if ( ev . detail . button == 0 ) {
return addToEmbeds ( ef ) ;
}
} ;
const keydown_handler = ( ev ) => {
if ( ev . key == "Enter" ) {
if ( ev . currentTarget . value )
@ -19234,13 +19240,14 @@ const _DOMParser = DOMParser;
}
} ;
const toggle_handler = ( tag ) => removeTag ( tag ) ;
const click_handler2 = ( map ) => addToEmbeds ( map [ 1 ] ) ;
const click_handler2 = ( map , ev ) => handleEv ( ev , map [ 1 ] ) ;
return [
tags ,
loading ,
maps ,
removeTag ,
update2 ,
handleEv ,
keydown_handler ,
toggle_handler ,
click_handler2
@ -23345,11 +23352,11 @@ const _DOMParser = DOMParser;
getFilename : ( post ) => {
const a = post . querySelector ( 'a[target="_blank"]' ) ;
const origlink = post . querySelector ( '.file-info > a[target*="_blank"]' ) ;
return ( origlink . querySelector ( ".fnfull" ) || origlink ) ? . textContent || "" ;
return ( origlink ? . querySelector ( ".fnfull" ) || origlink ) ? . textContent || V4chan . getFilename ( post ) || "" ;
} ,
getMD5 : ( post ) => post . querySelector ( "img[data-md5]" ) ? . getAttribute ( "data-md5" ) || "" ,
getThumbnailLink : ( post ) => post . querySelector ( "img[data-md5]" ) ? . getAttribute ( "src" ) || "" ,
getInfoBox : ( post ) => post . querySelector ( "span.file-info" ) ,
getInfoBox : ( post ) => post . querySelector ( "span.file-info" ) || V4chan . getInfoBox ( post ) ,
getPostIdPrefix : V4chan . getPostIdPrefix ,
getTextBox : V4chan . getTextBox ,
getCurrentBoard : V4chan . getCurrentBoard ,