mirror of
https://github.com/BrenBroZAYT/dashy.git
synced 2026-06-14 00:49:58 +00:00
28 lines
960 B
JavaScript
28 lines
960 B
JavaScript
import { hideFurnitureOn } from '@/utils/defaults';
|
|
|
|
/* Returns false if page furniture should be hidden on said route */
|
|
export const shouldBeVisible = (routeName) => !hideFurnitureOn.includes(routeName);
|
|
|
|
/* Very rudimentary hash function for generative icons */
|
|
export const asciiHash = (input) => {
|
|
const str = (!input || input.length === 0) ? Math.random().toString() : input;
|
|
const reducer = (previousHash, char) => (previousHash || 0) + char.charCodeAt(0);
|
|
const asciiSum = str.split('').reduce(reducer).toString();
|
|
const shortened = asciiSum.slice(0, 30) + asciiSum.slice(asciiSum.length - 30);
|
|
return window.btoa(shortened);
|
|
};
|
|
|
|
/* Encode potentially malicious characters from string */
|
|
export const sanitize = (string) => {
|
|
const map = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
"'": ''',
|
|
'/': '/',
|
|
};
|
|
const reg = /[&<>"'/]/ig;
|
|
return string.replace(reg, (match) => (map[match]));
|
|
};
|