Close, reopen, and delete issues on iPhone
This commit is contained in:
@@ -17,6 +17,7 @@ final class IssueEditorViewController: UIViewController, UITextFieldDelegate, UI
|
||||
private let previewView = UIView()
|
||||
private let labelsButton = UIButton(type: .system)
|
||||
private let milestoneButton = UIButton(type: .system)
|
||||
private let closedSwitch = UISwitch()
|
||||
private let dueSwitch = UISwitch()
|
||||
private let duePicker = UIDatePicker()
|
||||
private let spinner = UIActivityIndicatorView(style: .medium)
|
||||
@@ -103,6 +104,14 @@ final class IssueEditorViewController: UIViewController, UITextFieldDelegate, UI
|
||||
labelsButton.configuration?.image = context.symbol("tag")
|
||||
milestoneButton.configuration?.image = context.symbol("flag")
|
||||
|
||||
let closedLabel = UILabel()
|
||||
closedLabel.text = "Closed"
|
||||
closedLabel.font = .preferredFont(forTextStyle: .body)
|
||||
closedLabel.adjustsFontForContentSizeCategory = true
|
||||
let closedRow = UIStackView(arrangedSubviews: [closedLabel, closedSwitch])
|
||||
closedRow.alignment = .center
|
||||
closedSwitch.accessibilityLabel = "Closed issue"
|
||||
|
||||
let dueLabel = UILabel()
|
||||
dueLabel.text = "Due Date"
|
||||
dueLabel.font = .preferredFont(forTextStyle: .body)
|
||||
@@ -133,6 +142,7 @@ final class IssueEditorViewController: UIViewController, UITextFieldDelegate, UI
|
||||
stack.addArrangedSubview(titleField)
|
||||
stack.addArrangedSubview(labelsButton)
|
||||
stack.addArrangedSubview(milestoneButton)
|
||||
stack.addArrangedSubview(closedRow)
|
||||
stack.addArrangedSubview(dueRow)
|
||||
stack.addArrangedSubview(duePicker)
|
||||
stack.addArrangedSubview(modeControl)
|
||||
@@ -164,6 +174,7 @@ final class IssueEditorViewController: UIViewController, UITextFieldDelegate, UI
|
||||
self.page = page
|
||||
titleField.text = page.title
|
||||
bodyView.text = page.body
|
||||
closedSwitch.isOn = page.closed
|
||||
selectedLabels = Set(page.labels.filter(\.selected).map(\.id))
|
||||
selectedMilestone = page.milestones.first(where: \.selected)?.id
|
||||
if let timestamp = page.dueDate {
|
||||
@@ -310,7 +321,8 @@ final class IssueEditorViewController: UIViewController, UITextFieldDelegate, UI
|
||||
body: bodyView.text ?? "",
|
||||
labelIds: Array(selectedLabels),
|
||||
milestoneId: selectedMilestone,
|
||||
dueDate: dueSwitch.isOn ? utcTimestamp(forLocalDate: duePicker.date) : nil
|
||||
dueDate: dueSwitch.isOn ? utcTimestamp(forLocalDate: duePicker.date) : nil,
|
||||
closed: closedSwitch.isOn
|
||||
)
|
||||
guard !Task.isCancelled else { return }
|
||||
saved(number)
|
||||
|
||||
Reference in New Issue
Block a user