Boost: Adjust styles to properly center the thumb in Firefox (#5695)
This commit is contained in:
parent
af3eebbdd1
commit
3b30fd84b5
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
.root :global(.modal-content) {
|
.root :global(.modal-content) {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.root :global(.modal-dialog) {
|
.root :global(.modal-dialog) {
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import {
|
|||||||
GIVEAWAY_MAX_ADDITIONAL_CHANNELS,
|
GIVEAWAY_MAX_ADDITIONAL_CHANNELS,
|
||||||
GIVEAWAY_MAX_ADDITIONAL_COUNTRIES,
|
GIVEAWAY_MAX_ADDITIONAL_COUNTRIES,
|
||||||
GIVEAWAY_MAX_ADDITIONAL_USERS,
|
GIVEAWAY_MAX_ADDITIONAL_USERS,
|
||||||
|
STARS_CURRENCY_CODE,
|
||||||
} from '../../../config';
|
} from '../../../config';
|
||||||
import { getUserFullName, isChatChannel } from '../../../global/helpers';
|
import { getUserFullName, isChatChannel } from '../../../global/helpers';
|
||||||
import {
|
import {
|
||||||
@ -217,7 +218,7 @@ const GiveawayModal: FC<OwnProps & StateProps> = ({
|
|||||||
}, [dataStarsPrepaidGiveaway, starsGiftOptions, isStarsPrepaidGiveaway]);
|
}, [dataStarsPrepaidGiveaway, starsGiftOptions, isStarsPrepaidGiveaway]);
|
||||||
|
|
||||||
const filteredGifts = useMemo(() => {
|
const filteredGifts = useMemo(() => {
|
||||||
return gifts?.filter((gift) => gift.users === selectedUserCount);
|
return gifts?.filter((gift) => gift.users === selectedUserCount && gift.currency !== STARS_CURRENCY_CODE);
|
||||||
}, [gifts, selectedUserCount]);
|
}, [gifts, selectedUserCount]);
|
||||||
|
|
||||||
const fullMonthlyAmount = useMemo(() => {
|
const fullMonthlyAmount = useMemo(() => {
|
||||||
@ -229,7 +230,8 @@ const GiveawayModal: FC<OwnProps & StateProps> = ({
|
|||||||
}, [filteredGifts]);
|
}, [filteredGifts]);
|
||||||
|
|
||||||
const userCountOptions = useMemo(() => {
|
const userCountOptions = useMemo(() => {
|
||||||
return unique((gifts?.map((winner) => winner.users) || [])).sort((a, b) => a - b);
|
return unique((gifts?.filter((gift) => gift.currency !== STARS_CURRENCY_CODE)
|
||||||
|
?.map((winner) => winner.users) || [])).sort((a, b) => a - b);
|
||||||
}, [gifts]);
|
}, [gifts]);
|
||||||
|
|
||||||
const winnerCountOptions = useMemo(() => {
|
const winnerCountOptions = useMemo(() => {
|
||||||
@ -691,7 +693,7 @@ const GiveawayModal: FC<OwnProps & StateProps> = ({
|
|||||||
dialogRef={dialogRef}
|
dialogRef={dialogRef}
|
||||||
onEnter={(dataPrepaidGiveaway || dataStarsPrepaidGiveaway) ? openConfirmModal : handleClick}
|
onEnter={(dataPrepaidGiveaway || dataStarsPrepaidGiveaway) ? openConfirmModal : handleClick}
|
||||||
>
|
>
|
||||||
<div className={styles.main} onScroll={handleScroll}>
|
<div className={buildClassName(styles.main, 'custom-scroll')} onScroll={handleScroll}>
|
||||||
<Button
|
<Button
|
||||||
round
|
round
|
||||||
size="smaller"
|
size="smaller"
|
||||||
|
|||||||
@ -15,6 +15,13 @@
|
|||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|
||||||
|
@supports (-moz-appearance: none) {
|
||||||
|
transform: scale(1) translate(calc(-10% + var(--thumb-offset)), 0);
|
||||||
|
&:hover {
|
||||||
|
transform: scale(1.5) translate(calc(-10% + var(--thumb-offset)), 0) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
transform: scale(1.5) translate(-30%, -30%);
|
transform: scale(1.5) translate(-30%, -30%);
|
||||||
}
|
}
|
||||||
@ -27,6 +34,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sliderContainer {
|
.sliderContainer {
|
||||||
|
--thumb-offset: 0%;
|
||||||
--fill-percentage: 0%;
|
--fill-percentage: 0%;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -86,10 +94,9 @@
|
|||||||
|
|
||||||
.tickMarks {
|
.tickMarks {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 2rem;
|
bottom: 0.25rem;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|||||||
@ -18,10 +18,6 @@ const RangeSliderWithMarks: FC<OwnProps> = ({ marks, onChange, rangeCount }) =>
|
|||||||
// eslint-disable-next-line no-null/no-null
|
// eslint-disable-next-line no-null/no-null
|
||||||
const sliderRef = useRef<HTMLInputElement | null>(null);
|
const sliderRef = useRef<HTMLInputElement | null>(null);
|
||||||
|
|
||||||
const fillPercentage = useMemo(() => {
|
|
||||||
return ((marks.indexOf(rangeCount) / (marks.length - 1)) * 100).toFixed(2);
|
|
||||||
}, [marks, rangeCount]);
|
|
||||||
|
|
||||||
const rangeCountIndex = useMemo(() => marks.indexOf(rangeCount), [marks, rangeCount]);
|
const rangeCountIndex = useMemo(() => marks.indexOf(rangeCount), [marks, rangeCount]);
|
||||||
|
|
||||||
const rangeValue = useMemo(() => {
|
const rangeValue = useMemo(() => {
|
||||||
@ -29,8 +25,13 @@ const RangeSliderWithMarks: FC<OwnProps> = ({ marks, onChange, rangeCount }) =>
|
|||||||
}, [marks, rangeCount]);
|
}, [marks, rangeCount]);
|
||||||
|
|
||||||
useLayoutEffect(() => {
|
useLayoutEffect(() => {
|
||||||
sliderRef.current!.style.setProperty('--fill-percentage', `${fillPercentage}%`);
|
if (sliderRef.current) {
|
||||||
}, [fillPercentage]);
|
const fillPercentage = (rangeCountIndex / (marks.length - 1)) * 100;
|
||||||
|
const thumbOffset = fillPercentage / 2;
|
||||||
|
sliderRef.current.style.setProperty('--fill-percentage', `${fillPercentage}%`);
|
||||||
|
sliderRef.current.style.setProperty('--thumb-offset', `${thumbOffset}%`);
|
||||||
|
}
|
||||||
|
}, [rangeCountIndex, marks]);
|
||||||
|
|
||||||
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
|
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
|
||||||
const index = parseInt(event.target.value, 10);
|
const index = parseInt(event.target.value, 10);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user