const timecolors = [ {r:147, g:147, b:147, h:0}, {r:156, g:151, b:146, h:1}, {r:166, g:155, b:145, h:2}, {r:175, g:163, b:149, h:3}, {r:201, g:177, b:153, h:4}, {r:235, g:212, b:165, h:5}, {r:249, g:230, b:176, h:6}, {r:250, g:249, b:196, h:7}, {r:248, g:255, b:208, h:8}, {r:237, g:255, b:226, h:9}, {r:239, g:255, b:242, h:10}, {r:231, g:255, b:251, h:11}, {r:220, g:249, b:255, h:12}, {r:220, g:236, b:255, h:13}, {r:224, g:219, b:254, h:14}, {r:243, g:209, b:254, h:15}, {r:247, g:190, b:236, h:16}, {r:243, g:175, b:203, h:17}, {r:234, g:163, b:183, h:18}, {r:226, g:163, b:190, h:19}, {r:206, g:160, b:200, h:20}, {r:178, g:153, b:190, h:21}, {r:159, g:152, b:178, h:22}, {r:146, g:146, b:167, h:23}] let timefunctions = { getTimeColor(string){ let date = new Date(string); let color1; let color2; let minutes; let i = 0; color1 = timecolors[i]; color2 = timecolors[i+1]; while (color1.h < date.getHours() && i+1 < timecolors.length){ i++; color1 = timecolors[i]; if (i+2 < timecolors.length) { color2 = timecolors[i+1]; } else { color2 = timecolors[0]; } } minutes = (date.getHours()-color1.h) * 60 + date.getMinutes(); let maxMinutes = color2.h == 0 ? (24 - color1.h)*60 : (color2.h - color1.h)*60 let r = (color2.r * minutes + color1.r * (maxMinutes-minutes))/maxMinutes; let g = (color2.g * minutes + color1.g * (maxMinutes-minutes))/maxMinutes; let b = (color2.r * minutes + color1.b * (maxMinutes-minutes))/maxMinutes; let color = "rgb("+r+","+g+","+b+")" return color; } } export default timefunctions;