updated plugin AudioIgniter version 1.9.0
This commit is contained in:
@ -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;
|
||||
@ -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;
|
||||
Reference in New Issue
Block a user