Browse Source

Polls:

Fix update poll when 'min' in results
Fix creation bug
Fix overflow in answer input field
Fix creation popup height
master
morethanwords 4 years ago
parent
commit
2ddc209ee5
  1. 2
      src/components/popupCreatePoll.ts
  2. 22
      src/lib/appManagers/appPollsManager.ts
  3. 6
      src/scss/partials/popups/_createPoll.scss

2
src/components/popupCreatePoll.ts

@ -159,7 +159,7 @@ export default class PopupCreatePoll extends PopupElement {
} }
const quizSolution = this.quizSolutionInput.value.trim() || undefined; const quizSolution = this.quizSolutionInput.value.trim() || undefined;
if(quizSolution.length > MAX_LENGTH_SOLUTION) { if(quizSolution?.length > MAX_LENGTH_SOLUTION) {
toast('Explanation is too long.'); toast('Explanation is too long.');
return; return;
} }

22
src/lib/appManagers/appPollsManager.ts

@ -1,5 +1,5 @@
import { InputMedia } from "../../layer"; import { InputMedia } from "../../layer";
import { logger, LogLevels } from "../logger"; import { logger } from "../logger";
import apiManager from "../mtproto/mtprotoworker"; import apiManager from "../mtproto/mtprotoworker";
import { MOUNT_CLASS_TO } from "../mtproto/mtproto_config"; import { MOUNT_CLASS_TO } from "../mtproto/mtproto_config";
import { RichTextProcessor } from "../richtextprocessor"; import { RichTextProcessor } from "../richtextprocessor";
@ -74,7 +74,7 @@ class AppPollsManager {
public polls: {[id: string]: Poll} = {}; public polls: {[id: string]: Poll} = {};
public results: {[id: string]: PollResults} = {}; public results: {[id: string]: PollResults} = {};
private log = logger('POLLS', LogLevels.error); private log = logger('POLLS'/* , LogLevels.error */);
constructor() { constructor() {
$rootScope.$on('apiUpdate', (e) => { $rootScope.$on('apiUpdate', (e) => {
@ -89,7 +89,7 @@ class AppPollsManager {
case 'updateMessagePoll': { // when someone voted, we too case 'updateMessagePoll': { // when someone voted, we too
this.log('updateMessagePoll:', update); 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) { if(!poll) {
break; break;
} }
@ -124,13 +124,15 @@ class AppPollsManager {
public saveResults(poll: Poll, results: PollResults) { public saveResults(poll: Poll, results: PollResults) {
this.results[poll.id] = results; this.results[poll.id] = results;
poll.chosenIndexes.length = 0; if(!results.pFlags.min) { // ! https://core.telegram.org/constructor/pollResults - min
if(results?.results?.length) { poll.chosenIndexes.length = 0;
results.results.forEach((answer, idx) => { if(results?.results?.length) {
if(answer.pFlags?.chosen) { results.results.forEach((answer, idx) => {
poll.chosenIndexes.push(idx); if(answer.pFlags?.chosen) {
} poll.chosenIndexes.push(idx);
}); }
});
}
} }
} }

6
src/scss/partials/popups/_createPoll.scss

@ -4,7 +4,7 @@
#{$parent} { #{$parent} {
&-container { &-container {
//max-height: 468px; //max-height: 468px;
max-height: 640px; max-height: unquote('min(640px, 100%)');
padding: 0; padding: 0;
} }
} }
@ -46,6 +46,10 @@
.poll-create-questions { .poll-create-questions {
padding: 0px 1.25rem 2.03125rem; padding: 0px 1.25rem 2.03125rem;
.input-field input {
padding-right: 3.25rem;
}
} }
.poll-create-settings { .poll-create-settings {

Loading…
Cancel
Save