# Ascently for iOS

The native iOS and widget client for Ascently, built with Swift and SwiftUI.

## Project Structure

This is a standard Xcode project. The main app code is in the `Ascently/` directory.

-   `Models/`: Swift `Codable` models (`Problem`, `Gym`, `ClimbSession`) that match the Android app.
-   `ViewModels/`: App state and logic. `ClimbingDataManager` is the core here, handling data with SwiftData.
-   `Views/`: All the SwiftUI views.
    -   `AddEdit/`: Views for adding/editing gyms, problems, etc.
    -   `Detail/`: Detail views for items.
-   `Services/`: Handles HealthKit and sync server communication.
-   `Utils/`: Helper functions and utilities.

## Other Targets

-   `ClimbingActivityWidget/`: A home screen widget.
-   `SessionStatusLive/`: A Live Activity for the lock screen.
