updated plugin AudioIgniter version 1.9.0

This commit is contained in:
2022-08-19 16:15:57 +00:00
committed by Gitium
parent b49569de47
commit 8af91729f1
43 changed files with 6804 additions and 6000 deletions

View File

@ -0,0 +1,39 @@
/**
* Very basic local storage facade with the ability to store objects.
*
* @type {{set: playerStorage.set, get: ((function(*): (undefined))|*)}}
*/
const playerStorage = {
set: (key, value) => {
if (!key || !value) {
return;
}
if (typeof value === 'object') {
window.localStorage.setItem(key, JSON.stringify(value));
} else {
window.localStorage.setItem(key, value);
}
},
get: key => {
const value = localStorage.getItem(key);
if (!value) {
return undefined;
}
try {
const parsed = JSON.parse(value);
if (parsed && typeof parsed === 'object') {
return parsed;
}
} catch {
return value;
}
return value;
},
};
export default playerStorage;

View File

@ -0,0 +1,62 @@
/**
* @file React hook for determining the size of a component.
*
* Forked from https://github.com/rehooks/component-size.
*/
import { useCallback, useState, useLayoutEffect } from 'react';
const getSize = el => {
if (!el) {
return {
width: 0,
height: 0,
};
}
return {
width: el.offsetWidth,
height: el.offsetHeight,
};
};
const useComponentSize = ref => {
const [ComponentSize, setComponentSize] = useState(
getSize(ref ? ref.current : {}),
);
const handleResize = useCallback(() => {
if (ref.current) {
setComponentSize(getSize(ref.current));
}
}, [ref]);
useLayoutEffect(() => {
if (!ref.current) {
return undefined;
}
handleResize();
if (typeof ResizeObserver === 'function') {
// eslint-disable-next-line no-undef
let resizeObserver = new ResizeObserver(() => handleResize());
resizeObserver.observe(ref.current);
return () => {
resizeObserver.disconnect(ref.current);
resizeObserver = null;
};
}
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, [ref.current]);
return ComponentSize;
};
export default useComponentSize;