You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
4.1 KiB
219 lines
4.1 KiB
import styled, { css } from 'styled-components/macro'
|
|
|
|
import {
|
|
isIOS,
|
|
isMobileDevice,
|
|
devices,
|
|
} from 'config'
|
|
|
|
import { customScrollbar } from 'features/Common'
|
|
import { T9n } from 'features/T9n'
|
|
|
|
export const Wrapper = styled.div`
|
|
padding-right: 14px;
|
|
|
|
${isMobileDevice
|
|
? css`
|
|
overflow-y: auto;
|
|
width: 100%;
|
|
padding-right: 0;
|
|
|
|
${customScrollbar}
|
|
`
|
|
: ''};
|
|
`
|
|
|
|
export const TabsWrapper = styled.div``
|
|
|
|
type TabsGroupProps = {
|
|
hasLessThanFourTabs?: boolean,
|
|
}
|
|
|
|
export const TabsGroup = styled.div.attrs({ role: 'tablist' })<TabsGroupProps>`
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: ${isMobileDevice ? 30 : 20}px;
|
|
|
|
${({ hasLessThanFourTabs }) => (hasLessThanFourTabs
|
|
? css`
|
|
padding-top: 10px;
|
|
|
|
${Tab} {
|
|
justify-content: center;
|
|
flex-direction: row;
|
|
gap: 5px;
|
|
}
|
|
|
|
${TabIcon} {
|
|
margin-bottom: 0;
|
|
}
|
|
`
|
|
: '')}
|
|
`
|
|
|
|
export const TabTitle = styled(T9n)`
|
|
font-size: 10px;
|
|
font-weight: 500;
|
|
text-transform: uppercase;
|
|
color: ${({ theme }) => theme.colors.white};
|
|
`
|
|
|
|
export const Tab = styled.button.attrs({ role: 'tab' })`
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
opacity: 0.4;
|
|
cursor: pointer;
|
|
border: none;
|
|
background: none;
|
|
|
|
&[aria-pressed="true"], :hover {
|
|
opacity: 1;
|
|
|
|
${TabTitle} {
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
:only-child {
|
|
cursor: unset;
|
|
}
|
|
`
|
|
|
|
type TabIconProps = {
|
|
icon: 'watch' | 'plays' | 'players' | 'stats',
|
|
}
|
|
|
|
export const TabIcon = styled.div<TabIconProps>`
|
|
width: 22px;
|
|
height: 22px;
|
|
flex-shrink: 0;
|
|
margin-bottom: 5px;
|
|
background-image: url(/images/matchTabs/${({ icon }) => `${icon}.svg`});
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
background-size: contain;
|
|
|
|
${({ icon }) => (icon === 'players'
|
|
? css`
|
|
background-size: 25px;
|
|
`
|
|
: '')}
|
|
`
|
|
|
|
type TContainer = {
|
|
forWatchTab?: boolean,
|
|
hasScroll: boolean,
|
|
}
|
|
|
|
export const Container = styled.div<TContainer>`
|
|
width: 320px;
|
|
margin-top: 14px;
|
|
max-height: calc(100vh - 130px);
|
|
overflow-y: ${({ forWatchTab }) => (forWatchTab ? 'hidden' : 'auto')};
|
|
padding-right: ${({ forWatchTab }) => (forWatchTab ? '0' : '')};
|
|
padding-left: 14px;
|
|
padding-right: ${({ hasScroll }) => (hasScroll ? '10px' : '')};
|
|
|
|
${customScrollbar}
|
|
|
|
@media ${devices.tablet} {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
${isMobileDevice
|
|
? css`
|
|
padding: 0 5px;
|
|
padding-bottom: ${isIOS ? 60 : 78}px;
|
|
overflow-y: hidden;
|
|
max-height: initial;
|
|
|
|
@media (max-width: 750px){
|
|
width: 100%;
|
|
}
|
|
|
|
@media (orientation: landscape){
|
|
width: 100%;
|
|
}
|
|
`
|
|
: ''};
|
|
`
|
|
|
|
type ButtonProps = {
|
|
active?: boolean,
|
|
}
|
|
|
|
export const Button = styled.button<ButtonProps>`
|
|
border: none;
|
|
outline: none;
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(
|
|
180deg,
|
|
rgba(255, 255, 255, 0.1) 0%,
|
|
rgba(255, 255, 255, 0) 100%
|
|
),
|
|
#3F3F3F;
|
|
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);
|
|
border-radius: 2px;
|
|
|
|
${({ disabled }) => (
|
|
disabled
|
|
? css`
|
|
pointer-events: none;
|
|
opacity: 0.5;
|
|
`
|
|
: css`
|
|
cursor: pointer;
|
|
`
|
|
)}
|
|
|
|
:hover {
|
|
background-color: #555555;
|
|
}
|
|
|
|
@media ${devices.mobile} {
|
|
justify-content: center;
|
|
border-radius: 1.8px;
|
|
}
|
|
|
|
${({ active, theme }) => {
|
|
const bgColor = theme.colors.button
|
|
const bgHoverColor = theme.colors.buttonHover
|
|
|
|
return active ? css`
|
|
background-color: ${bgColor};
|
|
|
|
&:hover {
|
|
background-color: ${bgHoverColor};
|
|
}
|
|
` : ''
|
|
}}
|
|
`
|
|
|
|
export const Title = styled.span`
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
max-width: 55%;
|
|
line-height: 16px;
|
|
color: #ffffff;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow:ellipsis;
|
|
`
|
|
|
|
export const BlockTitle = styled.span`
|
|
font-weight: 600;
|
|
font-size: 12px;
|
|
line-height: 18px;
|
|
text-align: start;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
text-transform: uppercase;
|
|
`
|
|
|