From 2ddc209ee54058a39c19cc5ccc7325ca36d09b2e Mon Sep 17 00:00:00 2001 From: morethanwords Date: Tue, 13 Oct 2020 03:12:39 +0300 Subject: [PATCH] Polls: Fix update poll when 'min' in results Fix creation bug Fix overflow in answer input field Fix creation popup height --- src/components/popupCreatePoll.ts | 2 +- src/lib/appManagers/appPollsManager.ts | 22 ++++++++++++---------- src/scss/partials/popups/_createPoll.scss | 6 +++++- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/components/popupCreatePoll.ts b/src/components/popupCreatePoll.ts index 4adc8faa..7176b730 100644 --- a/src/components/popupCreatePoll.ts +++ b/src/components/popupCreatePoll.ts @@ -159,7 +159,7 @@ export default class PopupCreatePoll extends PopupElement { } const quizSolution = this.quizSolutionInput.value.trim() || undefined; - if(quizSolution.length > MAX_LENGTH_SOLUTION) { + if(quizSolution?.length > MAX_LENGTH_SOLUTION) { toast('Explanation is too long.'); return; } diff --git a/src/lib/appManagers/appPollsManager.ts b/src/lib/appManagers/appPollsManager.ts index 64614f9f..1e6eca97 100644 --- a/src/lib/appManagers/appPollsManager.ts +++ b/src/lib/appManagers/appPollsManager.ts @@ -1,5 +1,5 @@ import { InputMedia } from "../../layer"; -import { logger, LogLevels } from "../logger"; +import { logger } from "../logger"; import apiManager from "../mtproto/mtprotoworker"; import { MOUNT_CLASS_TO } from "../mtproto/mtproto_config"; import { RichTextProcessor } from "../richtextprocessor"; @@ -74,7 +74,7 @@ class AppPollsManager { public polls: {[id: string]: Poll} = {}; public results: {[id: string]: PollResults} = {}; - private log = logger('POLLS', LogLevels.error); + private log = logger('POLLS'/* , LogLevels.error */); constructor() { $rootScope.$on('apiUpdate', (e) => { @@ -89,7 +89,7 @@ class AppPollsManager { case 'updateMessagePoll': { // when someone voted, we too this.log('updateMessagePoll:', update); - let poll: Poll = /* this.polls[update.poll_id] || */update.poll; + let poll: Poll = update.poll || this.polls[update.poll_id]; if(!poll) { break; } @@ -124,13 +124,15 @@ class AppPollsManager { public saveResults(poll: Poll, results: PollResults) { this.results[poll.id] = results; - poll.chosenIndexes.length = 0; - if(results?.results?.length) { - results.results.forEach((answer, idx) => { - if(answer.pFlags?.chosen) { - poll.chosenIndexes.push(idx); - } - }); + if(!results.pFlags.min) { // ! https://core.telegram.org/constructor/pollResults - min + poll.chosenIndexes.length = 0; + if(results?.results?.length) { + results.results.forEach((answer, idx) => { + if(answer.pFlags?.chosen) { + poll.chosenIndexes.push(idx); + } + }); + } } } diff --git a/src/scss/partials/popups/_createPoll.scss b/src/scss/partials/popups/_createPoll.scss index 2c20720d..dafc5721 100644 --- a/src/scss/partials/popups/_createPoll.scss +++ b/src/scss/partials/popups/_createPoll.scss @@ -4,7 +4,7 @@ #{$parent} { &-container { //max-height: 468px; - max-height: 640px; + max-height: unquote('min(640px, 100%)'); padding: 0; } } @@ -46,6 +46,10 @@ .poll-create-questions { padding: 0px 1.25rem 2.03125rem; + + .input-field input { + padding-right: 3.25rem; + } } .poll-create-settings {