similarSpectrum.tsx 891 B

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