ant-design/site/theme/template/Home/index.jsx

121 lines
3.1 KiB
React
Raw Normal View History

2016-02-29 14:08:40 +08:00
import React from 'react';
import DocumentTitle from 'react-document-title';
import Layout from '../Layout';
2016-03-03 17:23:08 +08:00
import Link from './Link';
import Banner from './Banner';
import Page1 from './Page1';
import Page2 from './Page2';
import Page3 from './Page3';
import Page4 from './Page4';
2016-06-09 15:00:44 +08:00
import Promise from 'bluebird';
import * as utils from '../utils';
export function collect(nextProps, callback) {
const componentsList = utils.collectDocs(nextProps.data.components);
Promise.all(componentsList)
.then((list) => callback(null, { ...nextProps, components: list }));
}
2016-03-23 14:15:00 +08:00
2016-03-03 17:23:08 +08:00
export default class Home extends React.Component {
2016-06-03 15:26:25 +08:00
componentWillMount() {
if (location.hash) {
const pathname = location.hash.replace(/^#/, '').replace('?scrollTo=', '#');
location.href = pathname;
}
}
2016-03-03 17:23:08 +08:00
// To store style which is only for Home and has conflicts with others.
getStyle() {
return `
2016-03-23 22:36:26 +08:00
#react-content,
#react-content > div {
2016-03-03 17:23:08 +08:00
height: 100%;
2016-03-23 22:36:26 +08:00
}
.main-wrapper {
2016-03-03 17:23:08 +08:00
background: transparent;
width: auto;
margin: 0;
border-radius: 0;
padding: 0;
overflow: unset;
display: inline;
min-height: 600px;
2016-03-23 22:36:26 +08:00
}
#header {
2016-03-03 17:23:08 +08:00
position: fixed;
z-index: 999;
background: rgba(0, 0, 0, 0.25);
border-bottom: 1px solid transparent;
transition: border .5s cubic-bezier(0.455, 0.03, 0.515, 0.955), background .5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
2016-03-23 22:36:26 +08:00
}
#header .ant-select-selection,
#header .ant-menu {
2016-03-03 17:23:08 +08:00
background: transparent;
2016-03-23 22:36:26 +08:00
}
2016-04-28 15:42:02 +08:00
#header.home-nav-white {
background: rgba(255, 255, 255, 0.9);
border-bottom-color: #EBEDEE;
}
.home-nav-white #search-box {
border-left-color: #EBEDEE;
}
.home-nav-white #nav a {
color: #666;
}
2016-05-15 20:09:47 +08:00
.nav-phone-icon:before {
background: #eee;
box-shadow: 0 7px 0 0 #eee, 0 14px 0 0 #eee;
}
.home-nav-white .nav-phone-icon:before {
background: #777;
box-shadow: 0 7px 0 0 #777, 0 14px 0 0 #777;
}
2016-04-25 12:07:15 +08:00
#lang,
2016-03-23 22:36:26 +08:00
#nav a {
2016-03-03 17:23:08 +08:00
color: #eee;
transition: color 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
2016-03-23 22:36:26 +08:00
}
#search-box {
2016-03-03 17:23:08 +08:00
border-left-color: rgba(235, 237, 238, .5);
transition: border 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
2016-03-23 22:36:26 +08:00
}
section {
2016-03-03 17:23:08 +08:00
height: 100%;
width: 100%;
background: #fff;
2016-03-23 22:36:26 +08:00
}
#footer {
2016-03-03 17:23:08 +08:00
background: #000;
2016-03-23 22:36:26 +08:00
}
#footer,
#footer h2 {
2016-03-03 17:23:08 +08:00
color: #999;
2016-03-23 22:36:26 +08:00
}
#footer a {
2016-03-03 17:23:08 +08:00
color: #eee;
2016-03-23 22:36:26 +08:00
}
2016-05-17 00:01:25 +08:00
.down {
animation: upDownMove 1.2s ease-in-out infinite;
}
2016-03-23 22:36:26 +08:00
`;
2016-03-03 17:23:08 +08:00
}
render() {
return (
<DocumentTitle title="Ant Design - 一个 UI 设计语言">
<Layout {...this.props}>
<div className="main-wrapper">
<Link />
<Banner />
<Page1 />
<Page2 />
<Page3 />
<Page4 />
<style dangerouslySetInnerHTML={{ __html: this.getStyle() }} />
</div>
</Layout>
</DocumentTitle>
2016-03-03 17:23:08 +08:00
);
}
2016-02-29 14:08:40 +08:00
}