isExpanded can be used inside nextState
I would move more logic to an Enum CardInfo
struct CardInfo {
enum CardState {
case expanded
case collapased
var nextState : CardState {
return self == .expandedisExpanded ? .collapased : .expanded
}
var isExpendedisExpanded: Bool { self == .expanded }
}
enum CardType {
case annotaion
case chat
}
var cardType: CardType
var cardHandleHeight: CGFloat
var cardState: CardState = .collapased
mutating func updateToNextState() {
cardState = cardState.nextState
}
}
I would move more logic to an Enum CardInfo
struct CardInfo {
enum CardState {
case expanded
case collapased
var nextState : CardState {
return self == .expanded ? .collapased : .expanded
}
var isExpended: Bool { self == .expanded }
}
enum CardType {
case annotaion
case chat
}
var cardType: CardType
var cardHandleHeight: CGFloat
var cardState: CardState = .collapased
mutating func updateToNextState() {
cardState = cardState.nextState
}
}
I would move more logic to an Enum CardInfo
struct CardInfo {
enum CardState {
case expanded
case collapased
var nextState : CardState {
return isExpanded ? .collapased : .expanded
}
var isExpanded: Bool { self == .expanded }
}
enum CardType {
case annotaion
case chat
}
var cardType: CardType
var cardHandleHeight: CGFloat
var cardState: CardState = .collapased
mutating func updateToNextState() {
cardState = cardState.nextState
}
}
I would move more logic to an Enum CardInfo
struct CardInfo {
enum CardState {
case expanded
case collapased
var nextState : CardState {
return self == .expanded ? .collapased : .expanded
}
var isExpended: Bool { self == .expanded }
}
enum CardType {
case annotaion
case chat
}
var cardType: CardType
var cardHandleHeight: CGFloat
var cardState: CardState = .collapased
mutating func updateToNextState() {
cardState = cardState.nextState
}
}
default