{getDateString()}
{getGreeting()},
{userName}
taskPanelOpen = true}>
0}>
{headerTotalCount} task{headerTotalCount !== 1 ? 's' : ''}
{#if headerTasks[0]} · Next: {headerTasks[0].title}{/if}
{ taskPanelOpen = false; loadTasks(); }} />
Budget
{budgetUncatCount}
uncategorized transactions
{budgetSpending} spent
· {budgetIncome} income
Review
Inventory
{inventoryIssueCount} issues
{inventoryReviewCount} needs review
{inventoryIssueCount + inventoryReviewCount} items need attention
View
Calories
{fitnessCalRemaining.toLocaleString()}
remaining today
{fitnessCalLogged.toLocaleString()} logged
· {fitnessProtein}g protein · {fitnessCarbs}g carbs
Log food
Y
{userName}
{fitnessCalLogged.toLocaleString()} cal · {fitnessCalRemaining.toLocaleString()} left
{fitnessProtein}
/{fitnessProteinGoal}g
protein
{fitnessCarbs}
/{fitnessCarbsGoal}g
carbs
{fitnessFat}
/{fitnessFatGoal}g
fat