forked from Sync/hugo-theme-stack
refactor: delete color.ts
This commit is contained in:
parent
de08e29b00
commit
b63e6a9c62
@ -1,63 +0,0 @@
|
|||||||
interface colorScheme {
|
|
||||||
hash: string, /// Regenerate color scheme when the image hash is changed
|
|
||||||
DarkMuted: {
|
|
||||||
hex: string,
|
|
||||||
rgb: Number[],
|
|
||||||
bodyTextColor: string
|
|
||||||
},
|
|
||||||
Vibrant: {
|
|
||||||
hex: string,
|
|
||||||
rgb: Number[],
|
|
||||||
bodyTextColor: string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let colorsCache: { [key: string]: colorScheme } = {};
|
|
||||||
|
|
||||||
if (localStorage.hasOwnProperty('StackColorsCache')) {
|
|
||||||
try {
|
|
||||||
colorsCache = JSON.parse(localStorage.getItem('StackColorsCache'));
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
colorsCache = {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function getColor(key: string, hash: string, imageURL: string) {
|
|
||||||
if (!key) {
|
|
||||||
/**
|
|
||||||
* If no key is provided, do not cache the result
|
|
||||||
*/
|
|
||||||
return await Vibrant.from(imageURL).getPalette();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!colorsCache.hasOwnProperty(key) || colorsCache[key].hash !== hash) {
|
|
||||||
/**
|
|
||||||
* If key is provided, but not found in cache, or the hash mismatches => Regenerate color scheme
|
|
||||||
*/
|
|
||||||
const palette = await Vibrant.from(imageURL).getPalette();
|
|
||||||
|
|
||||||
colorsCache[key] = {
|
|
||||||
hash: hash,
|
|
||||||
Vibrant: {
|
|
||||||
hex: palette.Vibrant.hex,
|
|
||||||
rgb: palette.Vibrant.rgb,
|
|
||||||
bodyTextColor: palette.Vibrant.bodyTextColor
|
|
||||||
},
|
|
||||||
DarkMuted: {
|
|
||||||
hex: palette.DarkMuted.hex,
|
|
||||||
rgb: palette.DarkMuted.rgb,
|
|
||||||
bodyTextColor: palette.DarkMuted.bodyTextColor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Save the result in localStorage */
|
|
||||||
localStorage.setItem('StackColorsCache', JSON.stringify(colorsCache));
|
|
||||||
}
|
|
||||||
|
|
||||||
return colorsCache[key];
|
|
||||||
}
|
|
||||||
|
|
||||||
export {
|
|
||||||
getColor
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user