feat: add completion count

This commit is contained in:
2026-03-10 17:02:38 +01:00
parent 3fb0f7166b
commit e6d7a88600
10 changed files with 19 additions and 23 deletions

View File

@@ -135,6 +135,7 @@ export default function HabitItem({ habit, onEdit, onDelete }: HabitItemProps) {
<span className={`text-sm font-medium ${habit.archived ? 'text-gray-400 dark:text-gray-500' : ''}`}>{t('coinsPerCompletion', { count: habit.coinReward })}</span>
</div>
</div>
<div className='mt-2 text-sm font-medium'>{t("completionCount", { completions: habit.completions.length })}</div>
</CardContent>
<CardFooter className="flex-shrink-0 flex justify-between gap-2">
<div className="flex gap-2">

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "Completa ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Desfés",
"editButton": "Edita"
"editButton": "Edita",
"completionCount": "completat {completions} vegades"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Nota massa llarga",

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "Abschließen ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Rückgängig",
"editButton": "Bearbeiten"
"editButton": "Bearbeiten",
"completionCount": "{completions} mal abgeschlossen"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Notiz zu lang",
@@ -434,8 +435,6 @@
"invalidAmountDescription": "Bitte geben Sie eine gültige positive Zahl ein",
"successTitle": "Erfolg",
"transactionNotFoundDescription": "Transaktion nicht gefunden",
"maxAmountExceededDescription": "Der Betrag darf {max} nicht überschreiten.",
"transactionNotFoundDescription": "Transaktion nicht gefunden",
"maxAmountExceededDescription": "Der Betrag darf {max} nicht überschreiten."
},
"DrawingModal": {

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "Complete ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Undo",
"editButton": "Edit"
"editButton": "Edit",
"completionCount": "Completed {completions} times"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Note too long",

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "Completar ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Deshacer",
"editButton": "Editar"
"editButton": "Editar",
"completionCount": "{completions} veces completadas"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Nota demasiado larga",
@@ -442,8 +443,6 @@
"invalidAmountDescription": "Por favor ingresa un número positivo válido",
"successTitle": "Éxito",
"transactionNotFoundDescription": "Transacción no encontrada",
"maxAmountExceededDescription": "La cantidad no puede exceder {max}.",
"transactionNotFoundDescription": "Transacción no encontrada",
"maxAmountExceededDescription": "La cantidad no puede exceder {max}."
}
}

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "Compléter ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Annuler",
"editButton": "Modifier"
"editButton": "Modifier",
"completionCount": "complété {completions} fois"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Note trop longue",
@@ -434,8 +435,6 @@
"invalidAmountDescription": "Veuillez entrer un nombre positif valide",
"successTitle": "Succès",
"transactionNotFoundDescription": "Transaction non trouvée",
"maxAmountExceededDescription": "Le montant ne peut pas dépasser {max}.",
"transactionNotFoundDescription": "Transaction non trouvée",
"maxAmountExceededDescription": "Le montant ne peut pas dépasser {max}."
},
"DrawingModal": {

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "完了({completed}/{target}",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "取り消し",
"editButton": "編集"
"editButton": "編集",
"completionCount": "{completions} 回完了しました"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "メモが長すぎます",
@@ -434,8 +435,6 @@
"invalidAmountDescription": "有効な正の数を入力してください",
"successTitle": "成功しました",
"transactionNotFoundDescription": "取引が見つかりません",
"maxAmountExceededDescription": "金額は{max}を超えることはできません。",
"transactionNotFoundDescription": "取引が見つかりません",
"maxAmountExceededDescription": "金額は{max}を超えることはできません。"
},
"DrawingModal": {

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "완료 ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "실행 취소",
"editButton": "수정"
"editButton": "수정",
"completionCount": "{completions}번 완료됨"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "메모가 너무 깁니다",
@@ -430,8 +431,6 @@
"invalidAmountDescription": "유효한 양의 숫자를 입력하세요",
"successTitle": "성공",
"transactionNotFoundDescription": "거래를 찾을 수 없습니다",
"maxAmountExceededDescription": "금액은 {max}을(를) 초과할 수 없습니다.",
"transactionNotFoundDescription": "거래를 찾을 수 없습니다",
"maxAmountExceededDescription": "금액은 {max}을(를) 초과할 수 없습니다."
},
"Warning": {

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "Выполнить ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "Отменить",
"editButton": "Редактировать"
"editButton": "Редактировать",
"completionCount": "завершено {completions} раз"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "Слишком длинная заметка",
@@ -434,8 +435,6 @@
"invalidAmountDescription": "Пожалуйста, введите положительное число",
"successTitle": "Успех",
"transactionNotFoundDescription": "Транзакция не найдена",
"maxAmountExceededDescription": "Сумма не может превышать {max}.",
"transactionNotFoundDescription": "Транзакция не найдена",
"maxAmountExceededDescription": "Сумма не может превышать {max}."
},
"DrawingModal": {

View File

@@ -322,7 +322,8 @@
"completeButtonCount": "完成 ({completed}/{target})",
"completeButtonCountMobile": "{completed}/{target}",
"undoButton": "撤销",
"editButton": "编辑"
"editButton": "编辑",
"completionCount": "完成 {completions} 次"
},
"TransactionNoteEditor": {
"noteTooLongTitle": "备注太长",
@@ -434,8 +435,6 @@
"invalidAmountDescription": "请输入有效的正数",
"successTitle": "成功",
"transactionNotFoundDescription": "未找到交易记录",
"maxAmountExceededDescription": "金额不能超过 {max}。",
"transactionNotFoundDescription": "未找到交易记录",
"maxAmountExceededDescription": "金额不能超过 {max}。"
},
"DrawingModal": {