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