From 8b0b37aab4724d6b8d6fe4d7815077d5ebd01d62 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Mon, 26 Feb 2024 12:08:33 -0800 Subject: [PATCH] Strip out landing pages. --- client/src/landing/Banner0.jsx | 61 -- client/src/landing/Content0.jsx | 49 - client/src/landing/Content1.jsx | 70 -- client/src/landing/Content12.jsx | 60 -- client/src/landing/Content3.jsx | 94 -- client/src/landing/Content4.jsx | 59 - client/src/landing/Footer1.jsx | 68 -- client/src/landing/Nav0.jsx | 134 --- client/src/landing/Pricing1.jsx | 73 -- client/src/landing/Pricing2.jsx | 114 -- client/src/landing/data.source.js | 1079 ------------------- client/src/landing/documentation.md | 4 - client/src/landing/index.jsx | 67 -- client/src/landing/less/antMotionStyle.less | 14 - client/src/landing/less/banner0.less | 121 --- client/src/landing/less/common.less | 42 - client/src/landing/less/content.less | 50 - client/src/landing/less/content0.less | 56 - client/src/landing/less/content1.less | 89 -- client/src/landing/less/content12.less | 60 -- client/src/landing/less/content3.less | 62 -- client/src/landing/less/content4.less | 42 - client/src/landing/less/custom.less | 33 - client/src/landing/less/edit.less | 0 client/src/landing/less/footer1.less | 117 -- client/src/landing/less/nav0.less | 189 ---- client/src/landing/less/pricing1.less | 101 -- client/src/landing/less/pricing2.less | 59 - client/src/landing/utils.js | 17 - client/src/pages/landing/landing.page.jsx | 1 - 30 files changed, 2985 deletions(-) delete mode 100644 client/src/landing/Banner0.jsx delete mode 100644 client/src/landing/Content0.jsx delete mode 100644 client/src/landing/Content1.jsx delete mode 100644 client/src/landing/Content12.jsx delete mode 100644 client/src/landing/Content3.jsx delete mode 100644 client/src/landing/Content4.jsx delete mode 100644 client/src/landing/Footer1.jsx delete mode 100644 client/src/landing/Nav0.jsx delete mode 100644 client/src/landing/Pricing1.jsx delete mode 100644 client/src/landing/Pricing2.jsx delete mode 100644 client/src/landing/data.source.js delete mode 100644 client/src/landing/documentation.md delete mode 100644 client/src/landing/index.jsx delete mode 100644 client/src/landing/less/antMotionStyle.less delete mode 100644 client/src/landing/less/banner0.less delete mode 100644 client/src/landing/less/common.less delete mode 100644 client/src/landing/less/content.less delete mode 100644 client/src/landing/less/content0.less delete mode 100644 client/src/landing/less/content1.less delete mode 100644 client/src/landing/less/content12.less delete mode 100644 client/src/landing/less/content3.less delete mode 100644 client/src/landing/less/content4.less delete mode 100644 client/src/landing/less/custom.less delete mode 100644 client/src/landing/less/edit.less delete mode 100644 client/src/landing/less/footer1.less delete mode 100644 client/src/landing/less/nav0.less delete mode 100644 client/src/landing/less/pricing1.less delete mode 100644 client/src/landing/less/pricing2.less delete mode 100644 client/src/landing/utils.js diff --git a/client/src/landing/Banner0.jsx b/client/src/landing/Banner0.jsx deleted file mode 100644 index 458e2c356..000000000 --- a/client/src/landing/Banner0.jsx +++ /dev/null @@ -1,61 +0,0 @@ -import React from "react"; -import {Button, Card, Space} from "antd"; -import {DownOutlined} from "@ant-design/icons"; -import QueueAnim from "rc-queue-anim"; -import TweenOne from "rc-tween-one"; -import {isImg} from "./utils"; - -class Banner extends React.PureComponent { - render() { - const {...currentProps} = this.props; - const {dataSource} = currentProps; - delete currentProps.dataSource; - delete currentProps.isMobile; - return ( -
- - -
- {typeof dataSource.title.children === "string" && - dataSource.title.children.match(isImg) ? ( - img - ) : ( - dataSource.title.children - )} -
-
- {dataSource.content.children} -
- - - - -
-
- - - -
- ); - } -} - -export default Banner; diff --git a/client/src/landing/Content0.jsx b/client/src/landing/Content0.jsx deleted file mode 100644 index f31b7f2e9..000000000 --- a/client/src/landing/Content0.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; -import QueueAnim from 'rc-queue-anim'; -import { Col, Row} from 'antd'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import {getChildrenToRender} from './utils'; - -class Content extends React.PureComponent { - render() { - const {dataSource, isMobile, ...props} = this.props; - const { - wrapper, - titleWrapper, - page, - OverPack: overPackData, - childWrapper, - } = dataSource; - return ( -
-
-
- {titleWrapper.children.map(getChildrenToRender)} -
- - - {childWrapper.children.map((block, i) => { - const {children: item, ...blockProps} = block; - return ( - -
- {item.children.map(getChildrenToRender)} -
- - ); - })} -
-
-
-
- ); - } -} - -export default Content; diff --git a/client/src/landing/Content1.jsx b/client/src/landing/Content1.jsx deleted file mode 100644 index df459c408..000000000 --- a/client/src/landing/Content1.jsx +++ /dev/null @@ -1,70 +0,0 @@ -import React from 'react'; -import QueueAnim from 'rc-queue-anim'; -import TweenOne from 'rc-tween-one'; -import {Col, Row} from 'antd'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; - -function Content1(props) { - const {...tagProps} = props; - const {dataSource, isMobile} = tagProps; - delete tagProps.dataSource; - delete tagProps.isMobile; - const animType = { - queue: isMobile ? 'bottom' : 'right', - one: isMobile - ? { - scaleY: '+=0.3', - opacity: 0, - type: 'from', - ease: 'easeOutQuad', - } - : { - x: '-=30', - opacity: 0, - type: 'from', - ease: 'easeOutQuad', - }, - }; - return ( -
- - - - img - - - -

- {dataSource.title.children} -

-
- {dataSource.content.children} -
-
-
-
- ); -} - -export default Content1; diff --git a/client/src/landing/Content12.jsx b/client/src/landing/Content12.jsx deleted file mode 100644 index 81376e3ba..000000000 --- a/client/src/landing/Content12.jsx +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import {Col, Row} from 'antd'; -import {TweenOneGroup} from 'rc-tween-one'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import {getChildrenToRender} from './utils'; - -class Content12 extends React.PureComponent { - getChildrenToRender = (data) => - data.map((item) => { - return ( - -
- - img - -
- - ); - }); - - render() { - const {...props} = this.props; - const {dataSource} = props; - delete props.dataSource; - delete props.isMobile; - const childrenToRender = this.getChildrenToRender( - dataSource.block.children - ); - return ( -
-
-
- {dataSource.titleWrapper.children.map(getChildrenToRender)} -
- - - {childrenToRender} - - -
-
- ); - } -} - -export default Content12; diff --git a/client/src/landing/Content3.jsx b/client/src/landing/Content3.jsx deleted file mode 100644 index 89383f40c..000000000 --- a/client/src/landing/Content3.jsx +++ /dev/null @@ -1,94 +0,0 @@ -import React from 'react'; -import QueueAnim from 'rc-queue-anim'; -import TweenOne from 'rc-tween-one'; -import {Col, Row} from 'antd'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import {getChildrenToRender} from './utils'; - -class Content3 extends React.PureComponent { - getDelay = (e, b) => (e % b) * 100 + Math.floor(e / b) * 100 + b * 100; - - render() { - const {...props} = this.props; - const {dataSource, isMobile} = props; - delete props.dataSource; - delete props.isMobile; - let clearFloatNum = 0; - const children = dataSource.block.children.map((item, i) => { - const childObj = item.children; - const delay = isMobile ? i * 50 : this.getDelay(i, 24 / item.md); - const liAnim = { - opacity: 0, - type: 'from', - ease: 'easeOutQuad', - delay, - }; - const childrenAnim = {...liAnim, x: '+=10', delay: delay + 100}; - clearFloatNum += item.md; - clearFloatNum = clearFloatNum > 24 ? 0 : clearFloatNum; - return ( - - - img - -
- - {childObj.title.children} - - - {childObj.content.children} - -
-
- ); - }); - return ( -
-
-
- {dataSource.titleWrapper.children.map(getChildrenToRender)} -
- - - - {children} - - - -
-
- ); - } -} - -export default Content3; diff --git a/client/src/landing/Content4.jsx b/client/src/landing/Content4.jsx deleted file mode 100644 index d5f1d3144..000000000 --- a/client/src/landing/Content4.jsx +++ /dev/null @@ -1,59 +0,0 @@ -import React from 'react'; -import TweenOne from 'rc-tween-one'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import VideoPlay from 'react-sublime-video'; -import {getChildrenToRender} from './utils'; - -function Content4(props) { - const {...tagProps} = props; - const {dataSource, isMobile} = tagProps; - delete tagProps.dataSource; - delete tagProps.isMobile; - const animation = { - y: '+=30', - opacity: 0, - type: 'from', - ease: 'easeOutQuad', - }; - const videoChildren = dataSource.video.children.video; - const videoNameArray = videoChildren.split('.'); - const type = videoNameArray[videoNameArray.length - 1]; - return ( -
-
-
- {dataSource.titleWrapper.children.map(getChildrenToRender)} -
- - - {isMobile ? ( - - ) : ( - - - - )} - - -
-
- ); -} - -export default Content4; diff --git a/client/src/landing/Footer1.jsx b/client/src/landing/Footer1.jsx deleted file mode 100644 index 30bafef10..000000000 --- a/client/src/landing/Footer1.jsx +++ /dev/null @@ -1,68 +0,0 @@ -import React from 'react'; -import TweenOne from 'rc-tween-one'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import QueueAnim from 'rc-queue-anim'; -import { Col, Row} from 'antd'; -import {getChildrenToRender,isImg} from './utils'; - -class Footer extends React.Component { - static defaultProps = { - className: 'footer1', - }; - - getLiChildren = (data) => - data.map((item, i) => { - const {title, childWrapper, ...itemProps} = item; - return ( - -

- {typeof title.children === 'string' && - title.children.match(isImg) ? ( - img - ) : ( - title.children - )} -

-
- {childWrapper.children.map(getChildrenToRender)} -
- - ); - }); - - render() { - const {...props} = this.props; - const {dataSource} = props; - delete props.dataSource; - delete props.isMobile; - const childrenToRender = this.getLiChildren(dataSource.block.children); - return ( -
- - - {childrenToRender} - - -
-
- {dataSource.copyright.children} -
-
-
-
-
- ); - } -} - -export default Footer; diff --git a/client/src/landing/Nav0.jsx b/client/src/landing/Nav0.jsx deleted file mode 100644 index d793a599b..000000000 --- a/client/src/landing/Nav0.jsx +++ /dev/null @@ -1,134 +0,0 @@ -import React from 'react'; -import TweenOne from 'rc-tween-one'; -import {Menu} from 'antd'; -import {getChildrenToRender} from './utils'; - -const {Item, SubMenu} = Menu; - -class Header extends React.Component { - constructor(props) { - super(props); - this.state = { - phoneOpen: undefined, - }; - } - - phoneClick = () => { - const phoneOpen = !this.state.phoneOpen; - this.setState({ - phoneOpen, - }); - }; - - render() { - const {dataSource, isMobile, ...props} = this.props; - const {phoneOpen} = this.state; - const navData = dataSource.Menu.children; - const navChildren = navData.map((item) => { - const {children: a, subItem, ...itemProps} = item; - if (subItem) { - return ( - - {a.children.map(getChildrenToRender)} - - } - popupClassName="header0-item-child" - > - {subItem.map(($item, ii) => { - const {children: childItem} = $item; - const child = childItem.href ? ( - - {childItem.children.map(getChildrenToRender)} - - ) : ( -
- {childItem.children.map(getChildrenToRender)} -
- ); - return ( - - {child} - - ); - })} -
- ); - } - return ( - - - {a.children.map(getChildrenToRender)} - - - ); - }); - const moment = phoneOpen === undefined ? 300 : null; - return ( - -
- - img - - {isMobile && ( -
{ - this.phoneClick(); - }} - > - - - -
- )} - { - if (this.state.phoneOpen) { - e.target.style.height = 'auto'; - } - }, - ease: 'easeInOutQuad', - } - : null - } - moment={moment} - reverse={!!phoneOpen} - > - - -
-
- ); - } -} - -export default Header; diff --git a/client/src/landing/Pricing1.jsx b/client/src/landing/Pricing1.jsx deleted file mode 100644 index ad3b6043b..000000000 --- a/client/src/landing/Pricing1.jsx +++ /dev/null @@ -1,73 +0,0 @@ -import React from 'react'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import QueueAnim from 'rc-queue-anim'; -import {Button, Col, Row} from 'antd'; -import {getChildrenToRender} from './utils'; - -class Pricing1 extends React.PureComponent { - getChildrenToRender = (item) => { - const { - wrapper, - topWrapper, - name, - buttonWrapper, - line, - content, - money, - } = item.children; - return ( - - -
-
- {name.children} -
-

- {money.children} -

-
-
- {content.children} -
- -
- -
-
- - ); - }; - - render() { - const {...props} = this.props; - const {dataSource} = props; - delete props.dataSource; - delete props.isMobile; - const {block} = dataSource; - const childrenToRender = block.children.map(this.getChildrenToRender); - return ( -
-
-
- {dataSource.titleWrapper.children.map(getChildrenToRender)} -
- - - {childrenToRender} - - -
-
- ); - } -} - -export default Pricing1; diff --git a/client/src/landing/Pricing2.jsx b/client/src/landing/Pricing2.jsx deleted file mode 100644 index 2f8b80285..000000000 --- a/client/src/landing/Pricing2.jsx +++ /dev/null @@ -1,114 +0,0 @@ -import React from 'react'; -import OverPack from 'rc-scroll-anim/lib/ScrollOverPack'; -import QueueAnim from 'rc-queue-anim'; -import {Table} from 'antd'; -import {getChildrenToRender, isImg} from './utils'; - -class Pricing2 extends React.PureComponent { - getColumns = (columns) => { - return columns.map((item) => { - const {childWrapper, ...$item} = item; - return { - align: 'center', - ...$item, - title: ( -
- {childWrapper.children.map(getChildrenToRender)} -
- ), - }; - }); - }; - - getDataSource = (dataSource, columns) => - dataSource.map((item, i) => { - const obj = {key: i.toString()}; - item.children.forEach(($item, ii) => { - if (columns[ii]) { - obj[columns[ii].key] = ( -
- {typeof $item.children === 'string' && - $item.children.match(isImg) ? ( - img - ) : ( - $item.children - )} -
- ); - } - }); - return obj; - }); - - getMobileChild = (table) => { - const {columns, dataSource, ...tableProps} = table; - const names = columns.children.filter( - (item) => item.key.indexOf('name') >= 0 - ); - const newColumns = columns.children.filter( - (item) => item.key.indexOf('name') === -1 - ); - return newColumns.map((item, i) => { - const items = [].concat(names[0], item).filter((c) => c); - if (items.length > 1) { - items[0].colSpan = 0; - items[1].colSpan = 2; - } - const dataSources = dataSource.children.map(($item) => { - const child = $item.children.filter( - (c) => c.name.indexOf('name') === -1 - ); - const n = $item.children.filter((c) => c.name.indexOf('name') >= 0); - return { - ...$item, - children: [].concat(n[0], child[i]).filter((c) => c), - }; - }); - const props = { - ...tableProps, - columns: this.getColumns(items), - dataSource: this.getDataSource(dataSources, items), - }; - return ( - - ); - }); - }; - - render() { - const {dataSource, isMobile, ...props} = this.props; - const {Table: table, wrapper, page, titleWrapper} = dataSource; - const {columns, dataSource: tableData, ...$table} = table; - const tableProps = { - ...$table, - columns: this.getColumns(columns.children), - dataSource: this.getDataSource(tableData.children, columns.children), - }; - const childrenToRender = isMobile ? ( - this.getMobileChild(table) - ) : ( -
- ); - return ( -
-
-
- {titleWrapper.children.map(getChildrenToRender)} -
- - - {childrenToRender} - - -
-
- ); - } -} - -export default Pricing2; diff --git a/client/src/landing/data.source.js b/client/src/landing/data.source.js deleted file mode 100644 index a2f5ad5be..000000000 --- a/client/src/landing/data.source.js +++ /dev/null @@ -1,1079 +0,0 @@ -import React from "react"; -import i18n from "../translations/i18n"; -import ImexOnlineLogoLight from "../assets/ImEX Online Logo.png"; -import ImexOnlineLogoDark from "../assets/ImEX Online Logo - Dark.png"; -import ImexOnlineBannerLogo from "../assets/banner-logo.png"; -import TechnologySvg from "../assets/icons/technology.svg"; -import RomeLogo from "../assets/RomeOnline.png"; -import InstanceRenderManager from '../utils/instanceRenderMgr'; - -export const Nav00DataSource = { - wrapper: {className: "header0 home-page-wrapper"}, - page: {className: "home-page"}, - logo: { - className: "header0-logo", - children: ImexOnlineLogoLight, - }, - Menu: { - className: "header0-menu", - children: [ - // { - // name: "item0", - // className: "header0-item", - // children: { - // href: "#", - // children: [{ children: "导航一", name: "text" }], - // }, - // subItem: [ - // { - // name: "sub0", - // className: "item-sub", - // children: { - // className: "item-sub-item", - // children: [ - // { - // name: "image0", - // className: "item-image", - // children: - // "https://gw.alipayobjects.com/zos/rmsportal/ruHbkzzMKShUpDYMEmHM.svg", - // }, - // { - // name: "title", - // className: "item-title", - // children: "Ant Design", - // }, - // { - // name: "content", - // className: "item-content", - // children: "企业级 UI 设计体系", - // }, - // ], - // }, - // }, - // { - // name: "sub1", - // className: "item-sub", - // children: { - // className: "item-sub-item", - // children: [ - // { - // name: "image0", - // className: "item-image", - // children: - // "https://gw.alipayobjects.com/zos/rmsportal/ruHbkzzMKShUpDYMEmHM.svg", - // }, - // { - // name: "title", - // className: "item-title", - // children: "Ant Design", - // }, - // { - // name: "content", - // className: "item-content", - // children: "企业级 UI 设计体系", - // }, - // ], - // }, - // }, - // ], - // }, - // { - // name: "item1", - // className: "header0-item", - // children: { - // href: "#", - // children: [ - // { children: i18n.t("landing.labels.features"), name: "text" }, - // ], - // }, - // }, - // { - // name: "item2", - // className: "header0-item", - // children: { - // href: "#", - // children: [ - // { children: i18n.t("landing.labels.pricing"), name: "text" }, - // ], - // }, - // }, - { - name: "item3", - className: "header0-item", - children: { - href: "/manage/", - children: [ - {children: i18n.t("landing.labels.managemyshop"), name: "text"}, - ], - }, - }, - ], - }, - mobileMenu: {className: "header0-mobile-menu"}, -}; -export const Banner00DataSource = { - wrapper: {className: "banner0"}, - textWrapper: {className: "banner0-text-wrapper"}, - title: { - className: "banner0-title", - children: , - }, - content: { - className: "banner0-content", - children: InstanceRenderManager({imex: i18n.t("landing.hero.title")}), // i18n.t("landing.hero.title"), - }, - button: { - className: "banner0-button", - children: i18n.t("landing.hero.button"), - href: InstanceRenderManager({imex: "https://imexsystems.ca/products/imex-online", rome: "https://rometech.com" }) , - }, - button2: { - className: "banner0-button2", - children: i18n.t("landing.labels.managemyshop"), - href: "/signin", - }, -}; -export const Content40DataSource = { - wrapper: {className: "home-page-wrapper content4-wrapper"}, - page: {className: "home-page content4"}, - OverPack: {playScale: 0.3, className: ""}, - titleWrapper: { - className: "title-wrapper", - children: [ - { - name: "title", - children: "蚂蚁金融云提供专业的服务", - className: "title-h1", - }, - { - name: "content", - className: "title-content content4-title-content", - children: "科技想象力,金融创造力", - }, - ], - }, - video: { - className: "content4-video", - children: { - video: "https://os.alipayobjects.com/rmsportal/EejaUGsyExkXyXr.mp4", - image: "https://zos.alipayobjects.com/rmsportal/HZgzhugQZkqUwBVeNyfz.jpg", - }, - }, -}; -export const Content00DataSource = { - wrapper: {className: "home-page-wrapper content0-wrapper"}, - page: {className: "home-page content0"}, - OverPack: {playScale: 0.3, className: ""}, - titleWrapper: { - className: "title-wrapper", - children: [{name: "title", children: "Feature Highlights"}], - }, - childWrapper: { - className: "content0-block-wrapper", - children: [ - { - name: "block0", - className: "content0-block", - md: 8, - xs: 24, - children: { - className: "content0-block-item", - children: [ - { - name: "image", - className: "content0-block-icon", - children: - "https://zos.alipayobjects.com/rmsportal/WBnVOjtIlGWbzyQivuyq.png", - }, - { - name: "title", - className: "content0-block-title", - children: "Feature Highlight 1", - }, - {name: "content", children: "Feature description for this item."}, - ], - }, - }, - { - name: "block1", - className: "content0-block", - md: 8, - xs: 24, - children: { - className: "content0-block-item", - children: [ - { - name: "image", - className: "content0-block-icon", - children: - "https://zos.alipayobjects.com/rmsportal/YPMsLQuCEXtuEkmXTTdk.png", - }, - { - name: "title", - className: "content0-block-title", - children: "Feature Highlight 2", - }, - { - name: "content", - children: "Feature description for #2", - }, - ], - }, - }, - { - name: "block2", - className: "content0-block", - md: 8, - xs: 24, - children: { - className: "content0-block-item", - children: [ - { - name: "image", - className: "content0-block-icon", - children: - "https://zos.alipayobjects.com/rmsportal/EkXWVvAaFJKCzhMmQYiX.png", - }, - { - name: "title", - className: "content0-block-title", - children: "Feature Highlight 3", - }, - { - name: "content", - children: "Feature description for 3.", - }, - ], - }, - }, - ], - }, -}; -export const Content10DataSource = { - wrapper: {className: "home-page-wrapper content1-wrapper"}, - OverPack: {className: "home-page content1", playScale: 0.3}, - imgWrapper: {className: "content1-img", md: 10, xs: 24}, - img: { - children: TechnologySvg, - }, - textWrapper: {className: "content1-text", md: 14, xs: 24}, - title: { - className: "content1-title", - children: i18n.t("landing.bigfeature.title"), - }, - content: { - className: "content1-content", - children: i18n.t("landing.bigfeature.subtitle"), - }, -}; -export const Pricing20DataSource = { - wrapper: {className: "home-page-wrapper pricing2-wrapper"}, - page: {className: "home-page pricing2"}, - OverPack: {playScale: 0.3, className: "pricing2-content-wrapper"}, - titleWrapper: { - className: "pricing2-title-wrapper", - children: [ - { - name: "title", - children: i18n.t("landing.pricing.pricingtitle"), - className: "pricing2-title-h1", - }, - ], - }, - Table: { - name: "tabsTitle", - size: "default", - className: "pricing2-table", - columns: { - children: [ - { - dataIndex: "name", - key: "name", - name: "empty", - childWrapper: { - children: [ - {name: "name", children: " "}, - {name: "content", children: " "}, - ], - }, - }, - { - dataIndex: "essentials", - key: "essentials", - name: "essentials", - childWrapper: { - className: "pricing2-table-name-block", - children: [ - { - name: "name", - className: "pricing2-table-name", - children: i18n.t("landing.pricing.essentials.name"), - }, - { - name: "content", - className: "pricing2-table-money", - children: i18n.t("landing.pricing.essentials.sub"), - }, - // { name: "button", children: { href: "#", children: "免费试用" } }, - ], - }, - }, - { - dataIndex: "basic", - key: "basic", - name: "basic", - childWrapper: { - className: "pricing2-table-name-block", - children: [ - { - name: "name", - className: "pricing2-table-name", - children: i18n.t("landing.pricing.basic.name"), - }, - { - name: "content", - className: "pricing2-table-money", - children: i18n.t("landing.pricing.basic.sub"), - }, - //{ name: "button", children: { href: "#", children: "立即购买" } }, - ], - }, - }, - { - dataIndex: "pro", - key: "pro", - name: "pro", - childWrapper: { - className: "pricing2-table-name-block", - children: [ - { - name: "name", - className: "pricing2-table-name", - children: i18n.t("landing.pricing.pro.name"), - }, - { - name: "content", - className: "pricing2-table-money", - children: i18n.t("landing.pricing.pro.sub"), - }, - // { - // name: "button", - // children: { href: "#", type: "primary", children: "立即购买" }, - // }, - ], - }, - }, - { - dataIndex: "unlimited", - key: "unlimited", - name: "unlimited", - childWrapper: { - className: "pricing2-table-name-block", - children: [ - { - name: "name", - className: "pricing2-table-name", - children: i18n.t("landing.pricing.unlimited.name"), - }, - { - name: "content", - className: "pricing2-table-money", - children: i18n.t("landing.pricing.unlimited.sub"), - }, - // { name: "button", children: { href: "#", children: "立即购买" } }, - ], - }, - }, - ], - }, - dataSource: { - children: [ - { - name: "list0", - children: [ - { - className: "pricing2-table-content-name", - name: "name", - children: "Unlimited Vehicles, Customers, and Work Orders", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content0", - className: "pricing2-table-content", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content1", - className: "pricing2-table-content", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content2", - className: "pricing2-table-content", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content3", - className: "pricing2-table-content", - }, - ], - }, - { - name: "list1", - children: [ - { - className: "pricing2-table-content-name", - name: "name", - children: - "Access your system from anywhere (Desktop, Mobile, and Native Mobile Apps)", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content0", - className: "pricing2-table-content", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content1", - className: "pricing2-table-content", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content2", - className: "pricing2-table-content", - }, - { - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - name: "content3", - className: "pricing2-table-content", - }, - ], - }, - { - name: "list2", - children: [ - { - className: "pricing2-table-content-name", - name: "name", - children: "Included Media Storage", - }, - { - name: "content0", - children: "50GB", - className: "pricing2-table-content", - }, - { - name: "content1", - children: "100GB", - className: "pricing2-table-content", - }, - { - name: "content2", - children: "175GB", - className: "pricing2-table-content", - }, - { - name: "content3", - children: "250GB", - className: "pricing2-table-content", - }, - ], - }, - { - name: "list3", - children: [ - { - className: "pricing2-table-content-name", - name: "name", - children: "Mobile Image Sync", - }, - { - children: "-", - name: "content0", - className: "pricing2-table-content", - }, - { - name: "content1", - children: "-", - className: "pricing2-table-content", - }, - { - name: "content2", - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - className: "pricing2-table-content", - }, - { - name: "content3", - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - className: "pricing2-table-content", - }, - ], - }, - { - name: "list4", - children: [ - { - className: "pricing2-table-content-name", - name: "name", - children: "Integrated Text Messaging", - }, - { - name: "content0", - children: "-", - className: "pricing2-table-content", - }, - { - name: "content1", - children: "-", - className: "pricing2-table-content", - }, - { - name: "content2", - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - className: "pricing2-table-content", - }, - { - name: "content3", - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - className: "pricing2-table-content", - }, - ], - }, - { - name: "list5", - children: [ - { - className: "pricing2-table-content-name", - name: "name", - children: "Integrated CSI", - }, - { - name: "content0", - children: "-", - className: "pricing2-table-content", - }, - { - name: "content1", - children: "-", - className: "pricing2-table-content", - }, - { - name: "content2", - children: "-", - className: "pricing2-table-content", - }, - { - name: "content3", - children: - "https://gw.alipayobjects.com/zos/basement_prod/14ce3060-34e6-4b30-9a45-1a6b95542310.svg", - className: "pricing2-table-content", - }, - ], - }, - ], - }, - }, -}; - -export const Pricing11DataSource = { - wrapper: {className: "home-page-wrapper pricing1-wrapper"}, - page: {className: "home-page pricing1"}, - OverPack: {playScale: 0.3, className: "pricing1-content-wrapper"}, - titleWrapper: { - className: "pricing1-title-wrapper", - children: [ - {name: "title", children: "价目表", className: "pricing1-title-h1"}, - ], - }, - block: { - className: "pricing1-block-wrapper", - children: [ - { - name: "block0", - className: "pricing1-block", - md: 8, - xs: 24, - children: { - wrapper: {className: "pricing1-block-box "}, - topWrapper: {className: "pricing1-top-wrapper"}, - name: {className: "pricing1-name", children: "Free"}, - money: {className: "pricing1-money", children: "¥0"}, - content: { - className: "pricing1-content", - children: ( - - 140-500Mbps -
140 GB-50TB(含) -
14500GB流量包 -
14国内按峰值宽带账单 -
14弹性计算 -
14云服务器 ECS -
- ), - }, - line: {className: "pricing1-line"}, - buttonWrapper: { - className: "pricing1-button-wrapper", - children: { - a: { - className: "pricing1-button", - href: "#", - children: "免费试用", - }, - }, - }, - }, - }, - { - name: "block1", - className: "pricing1-block", - md: 8, - xs: 24, - children: { - wrapper: {className: "pricing1-block-box active"}, - topWrapper: {className: "pricing1-top-wrapper"}, - name: {className: "pricing1-name", children: "Starter"}, - money: {className: "pricing1-money", children: "¥199"}, - content: { - className: "pricing1-content", - children: ( - - 14500-5Gbps -
- 1410 GB-50TB(含) -
- 141TB流量包 -
- 14国内按峰值宽带账单 -
- 14弹性计算 -
- 云服务器 ECS -
- ), - }, - line: {className: "pricing1-line"}, - buttonWrapper: { - className: "pricing1-button-wrapper", - children: { - a: { - className: "pricing1-button", - href: "#", - children: "立即购买", - }, - }, - }, - }, - }, - { - name: "block2", - className: "pricing1-block", - md: 8, - xs: 24, - children: { - wrapper: {className: "pricing1-block-box "}, - topWrapper: {className: "pricing1-top-wrapper"}, - name: {className: "pricing1-name", children: "Pro"}, - money: {className: "pricing1-money", children: "¥999"}, - content: { - className: "pricing1-content", - children: ( - - 14大于5Gbps -
- 1450 GB-100TB(含) -
- 145TB流量包 -
- 14国内按峰值宽带账单 -
- 14弹性计算 -
- 14云服务器 ECS -
- ), - }, - line: {className: "pricing1-line"}, - buttonWrapper: { - className: "pricing1-button-wrapper", - children: { - a: { - className: "pricing1-button", - href: "#", - children: "立即购买", - }, - }, - }, - }, - }, - ], - }, -}; -export const Content30DataSource = { - wrapper: {className: "home-page-wrapper content3-wrapper"}, - page: {className: "home-page content3"}, - OverPack: {playScale: 0.3}, - titleWrapper: { - className: "title-wrapper", - children: [ - { - name: "title", - children: "蚂蚁金融云提供专业的服务", - className: "title-h1", - }, - { - name: "content", - className: "title-content", - children: "基于阿里云强大的基础资源", - }, - ], - }, - block: { - className: "content3-block-wrapper", - children: [ - { - name: "block0", - className: "content3-block", - md: 8, - xs: 24, - children: { - icon: { - className: "content3-icon", - children: - "https://zos.alipayobjects.com/rmsportal/ScHBSdwpTkAHZkJ.png", - }, - textWrapper: {className: "content3-text"}, - title: {className: "content3-title", children: "企业资源管理"}, - content: { - className: "content3-content", - children: - "云资源集中编排、弹性伸缩、持续发布和部署,高可用及容灾。", - }, - }, - }, - { - name: "block1", - className: "content3-block", - md: 8, - xs: 24, - children: { - icon: { - className: "content3-icon", - children: - "https://zos.alipayobjects.com/rmsportal/NKBELAOuuKbofDD.png", - }, - textWrapper: {className: "content3-text"}, - title: {className: "content3-title", children: "云安全"}, - content: { - className: "content3-content", - children: - "按金融企业安全要求打造的完整云上安全体系,全方位保障金融应用及数据安全。", - }, - }, - }, - { - name: "block2", - className: "content3-block", - md: 8, - xs: 24, - children: { - icon: { - className: "content3-icon", - children: - "https://zos.alipayobjects.com/rmsportal/xMSBjgxBhKfyMWX.png", - }, - textWrapper: {className: "content3-text"}, - title: {className: "content3-title", children: "云监控"}, - content: { - className: "content3-content", - children: - "分布式云环境集中监控,统一资源及应用状态视图,智能分析及故障定位。", - }, - }, - }, - { - name: "block3", - className: "content3-block", - md: 8, - xs: 24, - children: { - icon: { - className: "content3-icon", - children: - "https://zos.alipayobjects.com/rmsportal/MNdlBNhmDBLuzqp.png", - }, - textWrapper: {className: "content3-text"}, - title: {className: "content3-title", children: "移动"}, - content: { - className: "content3-content", - children: - "一站式移动金融APP开发及全面监控;丰富可用组件,动态发布和故障热修复。", - }, - }, - }, - { - name: "block4", - className: "content3-block", - md: 8, - xs: 24, - children: { - icon: { - className: "content3-icon", - children: - "https://zos.alipayobjects.com/rmsportal/UsUmoBRyLvkIQeO.png", - }, - textWrapper: {className: "content3-text"}, - title: {className: "content3-title", children: "分布式中间件"}, - content: { - className: "content3-content", - children: - "金融级联机交易处理中间件,大规模分布式计算机,数万笔/秒级并发能力,严格保证交易数据统一性。", - }, - }, - }, - { - name: "block5", - className: "content3-block", - md: 8, - xs: 24, - children: { - icon: { - className: "content3-icon", - children: - "https://zos.alipayobjects.com/rmsportal/ipwaQLBLflRfUrg.png", - }, - textWrapper: {className: "content3-text"}, - title: {className: "content3-title", children: "大数据"}, - content: { - className: "content3-content", - children: - "一站式、全周期大数据协同工作平台,PB级数据处理、毫秒级数据分析工具。", - }, - }, - }, - ], - }, -}; -export const Content120DataSource = { - wrapper: {className: "home-page-wrapper content12-wrapper"}, - page: {className: "home-page content12"}, - OverPack: {playScale: 0.3, className: ""}, - titleWrapper: { - className: "title-wrapper", - children: [ - { - name: "image", - children: - "https://gw.alipayobjects.com/zos/rmsportal/PiqyziYmvbgAudYfhuBr.svg", - className: "title-image", - }, - {name: "title", children: "特别鸣谢", className: "title-h1"}, - ], - }, - block: { - className: "img-wrapper", - children: [ - { - name: "block0", - className: "block", - md: 8, - xs: 24, - children: { - wrapper: {className: "block-content"}, - img: { - children: - "https://gw.alipayobjects.com/zos/rmsportal/TFicUVisNHTOEeMYXuQF.svg", - }, - }, - }, - { - name: "block1", - className: "block", - md: 8, - xs: 24, - children: { - wrapper: {className: "block-content"}, - img: { - children: - "https://gw.alipayobjects.com/zos/rmsportal/hkLGkrlCEkGZeMQlnEkD.svg", - }, - }, - }, - { - name: "block2", - className: "block", - md: 8, - xs: 24, - children: { - wrapper: {className: "block-content"}, - img: { - children: - "https://gw.alipayobjects.com/zos/rmsportal/bqyPRSZmhvrsfJrBvASi.svg", - }, - }, - }, - { - name: "block3", - className: "block", - md: 8, - xs: 24, - children: { - wrapper: {className: "block-content"}, - img: { - children: - "https://gw.alipayobjects.com/zos/rmsportal/UcsyszzOabdCYDkoPPnM.svg", - }, - }, - }, - { - name: "block4", - className: "block", - md: 8, - xs: 24, - children: { - wrapper: {className: "block-content"}, - img: { - children: - "https://gw.alipayobjects.com/zos/rmsportal/kRBeaICGexAmVjqBEqgw.svg", - }, - }, - }, - { - name: "block5", - className: "block", - md: 8, - xs: 24, - children: { - wrapper: {className: "block-content"}, - img: { - children: - "https://gw.alipayobjects.com/zos/rmsportal/ftBIiyJcCHpHEioRvPsV.svg", - }, - }, - }, - ], - }, -}; -export const Footer10DataSource = { - wrapper: {className: "home-page-wrapper footer1-wrapper"}, - OverPack: {className: "footer1", playScale: 0.2}, - block: { - className: "home-page", - gutter: 0, - children: [ - { - name: "block0", - xs: 24, - md: 6, - className: "block", - title: { - className: "logo", - children: , - }, - childWrapper: { - className: "slogan", - children: [ - { - name: "content0", - children: i18n.t("landing.footer.slogan"), - }, - ], - }, - }, - // { - // name: "block1", - // xs: 24, - // md: 6, - // className: "block", - // title: { children: "产品" }, - // childWrapper: { - // children: [ - // { name: "link0", href: "#", children: "产品更新记录" }, - // { name: "link1", href: "#", children: "API文档" }, - // { name: "link2", href: "#", children: "快速入门" }, - // { name: "link3", href: "#", children: "参考指南" }, - // ], - // }, - // }, - { - name: "block2", - xs: 24, - md: 6, - className: "block", - title: {children: i18n.t("landing.footer.io.name")}, - childWrapper: { - children: [ - { - href: "https://help.imex.online", - name: "link0", - children: i18n.t("landing.footer.io.help"), - }, - { - href: "https://status.imex.online", - name: "link1", - children: i18n.t("landing.footer.io.status"), - }, - ], - }, - }, - { - name: "block3", - xs: 24, - md: 6, - className: "block", - title: {children: i18n.t("landing.footer.company.name")}, - childWrapper: { - children: [ - { - href: InstanceRenderManager({imex: "https://imexsystems.ca/privacy",rome: "https://www.rometech.com/privacy-policy-2/"}) , - name: "link0", - children: i18n.t("landing.footer.company.privacypolicy"), - }, - // { - // href: "/about", - // name: "link1", - // children: i18n.t("landing.footer.company.about"), - // }, - { - href: "https://www.rometech.com/end-user-privacy-statement/", - name: "link2", - children: i18n.t("landing.footer.company.disclaimers"), - }, - { - href: InstanceRenderManager({imex: "https://imexsystems.ca/schedule-a-demo/", rome: "https://www.rometech.com/learn-more-now/"}) , - name: "link3", - children: i18n.t("landing.footer.company.contact"), - }, - ], - }, - }, - ], - }, - copyrightWrapper: {className: "copyright-wrapper"}, - copyrightPage: {className: "home-page"}, - copyright: { - className: "copyright", - children: ( - - { - InstanceRenderManager({imex: <>©2022 ImEX Systems used under - license., rome: <> - ©2023 Rome Technologies - }) - } - - ), - }, -}; diff --git a/client/src/landing/documentation.md b/client/src/landing/documentation.md deleted file mode 100644 index ad58ffcce..000000000 --- a/client/src/landing/documentation.md +++ /dev/null @@ -1,4 +0,0 @@ -# 如何使用: - -- umi 里如何使用[请查看](https://landing.ant.design/docs/use/umi)。 -- 其它脚手架使用[请查看](https://landing.ant.design/docs/use/getting-started)。 diff --git a/client/src/landing/index.jsx b/client/src/landing/index.jsx deleted file mode 100644 index 56520150b..000000000 --- a/client/src/landing/index.jsx +++ /dev/null @@ -1,67 +0,0 @@ -/* eslint no-undef: 0 */ -/* eslint arrow-parens: 0 */ - -import {enquireScreen} from "enquire-js"; -import React from "react"; -import Banner0 from "./Banner0"; -import {Banner00DataSource, Footer10DataSource,} from "./data.source"; -import Footer1 from "./Footer1"; -import "./less/antMotionStyle.less"; - -let isMobile; -enquireScreen((b) => { - isMobile = b; -}); - -const {location = {}} = typeof window !== "undefined" ? window : {}; - -export default class Home extends React.Component { - constructor(props) { - super(props); - this.state = { - isMobile, - show: !location.port, - }; - } - - componentDidMount() { - enquireScreen((b) => { - this.setState({isMobile: !!b}); - }); - if (location.port) { - // 样式 build 时间在 200-300ms 之间; - setTimeout(() => { - this.setState({ - show: true, - }); - }, 500); - } - } - - render() { - const children = [ - , - , - ]; - return ( -
{ - this.dom = d; - }} - > - {this.state.show && children} -
- ); - } -} diff --git a/client/src/landing/less/antMotionStyle.less b/client/src/landing/less/antMotionStyle.less deleted file mode 100644 index c47700518..000000000 --- a/client/src/landing/less/antMotionStyle.less +++ /dev/null @@ -1,14 +0,0 @@ -@import './common.less'; -@import './custom.less'; -@import './content.less'; -@import './nav0.less'; -@import './banner0.less'; -@import './content4.less'; -@import './content0.less'; -@import './content1.less'; -@import './pricing2.less'; -@import './pricing1.less'; -@import './content3.less'; -@import './content12.less'; -@import './footer1.less'; -@import './edit.less'; \ No newline at end of file diff --git a/client/src/landing/less/banner0.less b/client/src/landing/less/banner0.less deleted file mode 100644 index 5e1f010fe..000000000 --- a/client/src/landing/less/banner0.less +++ /dev/null @@ -1,121 +0,0 @@ -@banner0: banner0; -.@{banner0} { - // 如果在第一屏且导航位置为 relative, 一屏为 height: calc(~"100vh - 64px"); - width: 100%; - height: 100vh; - position: relative; - text-align: center; - border-color: #666; - background-image: url("../../assets/banner4.jpg"); - background-size: cover; - background-attachment: fixed; - background-position: center; - - & &-text-wrapper { - display: inline-block; - position: absolute; - top: 20%; - margin: auto; - left: 0; - right: 0; - font-size: 14px; - color: @template-text-color-light; - width: 550px; - - > .queue-anim-leaving { - position: relative !important; - } - } - - & &-title { - width: 350px; - //left: 30px; - min-height: 60px; - margin: auto; - display: inline-block; - font-size: 40px; - position: relative; - } - - & &-content { - margin-bottom: 20px; - word-wrap: break-word; - min-height: 24px; - } - - & &-button { - border: 1px solid #fff; - color: #fff; - background: transparent; - box-shadow: 0 0 0 transparent; - font-size: 16px; - height: 40px; - transition: background 0.45s @ease-out, box-shadow 0.45s @ease-out; - - &:hover { - color: #fff; - border-color: #fff; - background: rgba(255, 255, 255, 0.1); - box-shadow: 0 0 10px rgba(50, 250, 255, 0.75); - } - - &:focus { - color: #fff; - border-color: #fff; - } - - &.queue-anim-leaving { - width: auto; - } - } - - & &-button2 { - border: 1px solid #fff; - color: #fff; - // background: transparent; - box-shadow: 0 0 0 transparent; - font-size: 16px; - height: 40px; - transition: background 0.45s @ease-out, box-shadow 0.45s @ease-out; - - &:hover { - color: #fff; - border-color: #fff; - background: rgba(255, 255, 255, 0.1); - box-shadow: 0 0 10px rgba(50, 250, 255, 0.75); - } - - &:focus { - color: #fff; - border-color: #fff; - } - - &.queue-anim-leaving { - width: auto; - } - } - - & &-icon { - bottom: 20px; - font-size: 24px; - position: absolute; - left: 50%; - margin-left: -12px; - color: @template-text-color-light; - } -} - -@media screen and (max-width: 767px) { - .@{banner0} { - background-attachment: inherit; - - & &-text-wrapper { - width: 90%; - } - - & &-title { - width: 90%; - left: 0; - } - } -} diff --git a/client/src/landing/less/common.less b/client/src/landing/less/common.less deleted file mode 100644 index d9dc798ae..000000000 --- a/client/src/landing/less/common.less +++ /dev/null @@ -1,42 +0,0 @@ -// @import "~antd/lib/style/v2-compatible-reset.less"; - -body { - word-wrap: break-word; -} - -body, -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 0; - padding: 0; -} - -/* .content-wrapper > .tween-one-leaving, -.queue-anim-leaving { - // position: absolute !important; - // width: 100%; -} */ - -.video { - max-width: 800px; -} - -#react-content { - min-height: 100%; -} - -.home-page-wrapper p { - padding: 0; - margin: 0; -} diff --git a/client/src/landing/less/content.less b/client/src/landing/less/content.less deleted file mode 100644 index e4bc480dd..000000000 --- a/client/src/landing/less/content.less +++ /dev/null @@ -1,50 +0,0 @@ -@homepage: home-page; -.@{homepage}-wrapper { - width: 100%; - position: relative; - overflow: hidden; - - .@{homepage} { - height: 100%; - max-width: 1200px; - position: relative; - margin: auto; - will-change: transform; - } - - .title-wrapper > h1, > h1 { - font-size: 32px; - color: @text-color; - margin-bottom: 16px; - } - - .title-wrapper { - margin: 0 auto 64px; - text-align: center; - } -} - -.@{homepage} { - padding: 128px 24px; -} - -@media screen and (max-width: 767px) { - .@{homepage}-wrapper { - .@{homepage} { - padding: 56px 24px; - - > h1 { - font-size: 24px; - margin: 0 auto 32px; - - &.title-h1 { - margin-bottom: 8px; - } - } - - > p { - margin-bottom: 32px; - } - } - } -} diff --git a/client/src/landing/less/content0.less b/client/src/landing/less/content0.less deleted file mode 100644 index 0570653c9..000000000 --- a/client/src/landing/less/content0.less +++ /dev/null @@ -1,56 +0,0 @@ -@content0: content0; - -.@{content0}-wrapper { - min-height: 446px; - overflow: hidden; - - .@{content0} { - height: 100%; - padding: 64px 24px; - - > .title-wrapper { - margin: 0 auto 48px; - } - - &-block { - padding: 0 4%; - display: inline-block; - text-align: center; - min-height: 200px; - margin-bottom: 24px; - - img { - width: 100%; - } - - &-wrapper { - position: relative; - height: 100%; - top: 25%; - padding: 20px 0; - } - - &.queue-anim-leaving { - position: relative !important; - } - - &-icon { - width: 100px; - height: 100px; - margin: auto; - } - - &-title { - line-height: 32px; - margin: 10px auto; - font-size: 24px; - } - } - } -} - -@media screen and (max-width: 767px) { - .@{content0}-wrapper { - min-height: 880px; - } -} diff --git a/client/src/landing/less/content1.less b/client/src/landing/less/content1.less deleted file mode 100644 index f8ce2187a..000000000 --- a/client/src/landing/less/content1.less +++ /dev/null @@ -1,89 +0,0 @@ -@content1: content1; -.@{content1}-wrapper { - height: 360px; - - .@{content1} { - height: 100%; - padding: 0 24px; - - &-img { - height: 100%; - transform-origin: top; - padding: 0 32px; - display: flex; - align-items: center; - justify-content: center; - - span { - display: block; - width: 250px; - - img { - display: block; - } - } - } - - &-text { - padding: 0 32px; - height: 100%; - - .@{content1}-content, - .@{content1}-title { - position: relative !important; - } - - .@{content1}-title { - font-size: 32px; - font-weight: normal; - color: #404040; - margin-top: 120px; - } - - .content { - margin-top: 20px; - } - } - } -} - -@media screen and (max-width: 767px) { - .@{content1}-wrapper { - height: 600px; - - .@{content1} { - &-img { - height: 200px; - padding: 0; - text-align: center; - margin-top: 64px; - - span { - display: inline-block; - width: 180px; - height: 200px; - line-height: 200px; - margin: auto; - } - } - - &-text { - height: auto; - margin-bottom: 20px; - text-align: center; - padding: 0; - - .@{content1}-content, - .@{content1}-title { - width: 100%; - top: auto; - } - - .@{content1}-title { - margin: 32px auto 16px; - font-size: 24px; - } - } - } - } -} diff --git a/client/src/landing/less/content12.less b/client/src/landing/less/content12.less deleted file mode 100644 index d999267d2..000000000 --- a/client/src/landing/less/content12.less +++ /dev/null @@ -1,60 +0,0 @@ -@content12: content12; -.@{content12}-wrapper { - background-color: #fafafa; - min-height: 470px; - - .@{content12} { - padding: 64px 24px; - - > p { - text-align: center; - } - } - - .img-wrapper { - margin: 0 auto; - left: 0; - right: 0; - - .block { - margin-bottom: 40px; - - .block-content { - display: flex; - border-radius: 4px; - text-align: center; - position: relative; - overflow: hidden; - border: none; - height: 64px; - align-items: center; - transition: box-shadow .3s @ease-out, transform .3s @ease-out; - - & > span { - width: 100%; - display: block; - } - } - } - } -} - -@media screen and (max-width: 767px) { - .@{content12}-wrapper { - overflow: hidden; - - .@{content12} { - ul { - li { - display: block; - width: 100%; - padding: 2%; - - span { - height: 168px; - } - } - } - } - } -} diff --git a/client/src/landing/less/content3.less b/client/src/landing/less/content3.less deleted file mode 100644 index 3f78b2334..000000000 --- a/client/src/landing/less/content3.less +++ /dev/null @@ -1,62 +0,0 @@ -@content3: content3; -.@{content3}-wrapper { - min-height: 764px; - - .@{content3} { - height: 100%; - overflow: hidden; - - & .title-content { - text-align: center; - } - - &-block-wrapper { - position: relative; - - .@{content3}-block { - display: inline-block; - padding: 48px 24px; - vertical-align: top; - - .@{content3}-icon { - display: inline-block; - width: 15%; - vertical-align: top; - } - - .@{content3}-text { - width: 85%; - display: inline-block; - padding-left: 8%; - } - - &.clear-both { - clear: both; - } - } - } - } -} - -@media screen and (max-width: 767px) { - .@{content3}-wrapper { - min-height: 1080px; - - .@{content3} { - &-block-wrapper { - margin: 20px auto; - height: auto; - - .@{content3}-block { - .@{content3}-title { - font-size: 20px; - } - - &.queue-anim-leaving { - position: relative !important; - } - } - } - } - } -} diff --git a/client/src/landing/less/content4.less b/client/src/landing/less/content4.less deleted file mode 100644 index cc622d16e..000000000 --- a/client/src/landing/less/content4.less +++ /dev/null @@ -1,42 +0,0 @@ -@content4: content4; -.@{content4}-wrapper { - min-height: 720px; - background: #fafafa; - - .@{content4} { - height: 100%; - overflow: hidden; - - &-video { - border-radius: 4px; - overflow: hidden; - max-width: 800px; - margin: auto; - background: #fff; - box-shadow: 0 4px 8px rgba(0, 0, 0, .15); - - video { - display: block; - margin: auto; - } - } - } -} - -@media screen and (max-width: 767px) { - .@{content4}-wrapper { - min-height: 350px; - - .@{content4} { - overflow: hidden; - width: 90%; - margin: auto; - - &-video { - top: 15%; - background: url("https://zos.alipayobjects.com/rmsportal/HZgzhugQZkqUwBVeNyfz.jpg") no-repeat center; - background-size: cover; - } - } - } -} diff --git a/client/src/landing/less/custom.less b/client/src/landing/less/custom.less deleted file mode 100644 index e0382859d..000000000 --- a/client/src/landing/less/custom.less +++ /dev/null @@ -1,33 +0,0 @@ -//@import "~antd/lib/style/themes/default.less"; - -@line-color: #e9e9e9; - -@shadow-color: rgba(0, 0, 0, 0.15); - -@bottom-bar-bg-color: #262626; -@bottom-bar-line-color: #000; - -@template-bg-color: #001529; -@template-bg-color-light: #ececec; -@template-nav-bg-color: #001529; -@template-text-color: #ccc; -@template-text-title-color: #bcbcbc; -@template-text-color-light: #fff; -@template-footer-text-color: #999; - -@animate-duration: .45s; - -.page-shadow() { - box-shadow: 0 5px 8px @shadow-color; -} - -.page-pro() { - border-radius: 6px; - border: 1px solid @line-color; - transform: translateY(0); - transition: transform .3s @ease-out, box-shadow .3s @ease-out; - &:hover { - .page-shadow(); - transform: translateY(-5px); - } -} diff --git a/client/src/landing/less/edit.less b/client/src/landing/less/edit.less deleted file mode 100644 index e69de29bb..000000000 diff --git a/client/src/landing/less/footer1.less b/client/src/landing/less/footer1.less deleted file mode 100644 index bcbe4db78..000000000 --- a/client/src/landing/less/footer1.less +++ /dev/null @@ -1,117 +0,0 @@ -.footer1-wrapper { - background: @template-bg-color; - overflow: hidden; - position: relative; - min-height: 360px; - color: @template-footer-text-color; - - .footer1 { - .home-page { - padding: 64px 24px 80px; - } - } - - .block { - padding: 0 32px; - - .logo { - max-width: 180px; - } - - .slogan { - font-size: 12px; - margin-top: -20px; - } - - > h2 { - margin-bottom: 24px; - color: @template-text-color; - } - - a { - color: @template-footer-text-color; - margin-bottom: 12px; - float: left; - clear: both; - - &:hover { - color: @primary-color; - } - } - } - - .copyright-wrapper { - width: 100%; - border-top: 1px solid fade(@line-color, 10); - - .home-page { - padding: 0 24px; - overflow: hidden; - } - - .copyright { - height: 80px; - text-align: center; - line-height: 80px; - } - } -} - -@media screen and (max-width: 767px) { - .footer1 { - min-height: 550px; - - &-wrapper { - .footer1 { - .home-page { - padding: 64px 24px 32px; - } - } - } - - .logo { - margin: 0 auto 24px; - } - - .block { - text-align: center; - margin-bottom: 32px; - padding: 0; - } - - > ul { - width: 90%; - margin: 20px auto 0; - padding: 10px 0; - - > li { - width: 100%; - - h2 { - margin-bottom: 10px; - } - - li { - display: inline-block; - margin-right: 10px; - } - } - } - - .copyright { - &-wrapper { - .home-page { - padding: 0; - - .copyright { - font-size: 12px; - } - } - } - - span { - width: 90%; - } - } - } -} diff --git a/client/src/landing/less/nav0.less b/client/src/landing/less/nav0.less deleted file mode 100644 index d75a4d614..000000000 --- a/client/src/landing/less/nav0.less +++ /dev/null @@ -1,189 +0,0 @@ -@header0: header0; - -.@{header0} { - background: @template-nav-bg-color; - width: 100%; - z-index: 1; - box-shadow: 0 5px 8px fade(#000, 15); - position: relative; - top: 0; - - .home-page { - padding: 0 24px; - } - - &-logo { - display: inline-block; - position: relative; - width: 150px; - line-height: 64px; - - & img { - vertical-align: middle; - display: inline-block; - } - - & a { - display: block; - } - } - - &-menu { - float: right; - - .ant-menu { - line-height: 62px; - height: 64px; - - a { - display: block; - } - } - } - - &-item { - &-block { - padding: 0 8px; - - > * { - display: inline-block; - } - } - } - - &-item, - &-item-child, - &-menu { - - .ant-menu-sub .ant-menu-item, - .ant-menu-inline .ant-menu-item { - height: auto; - line-height: 1.5; - } - - .item { - &-sub-item { - display: block; - padding: 8px 24px; - } - - &-image { - float: left; - margin-right: 16px; - margin-top: 4px; - position: relative; - z-index: 1; - } - - &-title { - font-size: 14px; - color: #fff; - margin-left: 46px; - } - - &-content { - font-size: 12px; - color: fade(#fff, 75); - margin-left: 46px; - } - } - } -} - -@media screen and (max-width: 767px) { - .@{header0} { - &-logo { - z-index: 101; - } - - &.home-page-wrapper .home-page { - padding: 0 24px; - } - - &-menu { - height: auto; - float: inherit; - position: relative; - left: -24px; - width: ~"calc(100% + 48px)"; - opacity: 0; - transition: opacity .3s @ease-in-out; - - & li { - padding: 0 24px; - - &.ant-menu-submenu { - padding: 0; - } - } - - .item { - &-sub-item { - padding: 8px 0; - } - } - } - - &-mobile-menu { - width: 16px; - height: 14px; - cursor: pointer; - position: absolute; - top: 24px; - right: 24px; - z-index: 100; - - em { - display: block; - width: 100%; - height: 2px; - background: #fff; - margin-top: 4px; - transition: transform .3s @ease-in-out, opacity .3s @ease-in-out; - } - - :first-child { - margin-top: 0; - } - } - - .ant-menu { - height: auto; - overflow: hidden; - - .ant-menu-item-selected { - border: none; - } - } - - & .open { - height: auto; - - .@{header0}-mobile-menu { - em { - &:nth-child(1) { - transform: translateY(6px) rotate(45deg); - } - - &:nth-child(2) { - opacity: 0; - } - - &:nth-child(3) { - transform: translateY(-6px) rotate(-45deg); - } - } - } - - > .@{header0}-menu { - opacity: 1; - pointer-events: auto; - } - } - - &-item-block { - height: 40px; - line-height: 40px; - } - } -} diff --git a/client/src/landing/less/pricing1.less b/client/src/landing/less/pricing1.less deleted file mode 100644 index e157542c6..000000000 --- a/client/src/landing/less/pricing1.less +++ /dev/null @@ -1,101 +0,0 @@ -@pricing1: pricing1; -.@{pricing1}-wrapper { - min-height: 760px; - - .@{pricing1} { - > p { - text-align: center; - } - - &-content-wrapper { - min-height: 400px; - } - - &-block-box { - width: 260px; - border-radius: 4px; - background: #eef0f3; - text-align: center; - color: #666; - min-height: 400px; - margin: auto; - border: 1px solid transparent; - .page-pro(); - - &.active { - border-color: @primary-color; - background: #fff; - - .@{pricing1} { - &-top-wrapper { - background: @primary-color; - } - - &-name, - &-money, - &-button { - color: #fff; - } - - &-button { - background: @primary-color; - } - } - } - } - - &-block { - margin-bottom: 24px; - } - - &-top-wrapper { - width: 100%; - padding: 16px 24px; - } - - &-name { - font-size: 14px; - } - - &-money { - font-family: 'Helvetica Neue', sans-serif; - font-size: 32px; - color: #666; - } - - &-content { - font-size: 12px; - line-height: 2; - font-weight: 300; - margin: 32px 24px 48px; - } - - &-line { - display: block; - height: 1px; - background: #d9d9d9; - margin: 0 24px; - } - - &-button-wrapper { - margin: 18px 24px; - } - - &-button { - padding: 0 24px; - } - } - - &.home-page-wrapper { - .@{pricing1}-title-wrapper { - margin-bottom: 64px; - text-align: center; - } - } -} - -@media screen and (max-width: 767px) { - .@{pricing1}-wrapper { - padding-bottom: 0; - } -} diff --git a/client/src/landing/less/pricing2.less b/client/src/landing/less/pricing2.less deleted file mode 100644 index d644aadac..000000000 --- a/client/src/landing/less/pricing2.less +++ /dev/null @@ -1,59 +0,0 @@ -@pricing2: pricing2; - -.@{pricing2}-wrapper { - min-height: 760px; - - .@{pricing2} { - > p { - text-align: center; - } - - &-content-wrapper { - min-height: 400px; - } - - &-table-name-block { - text-align: center; - color: #666; - width: 100%; - } - - &-table-name { - font-size: 24px; - } - - &-table-money { - font-size: 16px; - margin: 8px 0 16px; - } - - &-table-content { - text-align: center; - color: #666; - - &-name { - color: #666; - text-align: center; - } - } - } - - &.home-page-wrapper { - .@{pricing2}-title-wrapper { - margin-bottom: 64px; - text-align: center; - } - } -} - -@media screen and (max-width: 767px) { - .@{pricing2} { - &-wrapper { - padding-bottom: 0; - } - - &-table { - margin-bottom: 24px; - } - } -} diff --git a/client/src/landing/utils.js b/client/src/landing/utils.js deleted file mode 100644 index 73de63fa2..000000000 --- a/client/src/landing/utils.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import {Button} from 'antd'; - -export const isImg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?/; -export const getChildrenToRender = (item, i) => { - let tag = item.name.indexOf('title') === 0 ? 'h1' : 'div'; - tag = item.href ? 'a' : tag; - let children = typeof item.children === 'string' && item.children.match(isImg) - ? React.createElement('img', {src: item.children, alt: 'img'}) - : item.children; - if (item.name.indexOf('button') === 0 && typeof item.children === 'object') { - children = React.createElement(Button, { - ...item.children - }); - } - return React.createElement(tag, {key: i.toString(), ...item}, children); -}; diff --git a/client/src/pages/landing/landing.page.jsx b/client/src/pages/landing/landing.page.jsx index 25980a2a0..a0c283a4a 100644 --- a/client/src/pages/landing/landing.page.jsx +++ b/client/src/pages/landing/landing.page.jsx @@ -4,7 +4,6 @@ import { useNavigate } from 'react-router-dom'; import { createStructuredSelector } from 'reselect'; import { selectCurrentUser } from '../../redux/user/user.selectors'; import { Spin } from 'antd'; -//import LandingPageStatic from "../../landing/index"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser,