Clean up a bit the time summation.

This commit is contained in:
2026-02-06 14:23:17 -08:00
parent ff858af575
commit 0201a2ab95

47
main.c
View File

@@ -114,6 +114,21 @@ typedef struct Activity_Stat {
char seconds_str[24];
} Activity_Stat;
typedef struct Hours {
U64 hours;
U64 minutes;
U64 seconds;
} Hours;
Hours break_time(U64 seconds)
{
Hours hours;
hours.hours = seconds / 60 / 60;
hours.minutes = seconds / 60 - (60 * hours.hours);
hours.seconds = seconds - ((hours.hours * 60 * 60) + (hours.minutes * 60));
return hours;
}
int main(int argc, char *argv[])
{
U64 secs = now();
@@ -208,10 +223,8 @@ int main(int argc, char *argv[])
activities_stats[activities[i].activity].total_seconds += activities[i].ended - activities[i].began;
}
U32 hrs = activities_stats[other].total_seconds / 60 / 60;
U32 mins = activities_stats[other].total_seconds / 60;
U32 secs = activities_stats[other].total_seconds - (60 * mins);
snprintf(activities_stats[other].seconds_str, sizeof(activities_stats[other].seconds_str), "%02lu:%02lu:%02lu", hrs, mins, secs);
Hours time = break_time(activities_stats[other].total_seconds);
snprintf(activities_stats[other].seconds_str, sizeof(activities_stats[other].seconds_str), "%02lu:%02lu:%02lu", time.hours, time.minutes, time.seconds);
if(activity_button(padding_x, 60, width, (window_h-70), "Other", activities_stats[other].seconds_str, font_size, RED)) {
if(activities[current_activity].activity != other) {
current_activity++;
@@ -223,14 +236,10 @@ int main(int argc, char *argv[])
}
}
hrs = activities_stats[work].total_seconds / 60 / 60;
mins = activities_stats[work].total_seconds / 60;
secs = activities_stats[work].total_seconds - (60 * mins);
snprintf(activities_stats[work].seconds_str, sizeof(activities_stats[work].seconds_str), "%02lu:%02lu:%02lu", hrs, mins, secs);
time = break_time(activities_stats[work].total_seconds);
snprintf(activities_stats[work].seconds_str, sizeof(activities_stats[work].seconds_str), "%02lu:%02lu:%02lu", time.hours, time.minutes, time.seconds);
if(activity_button((padding_x*2)+(width*1), 60, width, (window_h-70), "Work", activities_stats[work].seconds_str, font_size, BLUE)) {
if(activities[current_activity].activity != work) {
printf("Activity WORK\n");
current_activity++;
activities[current_activity].activity = work;
@@ -240,10 +249,8 @@ int main(int argc, char *argv[])
}
}
hrs = activities_stats[projects].total_seconds / 60 / 60;
mins = activities_stats[projects].total_seconds / 60;
secs = activities_stats[projects].total_seconds - (60 * mins);
snprintf(activities_stats[projects].seconds_str, sizeof(activities_stats[projects].seconds_str), "%02lu:%02lu:%02lu", hrs, mins, secs);
time = break_time(activities_stats[projects].total_seconds);
snprintf(activities_stats[projects].seconds_str, sizeof(activities_stats[projects].seconds_str), "%02lu:%02lu:%02lu", time.hours, time.minutes, time.seconds);
if(activity_button((padding_x*3)+(width*2), 60, width, (window_h-70), "Projects", activities_stats[projects].seconds_str, font_size, YELLOW)) {
if(activities[current_activity].activity != projects) {
printf("Activity PROJECTS\n");
@@ -257,10 +264,8 @@ int main(int argc, char *argv[])
}
}
hrs = activities_stats[gaming].total_seconds / 60 / 60;
mins = activities_stats[gaming].total_seconds / 60;
secs = activities_stats[gaming].total_seconds - (60 * mins);
snprintf(activities_stats[gaming].seconds_str, sizeof(activities_stats[gaming].seconds_str), "%02lu:%02lu:%02lu", hrs, mins, secs);
time = break_time(activities_stats[gaming].total_seconds);
snprintf(activities_stats[gaming].seconds_str, sizeof(activities_stats[gaming].seconds_str), "%02lu:%02lu:%02lu", time.hours, time.minutes, time.seconds);
if(activity_button((padding_x*4)+(width*3), 60, width, (window_h-70), "Gaming", activities_stats[gaming].seconds_str, font_size, GREEN)) {
if(activities[current_activity].activity != gaming) {
printf("Activity GAMING\n");
@@ -274,10 +279,8 @@ int main(int argc, char *argv[])
}
}
hrs = activities_stats[exercise].total_seconds / 60 / 60;
mins = activities_stats[exercise].total_seconds / 60;
secs = activities_stats[exercise].total_seconds - (60 * mins);
snprintf(activities_stats[exercise].seconds_str, sizeof(activities_stats[exercise].seconds_str), "%02lu:%02lu:%02lu", hrs, mins, secs);
time = break_time(activities_stats[exercise].total_seconds);
snprintf(activities_stats[exercise].seconds_str, sizeof(activities_stats[exercise].seconds_str), "%02lu:%02lu:%02lu", time.hours, time.minutes, time.seconds);
if(activity_button((padding_x*5)+(width*4), 60, width, (window_h-70), "Exercise", activities_stats[exercise].seconds_str, font_size, PURPLE)) {
if(activities[current_activity].activity != exercise) {
printf("Activity EXERCISE\n");