parent
42cbb4dbe6
commit
559926ebfa
@ -1,5 +1,10 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
import './loading.less'
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
return <div className="loading">loading ...</div>
|
return <div className="loading-tip">
|
||||||
|
<p>
|
||||||
|
loading ...
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
}
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
.loading-tip {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
background: #213857;
|
||||||
|
color: #fff;
|
||||||
|
}
|
@ -1,10 +1,84 @@
|
|||||||
import React, { useEffect, useState } from 'react'
|
import React, { useEffect, useState, Fragment } from 'react'
|
||||||
|
import axios from 'axios'
|
||||||
|
import UpgradeModals from '../modals/UpgradeModals'
|
||||||
|
import Loading from '../../components/loading'
|
||||||
|
import ShixunCardList from '../../components/shixun-card-list'
|
||||||
|
import TPMIndexHOC from '../tpm/TPMIndexHOC'
|
||||||
|
import ListContainer from './list-container'
|
||||||
|
import { SnackbarHOC, getImageUrl, configShareForIndex } from 'educoder'
|
||||||
|
import ShixunPathCard from '../paths/ShixunPathCard'
|
||||||
|
|
||||||
export default () => {
|
function Home({ mygetHelmetapi }) {
|
||||||
|
|
||||||
return (
|
const [resource, setResource] = useState({
|
||||||
<div className="shixun-home">
|
loading: true,
|
||||||
|
data: {},
|
||||||
|
updata: null
|
||||||
|
})
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
async function init() {
|
||||||
|
const sys = await axios.get('/users/system_update.json')
|
||||||
|
const home = await axios.get('/home/index.json')
|
||||||
|
setResource({
|
||||||
|
...resource,
|
||||||
|
loading: false,
|
||||||
|
updata: sys.data,
|
||||||
|
data: home.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
init()
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, '---in home init-----')
|
||||||
|
}
|
||||||
|
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
let shixuntype = false
|
||||||
|
let pathstype = false
|
||||||
|
if (mygetHelmetapi) {
|
||||||
|
let shixun = "/shixuns";
|
||||||
|
let paths = "/paths";
|
||||||
|
mygetHelmetapi.navbar.map(item => {
|
||||||
|
var reg = RegExp(item.link)
|
||||||
|
if (shixun.match(reg)) {
|
||||||
|
if (item.hidden === true) {
|
||||||
|
shixuntype = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (paths.match(reg)) {
|
||||||
|
if (item.hidden === true) {
|
||||||
|
pathstype = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const { loading, updata, data } = resource
|
||||||
|
const { shixuns, subjects } = data
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Fragment>
|
||||||
|
{loading ? <Loading /> :
|
||||||
|
<div className="shixun-home newMain clearfix">
|
||||||
|
{updata ? <UpgradeModals updata={updata} /> : null}
|
||||||
|
{pathstype || subjects.length > 0 ?
|
||||||
|
<ListContainer to="/paths" title='实践课程' titleEn='TRAINING COURSE' >
|
||||||
|
<ShixunPathCard pathList={subjects} />
|
||||||
|
</ListContainer >
|
||||||
|
: null}
|
||||||
|
{
|
||||||
|
(shixuntype || shixuns.length > 0) ?
|
||||||
|
<ListContainer to="/shixuns" title='实训项目' titleEn='DEVELOPMENT COMMUNITY' >
|
||||||
|
<ShixunCardList list={shixuns} />
|
||||||
|
</ListContainer >
|
||||||
|
: null
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
|
</Fragment>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default SnackbarHOC()(TPMIndexHOC(Home))
|
@ -0,0 +1,17 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import { Link } from "react-router-dom"
|
||||||
|
|
||||||
|
export default ({ children, title, titleEn, to }) => {
|
||||||
|
return (
|
||||||
|
<div className="clearfix pt20 educontent pr pb20 ">
|
||||||
|
<div className="edu-txt-center">
|
||||||
|
<p className="color-dark edu-txt-center font-24" style={{ lineHeight: '30px' }}>{title}</p>
|
||||||
|
<p className="color-grey-cd font-12">{titleEn}</p>
|
||||||
|
</div>
|
||||||
|
<Link to={to} className="moreitem mr18">更多<i className="fa fa-angle-right ml5"></i></Link>
|
||||||
|
<div className="square-list clearfix">
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
Loading…
Reference in new issue