Skip to content

Commit a901895

Browse files
authored
Merge pull request #12 from twentyTwo/develop
Develop
2 parents 55233bd + 88bd758 commit a901895

2 files changed

Lines changed: 29 additions & 20 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "simple-coding-time-tracker",
33
"displayName": "Simple Coding Time Tracker",
44
"description": "Track and visualize your coding time across projects",
5-
"version": "0.3.0",
5+
"version": "0.3.1",
66
"publisher": "noorashuvo",
77
"license": "MIT",
88
"icon": "icon-sctt.png",

src/summaryView.ts

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
182182
th {
183183
font-weight: bold;
184184
background-color: var(--header-background);
185-
color: var(--header-foreground);
185+
color: var (--header-foreground);
186186
}
187187
.container {
188188
padding: 0px;
@@ -618,8 +618,8 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
618618
data: {
619619
labels: projectData.map(([project]) => project),
620620
datasets: [{
621-
label: 'Coding Time (hours)',
622-
data: projectData.map(([_, time]) => time / 3600),
621+
label: 'Coding Time',
622+
data: projectData.map(([_, time]) => time/60),
623623
backgroundColor: chartColors.chartBlues,
624624
borderColor: chartColors.grid,
625625
borderWidth: 1
@@ -634,8 +634,9 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
634634
...commonChartConfig.plugins.tooltip,
635635
callbacks: {
636636
label: function(context) {
637-
const hours = context.raw;
638-
return \`\${Math.floor(hours)}h \${Math.round((hours % 1) * 60)}m\`;
637+
const hours = Math.floor(context.raw);
638+
const mins = Math.round((context.raw % 1) * 60);
639+
return \`\${context.label}: \${hours} hour\${hours !== 1 ? 's' : ''} and \${mins} minute\${mins !== 1 ? 's' : ''}\`;
639640
}
640641
}
641642
}
@@ -657,8 +658,8 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
657658
return d.toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric' });
658659
}),
659660
datasets: [{
660-
label: 'Coding Time (hours)',
661-
data: dailyData.map(([_, time]) => time / 3600),
661+
label: 'Coding Time',
662+
data: dailyData.map(([_, time]) => time / 60),
662663
fill: true,
663664
backgroundColor: \`\${chartColors.accent}33\`,
664665
borderColor: chartColors.accent,
@@ -683,13 +684,19 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
683684
return \`\${value}h\`;
684685
}
685686
}
686-
},
687-
x: {
688-
...commonChartConfig.scales.x,
689-
ticks: {
690-
...commonChartConfig.scales.x.ticks,
691-
maxRotation: 45,
692-
minRotation: 45
687+
}
688+
},
689+
plugins: {
690+
...commonChartConfig.plugins,
691+
tooltip: {
692+
...commonChartConfig.plugins.tooltip,
693+
callbacks: {
694+
label: function(context) {
695+
const hours = Math.floor(context.raw);
696+
const mins = Math.round((context.raw % 1) * 60);
697+
const date = new Date(context.label);
698+
return \`\${date.toLocaleDateString('en-US', { weekday: 'long' })}: \${hours} hour\${hours !== 1 ? 's' : ''} and \${mins} minute\${mins !== 1 ? 's' : ''}\`;
699+
}
693700
}
694701
}
695702
}
@@ -733,7 +740,11 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
733740
data: {
734741
labels: searchChartData.map(([project]) => project),
735742
datasets: [{
736-
data: searchChartData.map(([_, time]) => time / 60),
743+
data: searchChartData.map(([_, minutes]) => ({
744+
value: minutes,
745+
hours: Math.floor(minutes / 60),
746+
mins: Math.round(minutes % 60)
747+
})),
737748
backgroundColor: [
738749
'rgba(255, 99, 132, 0.7)', // Red
739750
'rgba(54, 162, 235, 0.7)', // Blue
@@ -775,10 +786,8 @@ export class SummaryViewProvider implements vscode.WebviewViewProvider {
775786
padding: 12,
776787
callbacks: {
777788
label: function(context) {
778-
const minutes = context.raw;
779-
const hours = Math.floor(minutes / 60);
780-
const mins = Math.round(minutes % 60);
781-
return \`\${context.label}: \${hours}h \${mins}m\`;
789+
const data = context.raw;
790+
return \`\${context.label}: \${data.hours} hour\${data.hours !== 1 ? 's' : ''} and \${data.mins} minute\${data.mins !== 1 ? 's' : ''}\`;
782791
}
783792
}
784793
}

0 commit comments

Comments
 (0)