Edit poll UX (#2151)

* Add edit poll on room proxy

* Add CreatePollMode

* Add “edit poll” presentation flow

* Add delete poll section

* Inject editing poll

* Add submit action

* Refactor validation logic

* Add edit/delete actions

* Fix bubble timestamp for polls

* Update localisations

* Refactor CreatePoll -> PollForm

* Refactor tests

* Update rust sdk to 0.0.5-november23

* Update confirmation alerts

* Add edit support in TimelineItem menu

* Refactor a11y id

* Cleanup

* Fix failing tests

* Add tests

* Refine isEditable workaround

* Refactor timestamp in TimelineItemBubbledStylerView
This commit is contained in:
Alfonso Grillo
2023-11-23 12:19:15 +01:00
committed by GitHub
parent 4d011b9116
commit e583f52c65
36 changed files with 670 additions and 335 deletions
@@ -28,7 +28,7 @@ struct PollRoomTimelineItem: Equatable, EventBasedTimelineItemProtocol {
var properties: RoomTimelineItemProperties
}
struct Poll: Equatable {
struct Poll: Hashable {
let question: String
let kind: Kind
let maxSelections: Int
@@ -41,13 +41,17 @@ struct Poll: Equatable {
var hasEnded: Bool {
endDate != nil
}
var hasVotes: Bool {
votes.values.contains(where: { !$0.isEmpty })
}
enum Kind: Equatable {
enum Kind: Hashable {
case disclosed
case undisclosed
}
struct Option: Equatable {
struct Option: Hashable {
let id: String
let text: String
let votes: Int