Skip to content

Commit c770854

Browse files
authored
feat: polls implementation (#2719)
* feat: add create poll button and base modal * feat: successfully create and send a poll * chore: restructure a bit and provide baseline for component development * feat: add create poll context * feat: add list of options * fix: optimize rendering of poll options * feat: add radio buttons as well * fix: actually pass radio button values * feat: implement draggable list * chore: introduce reverse index cache as a util * fix: reshuffling edge case * chore: clean up the impl of the draggable list * chore: move poll options creation control in its own component * chore: make option height configurable * fix: revert testing changes * chore: cleanup * feat: make opening and closing the modal configurable * fix: android bugs with textinput * feat: add poll button to native attachment picker as well * chore: add extra field and validation * feat: add initial stub poll message ui * chore: add some values to poll state ui * fix: infinite setState bug * feat: add poll options and voting capabilities, see all options modal * fix: minor bugs * chore: remove redundant change * feat: implement progress bar * fix: offline support issues * feat: add impl for creating options and comments * feat: add answers modal * fix: handle real time updates of answers * chore: simplify calculations * feat: implement results screen * fix: properly handle manual state changes * chore: cleanup * feat: move PollInputDialog out of the Poll one * chore: more cleanup * chore: refactor and clean up types * chore: move out PollOption as well * chore: extract ShowAllOptionsContent * fix: handle max nb of answers properly * chore: separate button concerns * fix: dependency array in hooks * chore: renaming to be in line with react sdk * feat: impl poll message design * feat: result screen styling and logic * feat: impl full option results design * feat: impl all poll options design * feat: impl poll answer list designs * feat: impl improved poll state management system * fix: poll activity state edge cases * fix: ui bug in poll results preview * fix: closed poll colors * chore: cleanup * feat: offline support for polls * fix: offline storage for polls * fix: revamp poll context entirely and rely on hooks dependent on it * fix: thread replies to poll issue * fix: forgotten issues with new state hook * chore: refactor show all options button * chore: refactor poll results * chore: refactor full option results * chore: refactor add comment button * chore: refactor suggest option button * chore: refactor remained of the modals * chore: refactor answers list add comment button as well * chore: refactor end vote button * feat: add poll previews * fix: disable polls within threads * feat: major cleanup and PollButtons configurability * feat: make poll header configurable * feat: make entire poll configurable * feat: make button actions configurable * fix: remove local db upsertion * feat: make PollAnswersList configurable * fix: properly override PollAnswersList * feat: make PollResults customizable and add minor fixes * feat: make show all optinos configurable * feat: make full option results configurable * chore: unify poll header across poll components * fix: create poll dialog styles * feat: add icons in poll modal screens * fix: filter out empty options * feat: add duplicate option text validation * feat: add disabling of poll creation if invalid * fix: add check for whether max votes per person is enabled * feat: implement proper channel poll preview * fix: refactor some customization options in poll creation * fix: typescript errors * fix: make poll creation dialog configurable * fix: ts errors * feat: add theming to poll content creation * feat: add theming to poll option creation * feat: add theming to poll and polloption * feat: add theming to all options screen * feat: theming for modal header * feat: add theming to answers list * feat: add theming to poll input dialog * feat: add theming to poll results * feat: add theming to full option results * feat: add theming to buttons * chore: refactor buttons * fix: missing hook deps * chore: remove redundant style * chore: force-link stream-chat-js in ci * chore: change ci so trigger branch build * chore: bump yarn.lock in sample app * feat: add translations for every language * fix: colors so that theme works * fix: add fix in SampleApp too * fix: issue with scrollview * fix: wrong colors * fix: all options list screen fixes * fix: hook dep * fix: poll votes issue with multiple answers * fix: odd translations * fix: revert stream-chat version to force release * fix: translations and trigger correct build * fix: broken translation * fix: tests * fix: pin stream-chat version to specific commit pointer * fix: add sampleapp yarn.lock as well * fix: comments from pr review * fix: cast vote on option suggestion * fix: auto focus input dialogs * fix: preserve own answer in input dialog * fix: wrap dialogs in keyboard avoiding view * fix: only allow poll creation when capability is there * fix: add support for own capabilities * chore: bump stream-chat-js ref * fix: long press on poll message issues * chore: add comment * chore: move components down to MessagesContext * chore: add customization option for CreatePollContent * chore: remove cursor paginator as it is not used * chore: bump stream-chat-js ref * fix: answers for anonymous polls * fix: answer and results list anonymity fixes * chore: bump stream-chat-js commit ref * fix: all issues with state store api change * chore: force sample app to build * docs: poll documentation and type fixes * docs: add docs for Poll and PollContent components * docs: add docs for answers list and results screens * chore: add docs for more screens and move vote button logic inside * docs: add full option list docs * docs: extend docs with more examples and specifications * docs: add documentation for all of the poll buttons * docs: add docs for most state hooks and fix channel props * docs: finish documenting hooks * fix: createAndSendPoll data issue * docs: add poll state overview docs * docs: add ui cookbook and fix various docs inconsistencies * fix: lint errors * fix: pr review changes * fix: poll styles * fix: results screen styling fixes * fix: revert unwanted change * fix: comp type declarations * fix: failing vale vocab * fix: actually fix typo * bump stream-chat-js to latest * fix: another vale vocab issue * fix: failing tst * chore: revert branch release changes * chore: add jsdocs and return types for hooks * fix: component override docs * docs: finalize docs with answer list customizations * fix: lint issues * fix: check for poll creation from channel settings too * fix: remove unnecessary selector * fix: lint issues * fix: channel config edge cases * fix: type * fix: update docs with guide on how to enable polls
1 parent e81c6bc commit c770854

File tree

125 files changed

+5845
-46
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+5845
-46
lines changed

β€Ž.styles/Vocab/Base/accept.txtβ€Ž

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,10 @@ Async
4848
subscribable
4949
memoizing
5050
Boolean
51+
draggable
52+
sendMessage
53+
overridable
54+
loadMore
55+
pollAnswers
56+
enum
57+
SendMessage
126 KB
Loading
962 KB
Loading
101 KB
Loading
171 KB
Loading
231 KB
Loading
170 KB
Loading
240 KB
Loading
239 KB
Loading
138 KB
Loading

0 commit comments

Comments
Β (0)