+
+
+ {{ t('calendar.title') }}
+ {{ t('calendar.hint') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ onPickPanelYear(Number(v))"
+ />
+ onPickPanelMonth(Number(v))"
+ />
+
+ handlePickYear(Number(v))"
+ />
+
+
+
+
+
+
+
+
+
+
+ {{ t('calendar.today') }}
+
+ {{ viewMode === 'year' ? t('calendar.viewMonth') : t('calendar.viewYear') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ d.expense > 0 ? `-${moneyCompact(d.expense)}` : `+${moneyCompact(d.income)}` }}
+
+
+ +{{ money(d.income) }}
+ -{{ money(d.expense) }}
+
+ {{ money(d.income - d.expense) }}
+
+
+
+
+
+
+
+
+
+ {{ t('calendar.monthEmpty') }}
+
+
+
+
+
+
+
+
+
+
+
{{ monthLabel(m) }}
+
+
+
+ {{ t('calendar.income') }}+{{ money(s.income) }}
+
+
+ {{ t('calendar.expense') }}-{{ money(s.expense) }}
+
+
+ {{ t('calendar.balance') }}{{ money(s.income - s.expense) }}
+
+
+ {{ t('calendar.noData') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('calendar.income') }} +{{ money(detailSummary.income) }}
+ {{ t('calendar.expense') }} -{{ money(detailSummary.expense) }}
+
+ {{ t('calendar.balance') }} {{ money(detailSummary.income - detailSummary.expense) }}
+
+
+
+
+
+
+
+
+ {{ timeOf(item.transactionTime) }}
+
+ {{ item.categoryIcon }}
+ {{ item.categoryName || t('transaction.uncategorized') }}
+
+ {{ getChannelLabel(item.channel) }}
+
+ {{ item.type === 'INCOME' ? '+' : '-' }}{{ money(item.amount) }}
+
+
+
+
+
+
+
+
+
+
+ {{ t('calendar.detailMore', { shown: DETAIL_PAGE_SIZE, total: detailTotal }) }}
+
+
+ {{ t('calendar.viewInTransactions') }}
+
+
+
+
+
+
+
+