Commit 1132790778
Verified · cmc
Layout: unified · split
gitbay/Views/Issues/IssueListView.swift +9 −1
| @@ -9,8 +9,12 @@ struct IssueListView: View { | ||
| 9 | 9 | @State private var draftTitle = "" |
| 10 | 10 | @State private var draftBody = "" |
| 11 | 11 | @State private var draftFormat = "md" |
| 12 | @State private var createdIssue: Int64? | |
| 13 | ||
| 14 | private let client: GitbayClient | |
| 12 | 15 | |
| 13 | 16 | init(client: GitbayClient, repo: String) { |
| 17 | self.client = client | |
| 14 | 18 | _model = State(initialValue: IssueListViewModel(client: client, repoPath: repo)) |
| 15 | 19 | _createModel = State(initialValue: IssueCreateViewModel(client: client, repoPath: repo)) |
| 16 | 20 | } |
| @@ -92,16 +96,20 @@ struct IssueListView: View { | ||
| 92 | 96 | ) { |
| 93 | 97 | createModel.format = draftFormat |
| 94 | 98 | Task { |
| 95 | if await createModel.create(title: draftTitle, body: draftBody) != nil { | |
| 99 | if let number = await createModel.create(title: draftTitle, body: draftBody) { | |
| 96 | 100 | draftTitle = "" |
| 97 | 101 | draftBody = "" |
| 98 | 102 | draftFormat = "md" |
| 99 | 103 | composing = false |
| 104 | createdIssue = number | |
| 100 | 105 | await model.load() |
| 101 | 106 | } |
| 102 | 107 | } |
| 103 | 108 | } |
| 104 | 109 | } |
| 110 | .navigationDestination(item: $createdIssue) { number in | |
| 111 | IssueView(client: client, repo: model.repoPath, number: number) | |
| 112 | } | |
| 105 | 113 | .task { await model.loadIfNeeded() } |
| 106 | 114 | .task { await createModel.loadTemplates() } |
| 107 | 115 | .refreshable { await model.load() } |