Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 1x 2x 2x 2x 16x 16x 2x 2x 6x 6x 2x 1x 2x 2x 2x | import {useMemo} from 'react' const convertStringToHex = str => { let hash = 0 Iif (str.length === 0) { return } for (let i = 0; i < str.length; i++) { hash = str.charCodeAt(i) + ((hash << 5) - hash) hash = hash & hash } let color = '#' for (let j = 0; j < 3; j++) { const value = (hash >> (j * 8)) & 255 color += ('00' + value.toString(16)).substr(-2) } return color } const useBackgroundColor = ({name, backgroundColor}) => { return useMemo(() => { Iif (backgroundColor) return backgroundColor return name ? convertStringToHex(name) : undefined }, [name, backgroundColor]) } export default useBackgroundColor |