import * as _ from 'lodash'; import * as React from 'react'; import { Circle } from 'ts/components/ui/circle'; import { Container } from 'ts/components/ui/container'; import { Image } from 'ts/components/ui/image'; import { Text } from 'ts/components/ui/text'; import { colors } from 'ts/style/colors'; import { styled } from 'ts/style/theme'; import { ScreenWidths } from 'ts/types'; import { constants } from 'ts/utils/constants'; const BENEFITS = [ 'Comprehensive insurance (medical, dental, and vision)', 'Unlimited vacation (three weeks per year minimum)', 'Meals and snacks provided in-office daily', 'Flexible hours and liberal work-from-home-policy', 'Supportive remote working environment', 'Transportation, phone, and wellness expense', 'Relocation assistance', 'Optional team excursions (fully paid, often international)', 'Competitive salary and cryptocurrency-based compensation', ]; interface Value { iconSrc: string; text: string; } const VALUES: Value[] = [ { iconSrc: 'images/jobs/heart-icon.svg', text: 'Do the right thing', }, { iconSrc: 'images/jobs/ship-icon.svg', text: 'Consistently ship', }, { iconSrc: 'images/jobs/calendar-icon.svg', text: 'Focus on long term impact', }, ]; export interface BenefitsProps { screenWidth: ScreenWidths; } export const Benefits = (props: BenefitsProps) => { const isSmallScreen = props.screenWidth === ScreenWidths.Sm; return ( {!isSmallScreen ? ( ) : ( )} ); }; const Header: React.StatelessComponent = ({ children }) => ( {children} ); interface BenefitsListProps { className?: string; } const PlainBenefitsList: React.StatelessComponent = ({ className }) => { return (
Benefits
{_.map(BENEFITS, benefit => )}
); }; const BenefitsList = styled(PlainBenefitsList)` transform: translateY(30px); `; interface BenefitItemProps { description: string; } const BenefitItem: React.StatelessComponent = ({ description }) => (
{description}
); interface ValuesListProps { className?: string; } const PlainValuesList: React.StatelessComponent = ({ className }) => { return (
Our Values
{_.map(VALUES, value => )} We care deeply about our culture and values, and encourage you to{' '} read more on our blog .
); }; const ValuesList = styled(PlainValuesList)` border-color: ${colors.beigeWhite}; border-radius: 7px; border-width: 1px; border-style: solid; padding-left: 38px; padding-right: 38px; padding-top: 28px; padding-bottom: 28px; `; type ValueItemProps = Value; const ValueItem: React.StatelessComponent = ({ iconSrc, text }) => { return (
{text}
); };