similarSpectrum.tsx 864 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import styled from '@emotion/styled';
  2. import {t} from 'app/locale';
  3. type Props = {
  4. className?: string;
  5. };
  6. function SimilarSpectrum({className}: Props) {
  7. return (
  8. <div className={className}>
  9. <span>{t('Similar')}</span>
  10. <SpectrumItem colorIndex={4} />
  11. <SpectrumItem colorIndex={3} />
  12. <SpectrumItem colorIndex={2} />
  13. <SpectrumItem colorIndex={1} />
  14. <SpectrumItem colorIndex={0} />
  15. <span>{t('Not Similar')}</span>
  16. </div>
  17. );
  18. }
  19. const StyledSimilarSpectrum = styled(SimilarSpectrum)`
  20. display: flex;
  21. font-size: ${p => p.theme.fontSizeSmall};
  22. `;
  23. type ItemProps = {
  24. colorIndex: number;
  25. };
  26. const SpectrumItem = styled('span')<ItemProps>`
  27. border-radius: 2px;
  28. margin: 5px;
  29. width: 14px;
  30. ${p => `background-color: ${p.theme.similarity.colors[p.colorIndex]};`};
  31. `;
  32. export default StyledSimilarSpectrum;