Files
workouts/Workouts Watch App/Views/Exercises/ExerciseState.swift
2025-07-25 17:42:25 -04:00

73 lines
1.3 KiB
Swift
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// ExerciseState.swift
// Workouts
//
// Created by rzen on 7/23/25 at 9:14AM.
//
// Copyright 2025 Rouslan Zenetl. All Rights Reserved.
//
enum ExerciseState: Identifiable {
case intro
case set(number: Int)
case rest(afterSet: Int)
case done
var id: String {
switch self {
case .intro:
return "detail"
case .set(let number):
return "set_\(number)"
case .rest(let afterSet):
return "rest_\(afterSet)"
case .done:
return "done"
}
}
var setNumber: Int? {
switch self {
case .intro, .rest, .done: return nil
case .set (let number): return number
}
}
var afterSet: Int? {
switch self {
case .intro, .set, .done: return nil
case .rest (let afterSet): return afterSet
}
}
var isIntro: Bool {
if case .intro = self {
return true
}
return false
}
var isSet: Bool {
if case .set = self {
return true
}
return false
}
var isRest: Bool {
if case .rest = self {
return true
}
return false
}
var isDone: Bool {
if case .done = self {
return true
}
return false
}
}