39 lines
		
	
	
		
			850 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			850 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import * as React from 'react';
 | 
						|
import styled from 'styled-components';
 | 
						|
 | 
						|
import { ThemeInterface } from 'ts/components/siteWrap';
 | 
						|
import LogoIcon from 'ts/icons/logo-with-type.svg';
 | 
						|
 | 
						|
interface LogoInterface {
 | 
						|
    theme?: ThemeInterface;
 | 
						|
}
 | 
						|
 | 
						|
// Note let's refactor this
 | 
						|
// is it absolutely necessary to have a stateless component
 | 
						|
// to pass props down into the styled icon?
 | 
						|
const StyledLogo = styled.div`
 | 
						|
    text-align: left;
 | 
						|
    position: relative;
 | 
						|
    z-index: 25;
 | 
						|
 | 
						|
    @media (max-width: 800px) {
 | 
						|
        svg {
 | 
						|
            width: 60px;
 | 
						|
        }
 | 
						|
    }
 | 
						|
`;
 | 
						|
 | 
						|
const Icon = styled(LogoIcon)<LogoInterface>`
 | 
						|
    flex-shrink: 0;
 | 
						|
 | 
						|
    path {
 | 
						|
        fill: ${props => props.theme.textColor};
 | 
						|
    }
 | 
						|
`;
 | 
						|
 | 
						|
export const Logo: React.StatelessComponent<LogoInterface> = (props: LogoInterface) => (
 | 
						|
    <StyledLogo>
 | 
						|
        <Icon {...props} />
 | 
						|
    </StyledLogo>
 | 
						|
);
 |