Colour weekends differently by default

This commit is contained in:
Joshua Coles 2024-02-28 16:49:10 +00:00
parent f350018eb2
commit d6b319e6a5

View File

@ -40,33 +40,33 @@ function GitHubCalendarHeatmap({
const dayGoalTime = goal; const dayGoalTime = goal;
const weekGoalTime = 5 * dayGoalTime; const weekGoalTime = 5 * dayGoalTime;
const getColorForValue = (value: number, goalTime: number): string => { const getColorForValue = (value: number, goalTime: number, zeroColor: string): string => {
const buckets = [ const buckets = [
{ {
min: -Infinity, min: -Infinity,
max: 0, max: 0,
color: '#eeeeee' color: zeroColor,
}, },
{ {
min: 0, min: 0,
max: 0.40, max: 0.40,
color: '#d6e685' color: '#d6e685',
}, },
{ {
min: 0.40, min: 0.40,
max: 0.50, max: 0.50,
color: '#8cc665' color: '#8cc665',
}, },
{ {
min: 0.50, min: 0.50,
max: 0.90, max: 0.90,
color: '#44a340' color: '#44a340',
}, },
{ {
min: 0.90, min: 0.90,
// If penalising overtime, the max is 1.125, otherwise it's infinity (ie this is the last bucket) // If penalising overtime, the max is 1.125, otherwise it's infinity (ie this is the last bucket)
max: penaliseOvertime ? 1.125 : Infinity, max: penaliseOvertime ? 1.125 : Infinity,
color: '#1e6823' color: '#1e6823',
}, },
{ {
min: 1.125, min: 1.125,
@ -116,7 +116,7 @@ function GitHubCalendarHeatmap({
const dayOfWeek = (date.getDay() + 6) % 7; const dayOfWeek = (date.getDay() + 6) % 7;
const x = weekIndex * (squareSize + padding); const x = weekIndex * (squareSize + padding);
const y = dayOfWeek * (squareSize + padding); const y = dayOfWeek * (squareSize + padding);
const color = getColorForValue(count, dayGoalTime); const color = getColorForValue(count, dayGoalTime, dFns.isWeekend(date) ? '#d4d4d4' : '#eeeeee');
return ( return (
<rect <rect
@ -137,7 +137,7 @@ function GitHubCalendarHeatmap({
const x = weekIndex * (squareSize + padding); const x = weekIndex * (squareSize + padding);
const y = 7 * (squareSize + padding) + weekTotalPadding; // Position for the week total const y = 7 * (squareSize + padding) + weekTotalPadding; // Position for the week total
const count = getWeekTotal(weekIndex); const count = getWeekTotal(weekIndex);
const color = getColorForValue(count, weekGoalTime); const color = getColorForValue(count, weekGoalTime, '#eeeeee');
return ( return (
<rect <rect