Update polls icons (#2163)

* Add new polls icons

* Fix preview tests

* Update UI tests

* Add polls reply view test
This commit is contained in:
Alfonso Grillo
2023-11-24 15:39:53 +01:00
committed by GitHub
parent 59eb253980
commit 81373b0d98
49 changed files with 92 additions and 619 deletions
+2 -4
View File
@@ -61,7 +61,6 @@ internal enum Asset {
internal static let devices = ImageAsset(name: "images/devices")
internal static let document = ImageAsset(name: "images/document")
internal static let decryptionError = ImageAsset(name: "images/decryption-error")
internal static let endedPoll = ImageAsset(name: "images/ended-poll")
internal static let settingsIconWithBadge = ImageAsset(name: "images/settings-icon-with-badge")
internal static let signOut = ImageAsset(name: "images/sign-out")
internal static let launchBackground = ImageAsset(name: "images/launch-background")
@@ -72,6 +71,8 @@ internal enum Asset {
internal static let lock = ImageAsset(name: "images/lock")
internal static let mediaPause = ImageAsset(name: "images/media-pause")
internal static let mediaPlay = ImageAsset(name: "images/media-play")
internal static let pollsEnd = ImageAsset(name: "images/polls-end")
internal static let polls = ImageAsset(name: "images/polls")
internal static let secureBackupIcon = ImageAsset(name: "images/secure-backup-icon")
internal static let secureBackupOff = ImageAsset(name: "images/secure-backup-off")
internal static let secureBackupOn = ImageAsset(name: "images/secure-backup-on")
@@ -82,9 +83,6 @@ internal enum Asset {
internal static let forward = ImageAsset(name: "images/forward")
internal static let reply = ImageAsset(name: "images/reply")
internal static let viewSource = ImageAsset(name: "images/view-source")
internal static let timelineEndedPoll = ImageAsset(name: "images/timeline-ended-poll")
internal static let timelinePollAttachment = ImageAsset(name: "images/timeline-poll-attachment")
internal static let timelinePoll = ImageAsset(name: "images/timeline-poll")
internal static let userAdd = ImageAsset(name: "images/user-add")
internal static let user = ImageAsset(name: "images/user")
internal static let waitingGradient = ImageAsset(name: "images/waiting-gradient")
@@ -79,7 +79,7 @@ struct RoomAttachmentPicker: View {
context.showAttachmentPopover = false
context.send(viewAction: .displayNewPollForm)
} label: {
Label(L10n.screenRoomAttachmentSourcePoll, icon: \.polls)
Label(L10n.screenRoomAttachmentSourcePoll, iconAsset: Asset.Images.polls)
.labelStyle(.menuSheet)
}
.accessibilityIdentifier(A11yIdentifiers.roomScreen.attachmentPickerPoll)
@@ -80,7 +80,7 @@ struct TimelineReplyView: View {
ReplyView(sender: sender,
plainBody: question,
formattedBody: nil,
icon: .init(kind: .iconAsset(Asset.Images.timelinePoll), cornerRadii: iconCornerRadii))
icon: .init(kind: .iconAsset(Asset.Images.polls), cornerRadii: iconCornerRadii))
}
default:
LoadingReplyView()
@@ -112,7 +112,7 @@ struct TimelineReplyView: View {
case iconAsset(ImageAsset)
case icon(KeyPath<CompoundIcons, Image>)
}
let kind: Kind
let cornerRadii: Double
}
@@ -292,7 +292,10 @@ struct TimelineReplyView_Previews: PreviewProvider, TestablePreview {
eventContent: .message(.notice(.init(body: "", formattedBody: attributedStringWithMention))))),
TimelineReplyView(placement: .timeline,
timelineItemReplyDetails: .loaded(sender: .init(id: "", displayName: "Bob"),
eventContent: .message(.notice(.init(body: "", formattedBody: attributedStringWithAtRoomMention)))))
eventContent: .message(.notice(.init(body: "", formattedBody: attributedStringWithAtRoomMention))))),
TimelineReplyView(placement: .timeline,
timelineItemReplyDetails: .loaded(sender: .init(id: "", displayName: "Bob"),
eventContent: .poll(question: "Do you like polls?")))
]
}
@@ -47,7 +47,7 @@ struct PollRoomTimelineView: View {
private var questionView: some View {
HStack(alignment: .top, spacing: 12) {
let asset = poll.hasEnded ? Asset.Images.timelineEndedPoll : Asset.Images.timelinePoll
let asset = poll.hasEnded ? Asset.Images.pollsEnd : Asset.Images.polls
Image(asset.name)
.resizable()
@@ -121,7 +121,7 @@ enum TimelineItemMenuAction: Identifiable, Hashable {
case .react:
Label(L10n.actionReact, iconAsset: Asset.Images.addReaction)
case .endPoll:
Label(L10n.actionEndPoll, iconAsset: Asset.Images.endedPoll)
Label(L10n.actionEndPoll, iconAsset: Asset.Images.pollsEnd)
}
}
}