feat: add delete account button in settings, implement all remaining achievements
All checks were successful
CI / build (push) Successful in 37s

- Add delete all data button with red danger style and confirmation prompt
- Add DeleteUserData repo method that wipes user from all tables in a transaction
- Add helper methods deleteAccountPrompt and deleteAccountConfirm
- Implement consistency_master, perfect_week, remote_veteran, onsite_master achievements
- Add GetDailyXPInRange and SumWorkSecondsByWorkType repo methods
- Update Dockerfile to alpine3.23, docker-compose to use env vars for proxy/paths
This commit is contained in:
2026-06-25 12:27:03 +03:30
parent 0926323d18
commit 5670b0455d
7 changed files with 185 additions and 8 deletions

View File

@@ -44,6 +44,8 @@ type Repository interface {
UpsertDailyXP(userID int64, date string, xpEarned, workSeconds int64) error
SetDailyWorkSeconds(userID int64, date string, workSeconds int64) error
SumDailyWorkSeconds(userID int64) (int64, error)
GetDailyXPInRange(userID int64, start, end string) ([]domain.DailyXP, error)
SumWorkSecondsByWorkType(userID int64) (remoteSeconds, onsiteSeconds int64, _ error)
// Achievements
GetAchievementByCode(code string) (*domain.Achievement, error)
@@ -55,5 +57,6 @@ type Repository interface {
GetLeagueRankings(orderBy string) ([]domain.LeagueEntry, error)
// Lifecycle
DeleteUserData(userID int64) error
Close() error
}