1.0.0 for iOS is ready to ship

This commit is contained in:
2025-09-14 23:07:32 -06:00
parent 61384623bd
commit ff9f0d6cc6
33 changed files with 2646 additions and 251 deletions

View File

@@ -1,9 +1,3 @@
//
// GymsView.swift
// OpenClimb
//
// Created by OpenClimb on 2025-01-17.
//
import SwiftUI
@@ -37,14 +31,47 @@ struct GymsView: View {
struct GymsList: View {
@EnvironmentObject var dataManager: ClimbingDataManager
@State private var gymToDelete: Gym?
@State private var gymToEdit: Gym?
var body: some View {
List(dataManager.gyms, id: \.id) { gym in
NavigationLink(destination: GymDetailView(gymId: gym.id)) {
GymRow(gym: gym)
}
.swipeActions(edge: .trailing, allowsFullSwipe: false) {
Button(role: .destructive) {
gymToDelete = gym
} label: {
Label("Delete", systemImage: "trash")
}
Button {
gymToEdit = gym
} label: {
Label("Edit", systemImage: "pencil")
}
.tint(.blue)
}
}
.alert("Delete Gym", isPresented: .constant(gymToDelete != nil)) {
Button("Cancel", role: .cancel) {
gymToDelete = nil
}
Button("Delete", role: .destructive) {
if let gym = gymToDelete {
dataManager.deleteGym(gym)
gymToDelete = nil
}
}
} message: {
Text(
"Are you sure you want to delete this gym? This will also delete all associated problems and sessions."
)
}
.sheet(item: $gymToEdit) { gym in
AddEditGymView(gymId: gym.id)
}
.listStyle(.plain)
}
}
@@ -124,7 +151,7 @@ struct GymRow: View {
.lineLimit(2)
}
}
.padding(.vertical, 4)
.padding(.vertical, 8)
}
}