73 lines
1.3 KiB
Swift
73 lines
1.3 KiB
Swift
//
|
||
// ExerciseState.swift
|
||
// Workouts
|
||
//
|
||
// Created by rzen on 7/23/25 at 9:14 AM.
|
||
//
|
||
// 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
|
||
}
|
||
}
|