Refactor if/else in PollOptionRow

This commit is contained in:
Marcus Kida 2023-02-08 15:22:23 +01:00
parent 8217f5ce28
commit b178c0cff9
No known key found for this signature in database
GPG Key ID: 19FF64E08013CA40
1 changed files with 26 additions and 38 deletions

View File

@ -57,44 +57,32 @@ public struct PollOptionRow: View {
}
}
} else {
// beautiful!
if let moveUp {
if let moveDown {
if let removeOption {
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, moveDown)
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, removeOption)
} else {
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, moveDown)
}
} else {
if let removeOption {
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp)
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, removeOption)
} else {
field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp)
}
}
} else {
if let moveDown {
if let removeOption {
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, moveDown)
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, removeOption)
} else {
field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, moveDown)
}
} else {
if let removeOption {
field.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, removeOption)
} else {
field
}
}
switch (moveUp, moveDown, removeOption) {
case let (.some(up), .some(down), .some(remove)):
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
case let (.some(up), .some(down), .none):
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
case let (.some(up), .none, .some(remove)):
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
case let (.some(up), .none, .none):
field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
case let (.none, .some(down), .some(remove)):
field
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
case let (.none, .some(down), .none):
field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
case let (.none, .none, .some(remove)):
field.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
case (.none, .none, .none):
field
}
}
}