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

46 lines
1.7 KiB
React
Raw Normal View History

2016-03-03 17:23:08 +08:00
import React from 'react';
import { Link } from 'react-router';
import { FormattedMessage } from 'react-intl';
2016-03-03 17:23:08 +08:00
import TweenOne from 'rc-tween-one';
import ScrollOverPack from 'rc-scroll-anim/lib/ScrollOverPack';
2016-04-11 10:12:48 +08:00
import { Icon, Button } from 'antd';
2016-03-30 19:14:09 +08:00
import QueueAnim from 'rc-queue-anim';
2016-03-03 17:23:08 +08:00
2016-03-23 22:36:26 +08:00
const clientHeight = document.documentElement.clientHeight;
function onScrollEvent(e) {
const header = document.getElementById('header');
if (e.pageY >= clientHeight) {
if (header.className.indexOf('home-nav-bottom') < 0) {
header.className += ' home-nav-bottom';
}
} else if (header.className.indexOf('home-nav-bottom') >= 0) {
header.className = header.className.replace(/home-nav-bottom/ig, '');
}
}
2016-10-18 12:04:09 +08:00
export default function Page1({ location }) {
return (
2016-07-08 17:33:25 +08:00
<ScrollOverPack scrollName="page1" className="content-wrapper page"
playScale={1} replay scrollEvent={onScrollEvent}
hideProps={{ image: { reverse: true } }}
>
<TweenOne key="image" className="image1 image-wrapper"
animation={{ x: 0, opacity: 1, duration: 550 }}
style={{ transform: 'translateX(-100px)', opacity: 0 }}
/>
2016-07-08 17:33:25 +08:00
<QueueAnim className="text-wrapper" delay={300} key="text" duration={550} leaveReverse>
<h2 key="h2"><FormattedMessage id="app.home.best-practice" /></h2>
<p key="p" style={{ maxWidth: 310 }}><FormattedMessage id="app.home.experience" /></p>
<div key="button">
2016-10-18 12:04:09 +08:00
<Link to={{ query: location.query, pathname: '/docs/practice/cases' }}>
<Button type="primary" size="large">
<FormattedMessage id="app.home.learn-more" />
<Icon type="right" />
</Button>
</Link>
</div>
</QueueAnim>
</ScrollOverPack>
);
2016-03-03 17:23:08 +08:00
}