parent
ee3b93c622
commit
49403a6746
@ -1,276 +0,0 @@ |
|||||||
import { |
|
||||||
Container, |
|
||||||
Row, |
|
||||||
TeamShortName, |
|
||||||
ParamValueContainer, |
|
||||||
ParamValue, |
|
||||||
ParamTitle, |
|
||||||
} from './styled' |
|
||||||
|
|
||||||
export const TeamsStats = () => ( |
|
||||||
<Container> |
|
||||||
<Row> |
|
||||||
<TeamShortName>DIN</TeamShortName> |
|
||||||
<TeamShortName>SPA</TeamShortName> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue clickable>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue clickable>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
<Row> |
|
||||||
<ParamValueContainer> |
|
||||||
<ParamValue>90</ParamValue> |
|
||||||
</ParamValueContainer> |
|
||||||
<ParamTitle>Points</ParamTitle> |
|
||||||
<ParamValue>123</ParamValue> |
|
||||||
</Row> |
|
||||||
</Container> |
|
||||||
) |
|
||||||
@ -0,0 +1,30 @@ |
|||||||
|
import isNumber from 'lodash/isNumber' |
||||||
|
import find from 'lodash/find' |
||||||
|
|
||||||
|
import type { Param } from 'requests' |
||||||
|
|
||||||
|
import { useMatchPageStore } from 'features/MatchPage/store' |
||||||
|
|
||||||
|
export const useTeamsStatsTable = () => { |
||||||
|
const { profile, teamsStats } = useMatchPageStore() |
||||||
|
|
||||||
|
const getDisplayedValue = (val: any) => ( |
||||||
|
isNumber(val) ? val : '-' |
||||||
|
) |
||||||
|
|
||||||
|
const getStatItemById = (paramId: number) => { |
||||||
|
if (!profile) return null |
||||||
|
|
||||||
|
return find(teamsStats[profile?.team2.id], ({ param1 }) => param1.id === paramId) || null |
||||||
|
} |
||||||
|
|
||||||
|
const isClickable = (param: Param) => ( |
||||||
|
isNumber(param.val) && param.clickable |
||||||
|
) |
||||||
|
|
||||||
|
return { |
||||||
|
getDisplayedValue, |
||||||
|
getStatItemById, |
||||||
|
isClickable, |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,93 @@ |
|||||||
|
import { Fragment } from 'react' |
||||||
|
|
||||||
|
import map from 'lodash/map' |
||||||
|
|
||||||
|
import { useMatchPageStore } from 'features/MatchPage/store' |
||||||
|
import { useLexicsStore } from 'features/LexicsStore' |
||||||
|
|
||||||
|
import { useTeamsStatsTable } from './hooks' |
||||||
|
import { |
||||||
|
Container, |
||||||
|
Row, |
||||||
|
TeamShortName, |
||||||
|
ParamValueContainer, |
||||||
|
ParamValue, |
||||||
|
StatItemTitle, |
||||||
|
Divider, |
||||||
|
} from './styled' |
||||||
|
|
||||||
|
export const TeamsStatsTable = () => { |
||||||
|
const { profile, teamsStats } = useMatchPageStore() |
||||||
|
const { |
||||||
|
getDisplayedValue, |
||||||
|
getStatItemById, |
||||||
|
isClickable, |
||||||
|
} = useTeamsStatsTable() |
||||||
|
const { lang } = useLexicsStore() |
||||||
|
|
||||||
|
if (!profile) return null |
||||||
|
|
||||||
|
return ( |
||||||
|
<Container> |
||||||
|
<Row> |
||||||
|
<TeamShortName |
||||||
|
nameObj={profile.team1} |
||||||
|
prefix='abbrev_' |
||||||
|
/> |
||||||
|
<TeamShortName |
||||||
|
nameObj={profile.team2} |
||||||
|
prefix='abbrev_' |
||||||
|
/> |
||||||
|
</Row> |
||||||
|
|
||||||
|
{map(teamsStats[profile.team1.id], (team1StatItem) => { |
||||||
|
const team2StatItem = getStatItemById(team1StatItem.param1.id) |
||||||
|
const statItemTitle = team1StatItem[`name_${lang === 'ru' ? 'ru' : 'en'}`] |
||||||
|
|
||||||
|
return ( |
||||||
|
<Row key={team1StatItem.param1.id}> |
||||||
|
<ParamValueContainer> |
||||||
|
<ParamValue |
||||||
|
clickable={isClickable(team1StatItem.param1)} |
||||||
|
> |
||||||
|
{getDisplayedValue(team1StatItem.param1.val)} |
||||||
|
</ParamValue> |
||||||
|
{team1StatItem.param2 && ( |
||||||
|
<Fragment> |
||||||
|
<Divider>/</Divider> |
||||||
|
<ParamValue |
||||||
|
clickable={isClickable(team1StatItem.param2)} |
||||||
|
> |
||||||
|
{getDisplayedValue(team1StatItem.param2.val)} |
||||||
|
</ParamValue> |
||||||
|
</Fragment> |
||||||
|
)} |
||||||
|
</ParamValueContainer> |
||||||
|
|
||||||
|
<StatItemTitle>{statItemTitle}</StatItemTitle> |
||||||
|
|
||||||
|
{team2StatItem && ( |
||||||
|
<ParamValueContainer> |
||||||
|
<ParamValue |
||||||
|
clickable={isClickable(team2StatItem.param1)} |
||||||
|
> |
||||||
|
{getDisplayedValue(team2StatItem.param1.val)} |
||||||
|
</ParamValue> |
||||||
|
{team2StatItem.param2 && ( |
||||||
|
<Fragment> |
||||||
|
<Divider>/</Divider> |
||||||
|
<ParamValue |
||||||
|
clickable={isClickable(team2StatItem.param2)} |
||||||
|
> |
||||||
|
{getDisplayedValue(team2StatItem.param2.val)} |
||||||
|
</ParamValue> |
||||||
|
</Fragment> |
||||||
|
)} |
||||||
|
</ParamValueContainer> |
||||||
|
)} |
||||||
|
</Row> |
||||||
|
) |
||||||
|
})} |
||||||
|
</Container> |
||||||
|
) |
||||||
|
} |
||||||
Loading…
Reference in new issue