src/components/AirQualityIndicators/Indicator.tsx (57 lines of code) (raw):
import { FC } from "react";
import { Box, Flex, Text } from "@chakra-ui/react";
import { useTranslation } from "react-i18next";
import { TextWithTooltip } from "@Components";
import { Progress } from "@UI";
type IndicatorProps = {
title: string;
color: string;
value: number;
};
export const Indicator: FC<IndicatorProps> = ({ title, color, value }) => {
const { t } = useTranslation();
const hint = title.toLowerCase();
const label = t(`hints.${hint}`);
return (
<Flex
fontSize="tiny"
justifyContent="space-between"
alignItems="center"
position="relative"
>
<TextWithTooltip
fontSize="medium"
lineHeight="medium"
label={label}
text={title}
iconSize="12px"
/>
<Box
pos="absolute"
left="96px"
w={{ base: "119px", md: "103px", lg: "168px" }}
>
<Progress
color={color}
value={value}
/>
</Box>
<Text
color="primaryColor"
fontWeight="700"
fontSize="medium"
display="inline-block"
verticalAlign="bottom"
>
{ value }
<Text
as="span"
fontWeight="initial"
color="parameter.secondary"
fontSize="tiny"
ml="4px"
>
µg/m³
</Text>
</Text>
</Flex>
);
};