55 lines
1.8 KiB
JavaScript
55 lines
1.8 KiB
JavaScript
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; |