* created a progress tracker class and passed it in the user notification to be observed by the progress view * improved the publishing by dispatching it on RunLoop.main * bug report struct created and progress tracker class moved into the Other folder * some swiftlint adjustments * fixed tests * fixed another test BugReportServiceTests * changelog 495 - change * added a mock preview * fixing some linting suggestions * no need to use KVO, achieve the same result using a publisher * some refactors to address PR comments * some code improvements * fixed the issue that prevented the avatar of the room to be displayed in the mocks, and updated the tests * Revert "fixed the issue that prevented the avatar of the room to be displayed in the mocks, and updated the tests" This reverts commit 113d6091d91a3aac1f9a59ff6c5e07610ed59859.
40 lines
1.2 KiB
Swift
40 lines
1.2 KiB
Swift
//
|
|
// Copyright 2022 New Vector Ltd
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
enum UserNotificationType {
|
|
case toast
|
|
case modal
|
|
}
|
|
|
|
struct UserNotification: Equatable, Identifiable {
|
|
static func == (lhs: UserNotification, rhs: UserNotification) -> Bool {
|
|
lhs.id == rhs.id &&
|
|
lhs.type == rhs.type &&
|
|
lhs.title == rhs.title &&
|
|
lhs.iconName == rhs.iconName &&
|
|
lhs.persistent == rhs.persistent
|
|
}
|
|
|
|
var id: String = UUID().uuidString
|
|
var type = UserNotificationType.toast
|
|
var title: String
|
|
var iconName: String?
|
|
var persistent = false
|
|
var progressPublisher: ProgressPublisher?
|
|
}
|