fix: API field mapping, HealthKit entitlement, profile tab, forgot password

This commit is contained in:
Cosmo
2026-03-25 12:07:08 +00:00
parent bfb9a07d2d
commit 74805bc9d1
12 changed files with 266 additions and 46 deletions

View File

@@ -26,14 +26,16 @@ struct FinanceCategory: Codable, Identifiable {
struct FinanceSummary: Codable {
var totalIncome: Double?
var totalExpenses: Double?
var totalExpense: Double?
var balance: Double?
var carriedOver: Double?
var month: String?
enum CodingKeys: String, CodingKey {
case totalIncome = "total_income"
case totalExpenses = "total_expenses"
case balance, month
case totalIncome = "total_income"
case totalExpense = "total_expense"
case carriedOver = "carried_over"
}
}

View File

@@ -19,7 +19,8 @@ struct Habit: Codable, Identifiable {
var color: String?
var frequency: HabitFrequency
var reminderTime: String?
var targetDays: Int?
var targetDays: [Int]?
var targetCount: Int?
var currentStreak: Int?
var longestStreak: Int?
var completedToday: Bool?
@@ -29,6 +30,7 @@ struct Habit: Codable, Identifiable {
case id, name, description, icon, color, frequency
case reminderTime = "reminder_time"
case targetDays = "target_days"
case targetCount = "target_count"
case currentStreak = "current_streak"
case longestStreak = "longest_streak"
case completedToday = "completed_today"

View File

@@ -1,37 +1,38 @@
import Foundation
enum TaskPriority: String, Codable, CaseIterable {
case low, medium, high, urgent
var displayName: String {
switch self {
case .low: return "Низкий"
case .medium: return "Средний"
case .high: return "Высокий"
case .urgent: return "Срочный"
}
}
var color: String {
switch self {
case .low: return "8888aa"
case .medium: return "ffa502"
case .high: return "ff4757"
case .urgent: return "ff0000"
}
}
}
struct PulseTask: Codable, Identifiable {
let id: Int
var title: String
var description: String?
var done: Bool
var priority: TaskPriority?
var completed: Bool
var priority: Int?
var icon: String?
var color: String?
var dueDate: String?
var reminderTime: String?
var createdAt: String?
var priorityColor: String {
switch priority {
case 4: return "ff0000"
case 3: return "ff4757"
case 2: return "ffa502"
default: return "8888aa"
}
}
var priorityDisplayName: String {
switch priority {
case 1: return "Низкий"
case 2: return "Средний"
case 3: return "Высокий"
case 4: return "Срочный"
default: return "Без приоритета"
}
}
enum CodingKeys: String, CodingKey {
case id, title, description, done, priority
case id, title, description, completed, priority, icon, color
case dueDate = "due_date"
case reminderTime = "reminder_time"
case createdAt = "created_at"
@@ -41,7 +42,7 @@ struct PulseTask: Codable, Identifiable {
struct CreateTaskRequest: Codable {
var title: String
var description: String?
var priority: TaskPriority?
var priority: Int?
var dueDate: String?
enum CodingKeys: String, CodingKey {