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 { } else {
// beautiful! switch (moveUp, moveDown, removeOption) {
if let moveUp { case let (.some(up), .some(down), .some(remove)):
if let moveDown { field
if let removeOption { .accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
field .accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp) .accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, moveDown) case let (.some(up), .some(down), .none):
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, removeOption) field
} else { .accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
field .accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp) case let (.some(up), .none, .some(remove)):
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, moveDown) field
} .accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
} else { .accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
if let removeOption { case let (.some(up), .none, .none):
field field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, up)
.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp) case let (.none, .some(down), .some(remove)):
.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, removeOption) field
} else { .accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveUp, moveUp) .accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
} case let (.none, .some(down), .none):
} field.accessibilityAction(named: L10n.Scene.Compose.Poll.moveDown, down)
} else { case let (.none, .none, .some(remove)):
if let moveDown { field.accessibilityAction(named: L10n.Scene.Compose.Poll.removeOption, remove)
if let removeOption { case (.none, .none, .none):
field 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
}
}
} }
} }
} }