From 35703539d0f2b4ddb3b11d0de8c9634af59ab71f Mon Sep 17 00:00:00 2001 From: Hsuan Lee Date: Wed, 6 Mar 2019 17:46:50 +0800 Subject: Deploy @dexon-foundation/0x.js --- packages/website/ts/pages/about/jobs.tsx | 238 ---------------------- packages/website/ts/pages/about/mission.tsx | 97 --------- packages/website/ts/pages/about/press.tsx | 94 --------- packages/website/ts/pages/about/team.tsx | 296 ---------------------------- 4 files changed, 725 deletions(-) delete mode 100644 packages/website/ts/pages/about/jobs.tsx delete mode 100644 packages/website/ts/pages/about/mission.tsx delete mode 100644 packages/website/ts/pages/about/press.tsx delete mode 100644 packages/website/ts/pages/about/team.tsx (limited to 'packages/website/ts/pages/about') diff --git a/packages/website/ts/pages/about/jobs.tsx b/packages/website/ts/pages/about/jobs.tsx deleted file mode 100644 index 85c25a75f..000000000 --- a/packages/website/ts/pages/about/jobs.tsx +++ /dev/null @@ -1,238 +0,0 @@ -import * as _ from 'lodash'; -import * as React from 'react'; -import DocumentTitle from 'react-document-title'; -import styled from 'styled-components'; - -import { AboutPageLayout } from 'ts/components/aboutPageLayout'; -import { Link } from 'ts/components/link'; -import { Column, FlexWrap, Section } from 'ts/components/newLayout'; -import { Heading, Paragraph } from 'ts/components/text'; -import { Container } from 'ts/components/ui/container'; -import { colors } from 'ts/style/colors'; -import { WebsiteBackendJobInfo } from 'ts/types'; -import { backendClient } from 'ts/utils/backend_client'; -import { constants } from 'ts/utils/constants'; - -const OPEN_POSITIONS_HASH = 'positions'; - -interface PositionProps { - title: string; - location: string; - href: string; -} - -interface PositionItemProps { - position: PositionProps; -} - -const Position: React.FunctionComponent = (props: PositionItemProps) => { - const { position } = props; - return ( - - - - - - {position.title} - - - - - - - - {position.location} - - - - - - - Apply - - - - - ); -}; - -export interface NextAboutJobsProps {} -interface NextAboutJobsState { - jobInfos: WebsiteBackendJobInfo[]; -} - -export class NextAboutJobs extends React.Component { - private _isUnmounted: boolean; - private static _convertJobInfoToPositionProps(jobInfo: WebsiteBackendJobInfo): PositionProps { - return { - title: jobInfo.title, - location: jobInfo.office, - href: jobInfo.url, - }; - } - constructor(props: NextAboutJobsProps) { - super(props); - this.state = { - jobInfos: [], - }; - } - - public componentWillMount(): void { - // tslint:disable-next-line:no-floating-promises - this._fetchJobInfosAsync(); - } - public componentWillUnmount(): void { - this._isUnmounted = true; - } - public render(): React.ReactNode { - const positions = this.state.jobInfos.map(jobInfo => NextAboutJobs._convertJobInfoToPositionProps(jobInfo)); - return ( - - - To create a tokenized world where all value can flow freely. - - - We are growing an ecosystem of businesses and projects by solving difficult challenges to - make our technology intuitive, flexible, and accessible to all. Join us in building - infrastructure upon which the exchange of all assets will take place. - - - } - linkLabel="Our mission and values" - href={constants.URL_MISSION_AND_VALUES_BLOG_POST} - > - -
- - - Powered by a Diverse, Global Community - - - - We're a highly technical team with varied backgrounds in engineering, science, business, - finance, and research. While the Core Team is headquartered in San Francisco, there are 30+ - teams building on 0x and hundreds of thousands of participants behind our efforts worldwide. - We're passionate about open-source software and decentralized technology's potential to act - as an equalizing force in the world. - - - - - - Map of community - - -
- -
- - Benefits - - - - -
  • Comprehensive Insurance
  • -
  • Unlimited Vacation
  • -
  • Meals and snacks provided daily
  • -
  • Flexible hours and liberal work-from-home-policy
  • -
  • Supportive of remote working
  • -
  • Transportation, phone, and wellness expense
  • -
  • Relocation assistance
  • -
  • Optional team excursions
  • -
  • Competitive salary
  • -
  • Cryptocurrency based compensation
  • -
    -
    -
    - -
    - - - Current -
    - Openings -
    -
    - - - {_.map(positions, (position, index) => ( - - ))} - -
    -
    - ); - } - private async _fetchJobInfosAsync(): Promise { - try { - if (!this._isUnmounted) { - this.setState({ - jobInfos: [], - }); - } - const jobInfos = await backendClient.getJobInfosAsync(); - if (!this._isUnmounted) { - this.setState({ - jobInfos, - }); - } - } catch (error) { - if (!this._isUnmounted) { - this.setState({ - jobInfos: [], - }); - } - } - } -} - -const BenefitsList = styled.ul` - color: #000; - font-weight: 300; - line-height: 1.444444444; - list-style: disc; - columns: auto 2; - column-gap: 80px; - - li { - margin-bottom: 1em; - } -`; - -const ImageWrap = styled.figure` - @media (min-width: 768px) { - height: 600px; - padding-left: 60px; - display: flex; - align-items: flex-end; - } -`; - -const StyledColumn = styled(Column)` - flex-shrink: 0; - - @media (max-width: 768px) { - & + & { - margin-top: 15px; - } - } -`; - -const PositionWrap = styled(FlexWrap)` - margin-bottom: 40px; - padding-bottom: 30px; - position: relative; - - &:after { - content: ''; - width: 100%; - position: absolute; - bottom: 0; - left: 0; - height: 1px; - background-color: #e3e3e3; - } -`; diff --git a/packages/website/ts/pages/about/mission.tsx b/packages/website/ts/pages/about/mission.tsx deleted file mode 100644 index ab8949fae..000000000 --- a/packages/website/ts/pages/about/mission.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import * as _ from 'lodash'; -import * as React from 'react'; -import DocumentTitle from 'react-document-title'; -import styled from 'styled-components'; - -import { AboutPageLayout } from 'ts/components/aboutPageLayout'; -import { Definition } from 'ts/components/definition'; -import { Image } from 'ts/components/image'; -import { Column, Section } from 'ts/components/newLayout'; -import { Heading } from 'ts/components/text'; -import { constants } from 'ts/utils/constants'; - -const values = [ - { - title: 'Do The Right Thing', - description: - 'We acknowledge the broad subjectivity behind doing “the right thing,” and are committed to rigorously exploring its nuance in our decision making. We believe this responsibility drives our decision making above all else, and pledge to act in the best interest of our peers, community, and society as a whole.', - icon: 'right-thing', - }, - { - title: 'Consistently Ship', - description: - 'Achieving our mission requires dedication and diligence. We aspire to be an organization that consistently ships. We set high-impact goals that are rooted in data and pride ourselves in consistently outputting outstanding results across the organization.', - icon: 'consistently-ship', - }, - { - title: 'Focus on Long-term Impact', - description: - 'We anticipate that over time, awareness of the fundamentally disruptive nature of frictionless global exchange will cause some to see this technology as a threat. There will be setbacks, some will claim that this technology is too disruptive, and we will face adversity. Persistence and a healthy long-term focus will see us through these battles.', - icon: 'long-term-impact', - }, -]; - -export const NextAboutMission = () => ( - - -
    - - 0x Offices - -
    - -
    - - - Core Values - - - - - - {_.map(values, (item, index) => ( - - ))} - - -
    -
    -); - -const StyledDefinition = styled(Definition)` - & + & { - margin-top: 30px; - padding-top: 30px; - border-top: 1px solid #eaeaea; - } -`; - -const FullWidthImage = styled.figure` - width: 100vw; - margin-left: calc(50% - 50vw); - - img { - width: 100%; - height: 100%; - object-fit: cover; - } - - @media (min-width: 768px) { - height: 500px; - } - - @media (max-width: 768px) { - height: 400px; - } -`; diff --git a/packages/website/ts/pages/about/press.tsx b/packages/website/ts/pages/about/press.tsx deleted file mode 100644 index 03003d656..000000000 --- a/packages/website/ts/pages/about/press.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import * as _ from 'lodash'; -import * as React from 'react'; -import DocumentTitle from 'react-document-title'; -import styled from 'styled-components'; - -import { AboutPageLayout } from 'ts/components/aboutPageLayout'; -import { Button } from 'ts/components/button'; -import { Column, FlexWrap } from 'ts/components/newLayout'; -import { Paragraph } from 'ts/components/text'; - -interface HighlightProps { - logo: string; - title?: string; - text: string; - href: string; -} - -interface HighlightItemProps { - highlight: HighlightProps; -} - -const highlights: HighlightProps[] = [ - { - logo: '/images/press/logo-forbes.png', - title: 'Forbes', - text: - '0x Instant is aiming to aid businesses and developers such as news sites, crypto wallets, dApps or price trackers to monetize or add a new revenue stream to their existing pipeline.', - href: - 'https://www.forbes.com/sites/rebeccacampbell1/2018/12/06/0x-launches-instant-delivers-an-easy-and-flexible-way-to-buy-crypto-tokens/#bfb73a843561', - }, - { - logo: '/images/press/logo-venturebeat.png', - title: 'VentureBeat', - text: '0x leads the way for ‘tokenization’ of the world, and collectible game items are next', - href: - 'https://venturebeat.com/2018/09/24/0x-leads-the-way-for-tokenization-of-the-world-and-collectible-game-items-are-next/', - }, - { - logo: '/images/press/logo-fortune.png', - title: 'Fortune', - text: - 'In the future, many traditional investments like real estate and corporate shares will come in the form of digital tokens that are bought and transferred on a blockchain.', - href: 'http://fortune.com/2018/09/06/0x-harbor-blockchain/', - }, - { - logo: '/images/press/logo-techcrunch.png', - title: 'TechCrunch', - text: - '0x allows any developer to quickly build their own decentralized cryptocurrency exchange and decide their own fees.', - href: 'https://techcrunch.com/2018/07/16/0x/', - }, -]; - -export const NextAboutPress = () => ( - - - Want to write about 0x? Get in touch. - - - {_.map(highlights, (highlight, index) => ( - - ))} - - } - > - - -); - -export const Highlight: React.FunctionComponent = (props: HighlightItemProps) => { - const { highlight } = props; - return ( - - - {highlight.title} - - - - {highlight.text} - - - - ); -}; - -const HighlightWrap = styled(FlexWrap)` - border-top: 1px solid #eaeaea; - padding: 30px 0; -`; diff --git a/packages/website/ts/pages/about/team.tsx b/packages/website/ts/pages/about/team.tsx deleted file mode 100644 index 808fea049..000000000 --- a/packages/website/ts/pages/about/team.tsx +++ /dev/null @@ -1,296 +0,0 @@ -import * as _ from 'lodash'; -import * as React from 'react'; -import DocumentTitle from 'react-document-title'; -import styled from 'styled-components'; - -import { colors } from 'ts/style/colors'; - -import { AboutPageLayout } from 'ts/components/aboutPageLayout'; -import { Column, Section } from 'ts/components/newLayout'; -import { Heading, Paragraph } from 'ts/components/text'; -import { WebsitePaths } from 'ts/types'; - -interface TeamMember { - name: string; - title: string; - imageUrl?: string; -} - -const team: TeamMember[] = [ - { - imageUrl: '/images/team/willw.jpg', - name: 'Will Warren', - title: 'co-founder & CEO', - }, - { - imageUrl: '/images/team/amirb.jpg', - name: 'Amir Bandeali', - title: 'Co-founder & CTO', - }, - { - imageUrl: '/images/team/fabiob.jpg', - name: 'Fabio Berger', - title: 'engineering manager', - }, - { - imageUrl: '/images/team/alexv.jpg', - name: 'Alex Xu', - title: 'Director of operations', - }, - { - imageUrl: '/images/team/leonidL.jpg', - name: 'Leonid Logvinov', - title: 'engineer', - }, - { - imageUrl: '/images/team/benb.jpg', - name: 'Ben Burns', - title: 'designer', - }, - { - imageUrl: '/images/team/brandonm.jpg', - name: 'Brandon Millman', - title: 'senior engineer', - }, - { - imageUrl: '/images/team/toms.jpg', - name: 'Tom Schmidt', - title: 'product lead', - }, - { - imageUrl: '/images/team/jacobe.jpg', - name: 'Jacob Evans', - title: 'ecosystem engineer', - }, - { - imageUrl: '/images/team/blake.jpg', - name: 'Blake Henderson', - title: 'ecosystem programs lead', - }, - { - imageUrl: '/images/team/zack.jpg', - name: 'Zack Skelly', - title: 'lead recruiter', - }, - { - imageUrl: '/images/team/greg.jpg', - name: 'Greg Hysen', - title: 'blockchain engineer', - }, - { - imageUrl: '/images/team/remcoB.jpg', - name: 'Remco Bloemen', - title: 'technical fellow', - }, - { - imageUrl: '/images/team/francesco.jpg', - name: 'Francesco Agosti', - title: 'engineer', - }, - { - imageUrl: '/images/team/melo.jpg', - name: 'Mel Oberto', - title: 'people operations associate', - }, - { - imageUrl: '/images/team/alexb.jpg', - name: 'Alex Browne', - title: 'engineer in residence', - }, - { - imageUrl: '/images/team/peterz.jpg', - name: 'Peter Zeitz', - title: 'research fellow', - }, - { - imageUrl: '/images/team/chrisk.jpg', - name: 'Chris Kalani', - title: 'director of design', - }, - { - imageUrl: '/images/team/clayr.jpg', - name: 'Clay Robbins', - title: 'ecosystem development lead', - }, - { - imageUrl: '/images/team/mattt.jpg', - name: 'Matt Taylor', - title: 'marketing lead', - }, - { - imageUrl: '/images/team/eugenea.jpg', - name: 'Eugene Aumson', - title: 'engineer', - }, - { - imageUrl: '/images/team/weijew.jpg', - name: 'Weijie Wu', - title: 'research fellow', - }, - { - imageUrl: '/images/team/rahuls.jpg', - name: 'Rahul Singireddy', - title: 'relayer success manager', - }, - { - imageUrl: '/images/team/jasons.jpg', - name: 'Jason Somensatto', - title: 'strategic legal counsel', - }, - { - imageUrl: '/images/team/steveK.jpg', - name: 'Steve Klebanoff', - title: 'senior engineer', - }, - { - imageUrl: '/images/team/xianny.jpg', - name: 'Xianny Ng', - title: 'engineer', - }, - { - imageUrl: '/images/team/oshirob.png', - name: 'Brent Oshiro', - title: 'community engagement lead', - }, - { - imageUrl: '/images/team/marcs.jpg', - name: 'Marc Savino', - title: 'technical sourcer', - }, -]; - -const advisors: TeamMember[] = [ - { - imageUrl: '/images/team/advisors/frede.jpg', - name: 'Fred Ehrsam', - title: 'Advisor', - }, - { - imageUrl: '/images/team/advisors/olafc.jpg', - name: 'Olaf Carlson-Wee', - title: 'Advisor', - }, - { - imageUrl: '/images/team/advisors/joeyk.jpg', - name: 'Joey Krug', - title: 'Advisor', - }, - { - imageUrl: '/images/team/advisors/lindax.jpg', - name: 'Linda Xie', - title: 'Advisor', - }, - { - imageUrl: '/images/team/advisors/davids.jpg', - name: 'David Sacks', - title: 'Advisor', - }, -]; - -export const NextAboutTeam = () => ( - - -
    - - 0x Team - - - - - {_.map(team, (info: TeamMember, index: number) => ( - - ))} - - -
    - -
    - - Advisors - - - - - {_.map(advisors, (info: TeamMember, index: number) => ( - - ))} - - -
    -
    -); - -const StyledGrid = styled.div` - &:after { - content: ''; - clear: both; - } -`; - -const Member = ({ name, title, imageUrl }: TeamMember) => ( - - {name} - {name} - - {title} - - -); - -const StyledMember = styled.div` - margin-bottom: 10px; - float: left; - width: calc(50% - 15px); - margin-right: 15px; - - @media (max-width: 600px) { - &:nth-child(2n + 1) { - clear: left; - } - } - - img, - svg { - width: 100%; - height: auto; - object-fit: contain; - margin-bottom: 10px; - } - - @media (min-width: 600px) { - width: calc(33.3333% - 30px); - margin-right: 20px; - - &:nth-child(3n + 1) { - clear: left; - } - } - - @media (min-width: 900px) { - width: calc(25% - 30px); - - &:nth-child(3n + 1) { - clear: none; - } - - &:nth-child(4n + 1) { - clear: left; - } - } -`; - -const Name = styled.h3` - color: ${colors.textDarkPrimary}; - font-size: 14px; - line-height: 1; - margin: 0; -`; - -const MemberTitle = styled(Paragraph)` - font-size: 14px; -`; -- cgit v1.2.3