mirror of
https://github.com/vector-im/element-web.git
synced 2025-12-26 19:51:40 +01:00
* Remove poll ended event UI. * Add better aria labels for screen reader and change ui to match mobile UX. - Checkmark and progress bar are only green if the poll is ended. - Updated the Poll icon for open and ended state and added labels - Right align total votes count and update text * Update jest tests * Fix total votes alignment * Fix screenshots * Update snapshot * Update e2e tests * fix more e2e tests * Clean up CSS * Add back text for undisclosed poll (total should be hidden) * Update checkmark and progress colours to more closely match mobile * Don't compute optionNumber on each render * "Total votes" working doesn't really work with the current web behaviour Web doesn't show the votes for undisclosed polls(mobile does). reverting and that behaviour change should be addressed in a different PR(or on mobile.). * Fix e2e test * Update screenshots * Move positioning of total votes label back to the left side as we are no longer changing the copy to match mobile * Don't concatenate label * Fix translation order * Remove unneeded translations * remove O(n^2) code * fix snapshots * Fix check style in poll option * prettier
126 lines
3.2 KiB
Plaintext
126 lines
3.2 KiB
Plaintext
/*
|
|
Copyright 2024 New Vector Ltd.
|
|
Copyright 2023 The Matrix.org Foundation C.I.C.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
.mx_PollOption {
|
|
border: 1px solid $quinary-content;
|
|
border-radius: 8px;
|
|
padding: 6px 12px;
|
|
background-color: $background;
|
|
|
|
.mx_StyledRadioButton_content,
|
|
.mx_PollOption_endedOption {
|
|
padding-top: 2px;
|
|
margin-right: 0px;
|
|
}
|
|
|
|
.mx_StyledRadioButton_spacer {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.mx_PollOption,
|
|
/* label has cursor: default in user-agent stylesheet */
|
|
/* override */
|
|
.mx_PollOption_live-option {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.mx_PollOption_content {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.mx_PollOption_optionVoteCount {
|
|
color: $secondary-content;
|
|
font-size: $font-12px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.mx_PollOption_winnerIcon {
|
|
height: 12px;
|
|
width: 12px;
|
|
color: var(--cpd-color-icon-accent-tertiary);
|
|
margin-right: $spacing-4;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.mx_PollOption_checked {
|
|
.mx_PollOption_popularityBackground {
|
|
.mx_PollOption_popularityAmount {
|
|
background-color: var(--cpd-color-icon-primary);
|
|
}
|
|
}
|
|
|
|
/* override checked radio button styling to show checkmark instead */
|
|
.mx_StyledRadioButton_checked {
|
|
input[type="radio"]:checked + div {
|
|
position: relative;
|
|
border-width: 2px;
|
|
border-color: var(--cpd-color-icon-primary);
|
|
background-color: var(--cpd-color-icon-primary);
|
|
|
|
&::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
mask-image: url("@vector-im/compound-design-tokens/icons/check.svg");
|
|
mask-size: 12px 12px;
|
|
mask-repeat: no-repeat;
|
|
mask-position: center;
|
|
background-color: var(--cpd-color-icon-on-solid-primary);
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
|
|
div {
|
|
visibility: hidden;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.mx_PollOption_ended.mx_PollOption_checked {
|
|
.mx_PollOption_popularityBackground {
|
|
.mx_PollOption_popularityAmount {
|
|
background-color: var(--cpd-color-icon-accent-tertiary);
|
|
}
|
|
}
|
|
|
|
/* override checked radio button styling to show checkmark instead */
|
|
.mx_StyledRadioButton_checked {
|
|
input[type="radio"]:checked + div {
|
|
border-color: var(--cpd-color-icon-accent-tertiary);
|
|
background-color: var(--cpd-color-icon-accent-tertiary);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* options not actionable in these states */
|
|
.mx_PollOption_checked,
|
|
.mx_PollOption_ended {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.mx_PollOption_popularityBackground {
|
|
width: 100%;
|
|
height: 8px;
|
|
margin-right: 12px;
|
|
border-radius: 8px;
|
|
background-color: $system;
|
|
margin-top: $spacing-8;
|
|
|
|
.mx_PollOption_popularityAmount {
|
|
width: 0%;
|
|
height: 8px;
|
|
border-radius: 8px;
|
|
background-color: var(--cpd-color-icon-primary);
|
|
}
|
|
}
|