From 4ddaceb86da0606170cdfa50a728ba3c1e160388 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Sun, 30 Mar 2025 15:46:15 +0200 Subject: [PATCH] Poll: Adjust styles (#5616) --- src/components/middle/composer/PollModal.scss | 31 ++++++++++++-- src/components/middle/composer/PollModal.tsx | 40 +++++++++---------- src/components/middle/message/Poll.scss | 37 ++++++++--------- src/components/middle/message/Poll.tsx | 5 ++- src/components/middle/message/PollOption.scss | 4 +- src/components/middle/message/PollOption.tsx | 5 ++- src/components/ui/Radio.scss | 6 ++- src/components/ui/Radio.tsx | 1 + 8 files changed, 79 insertions(+), 50 deletions(-) diff --git a/src/components/middle/composer/PollModal.scss b/src/components/middle/composer/PollModal.scss index 08d233a3d..436814079 100644 --- a/src/components/middle/composer/PollModal.scss +++ b/src/components/middle/composer/PollModal.scss @@ -7,7 +7,6 @@ } .modal-content { - padding: 0.5rem 1.25rem 1.875rem; min-height: 4.875rem; } @@ -19,7 +18,7 @@ color: var(--color-text-secondary); font-size: 1rem; font-weight: var(--font-weight-medium); - margin: 1.5rem 0.25rem; + margin-top: 0.5rem; } .options-list { @@ -47,7 +46,7 @@ .option-remove-button { position: absolute; - top: 0.3125rem; + top: 0.125rem; right: 0.3125rem; } } @@ -55,12 +54,16 @@ .quiz-mode { margin-top: 1.5rem; + .dialog-checkbox-group { + margin: 0 -1.125rem; + } + .options-header { margin-bottom: 0.5rem; } .note { - margin-top: 0.5rem; + margin-top: -1rem; } } @@ -78,4 +81,24 @@ .input-group:last-child { margin-bottom: 0.5rem; } + + .radio-group { + display: flex; + flex-direction: column; + gap: 0.8125rem; + margin-left: -1.125rem; + + .Radio, &:hover { + background-color: transparent; + } + } + + .Checkbox, + .Radio { + .Checkbox-main, + .Radio-main { + width: 100%; + max-height: 3rem; + } + } } diff --git a/src/components/middle/composer/PollModal.tsx b/src/components/middle/composer/PollModal.tsx index fd385c12e..7226dcded 100644 --- a/src/components/middle/composer/PollModal.tsx +++ b/src/components/middle/composer/PollModal.tsx @@ -265,6 +265,7 @@ const PollModal: FC = ({ return options.map((option, index) => (
= ({
- {!shouldBeAnonymous && ( +
+ {!shouldBeAnonymous && ( + + )} - )} - - + +
{isQuizMode && ( <>

{lang('lng_polls_solution_title')}

diff --git a/src/components/middle/message/Poll.scss b/src/components/middle/message/Poll.scss index 2e69c207b..e79589ec8 100644 --- a/src/components/middle/message/Poll.scss +++ b/src/components/middle/message/Poll.scss @@ -27,26 +27,15 @@ } .poll-voters-count { - margin: 0.4375rem 0 1.125rem; + margin: 0 0 1.125rem; text-align: center; } - .poll-answers { - padding-top: 0.25rem; - padding-bottom: 1rem; - } - .Checkbox, .Radio { + min-height: 2.5rem; padding-left: 2.25rem; - - &:last-child { - margin-bottom: 0.75rem; - } - - &:first-child { - margin-top: 0; - } + padding-bottom: 1.25rem; &.disabled { opacity: 1 !important; @@ -59,13 +48,19 @@ .Checkbox-main, .Radio-main { + .label { + line-height: 1.3125rem; + } + &::before { + top: 0.6875rem; left: 0.125rem; background-color: var(--background-color); --color-borders-input: var(--secondary-color); } &::after { + top: 0.6875rem; left: 0.4375rem; background-color: var(--accent-color); } @@ -79,11 +74,17 @@ } .Spinner { + top: 0.6875rem; left: 0.125rem; } } .Checkbox { + &.loading { + .Spinner { + top: 0; + } + } .Checkbox-main { &::after { left: 0.125rem; @@ -150,12 +151,6 @@ } } - .poll-results, - .poll-answers { - padding-top: 0.25rem; - padding-bottom: 0.5rem; - } - .Button { text-transform: none; font-size: 1rem; @@ -167,6 +162,6 @@ } > .Button { - margin-bottom: 0.625rem; + margin-bottom: 0.1875rem; } } diff --git a/src/components/middle/message/Poll.tsx b/src/components/middle/message/Poll.tsx index 76039eca6..e7e56fd2d 100644 --- a/src/components/middle/message/Poll.tsx +++ b/src/components/middle/message/Poll.tsx @@ -270,7 +270,10 @@ const Poll: FC = ({ )}
{canVote && ( -
+
{isMultiple ? ( = ({ correctResults, shouldAnimate, }) => { + const lang = useLang(); const result = voteResults && voteResults.find((r) => r.option === answer.option); const correctAnswer = correctResults.length === 0 || correctResults.indexOf(answer.option) !== -1; const showIcon = (correctResults.length > 0 && correctAnswer) || (result?.isChosen); @@ -51,7 +54,7 @@ const PollOption: FC = ({ const lineStyle = `width: ${lineWidth}%; transform:scaleX(${isAnimationDoesNotStart ? 0 : 1})`; return ( -
+
{answerPercent}% {showIcon && ( diff --git a/src/components/ui/Radio.scss b/src/components/ui/Radio.scss index 2b4a3593f..f3013e7ea 100644 --- a/src/components/ui/Radio.scss +++ b/src/components/ui/Radio.scss @@ -48,6 +48,10 @@ visibility: hidden; } } + + &:hover { + background-color: transparent; + } } > input { @@ -92,7 +96,7 @@ word-break: break-word; unicode-bidi: plaintext; text-align: left; - line-height: 1.25rem; + line-height: 1.5rem; } .subLabel { diff --git a/src/components/ui/Radio.tsx b/src/components/ui/Radio.tsx index daed034ee..7ac69d046 100644 --- a/src/components/ui/Radio.tsx +++ b/src/components/ui/Radio.tsx @@ -48,6 +48,7 @@ const Radio: FC = ({ onSubLabelClick, }) => { const lang = useOldLang(); + const fullClassName = buildClassName( 'Radio', className,