diff --git a/src/glcc/home/award/index.jsx b/src/glcc/home/award/index.jsx index 0b54e7f9..ce2481f1 100644 --- a/src/glcc/home/award/index.jsx +++ b/src/glcc/home/award/index.jsx @@ -1,13 +1,37 @@ -import React from 'react'; +import React from 'react'; import './index.scss'; function Award() { - return( + return (

奖金与奖励

-
+
+
+
丰厚现金奖励
+
根据项目难度设置高、中、低三个阶梯课题,对应奖金为12000 元、9000 元和 6000 元
+
+
+ +
+
企业实习机会
+
优秀学生有机会进入企业实习和邀约就业机会
+
+
+ +
+
毕业证书或奖杯
+
通过结项考核的学生获得毕业证书,优秀同学还可获得单项奖奖杯
+
+
+ +
+
夏令营大礼包
+
夏令营纪念文化衫、帆布包、鼠标垫,开源系列图书,社区周边等。此外,还会评选出若干优秀社区、明星导师、最佳课题、开源之星等单项奖。
+
+
+
) } diff --git a/src/glcc/home/award/index.scss b/src/glcc/home/award/index.scss index f9dda361..ab56c929 100644 --- a/src/glcc/home/award/index.scss +++ b/src/glcc/home/award/index.scss @@ -1,3 +1,62 @@ -.award{ - -} \ No newline at end of file +.award { + background: url("../../img/award-bg.png"); + background-size: 100% 100%; + width: 100%; + height: 28.98vw; + min-height: 557px; + display: flex; + flex-flow: column nowrap; + justify-content: center; + + .glcc-tit{ + color: #fff; + margin-top:-1.5vw; + } + + .glcc-content{ + display: flex; + justify-content: space-between; + padding-top: 1vw; + } + .award-item { + position: relative; + width: 270px; + max-width: 24%; + height: 300px; + background-color: #ecf3ff; + border: 2px solid; + border-color: #ffffff; + border-radius: 4px; + } + .award-tit { + background: url("../../img/award-tit.png"); + background-size: 100% 100%; + width: 226px; + height: 61.41px; + margin: 17px 0 0 -9px; + padding-left: 19px; + font-family: PingFang SC; + font-weight: 700; + color: #0e55bd; + font-size: 18px; + line-height: 56px; + } + .award-content { + width: 236px; + max-width: 96%; + height: 89px; + font-family: PingFang SC; + color: #6c7283; + font-size: 15px; + line-height: 30px; + margin: 20.5px auto; + } + .award-line { + position: absolute; + bottom: 28px; + left: 6.4%; + width: 88.88%; + height: 3px; + background-image: linear-gradient(90deg, #2135b9 0%, #e3a600 100%); + } +} diff --git a/src/glcc/home/banner/index.jsx b/src/glcc/home/banner/index.jsx index baa9d84e..381ec9c5 100644 --- a/src/glcc/home/banner/index.jsx +++ b/src/glcc/home/banner/index.jsx @@ -48,7 +48,7 @@ function Banner({register,current_user}) { bannerList && bannerList.length > 0 ? bannerList.map((i,k)=>{ return( -
+
{/* style={{backgroundImage:`url(${getImageUrl(i.image)})`}} */}
diff --git a/src/glcc/home/contact/index.jsx b/src/glcc/home/contact/index.jsx index 0710704f..fc744857 100644 --- a/src/glcc/home/contact/index.jsx +++ b/src/glcc/home/contact/index.jsx @@ -1,13 +1,25 @@ -import React from 'react'; +import React from 'react'; import './index.scss'; function Contact() { - return( + return (
-

新闻中心

-
+
+

联系我们

+
+
+

期待你的加入,和我们一起推动开源繁荣发展!

+
+

问题资讯:12345689@qq.com

+

合作推广:56898989416@hotmail.com

+
+
+
+ +
+
) } diff --git a/src/glcc/home/contact/index.scss b/src/glcc/home/contact/index.scss index b97f9fa4..40d68f99 100644 --- a/src/glcc/home/contact/index.scss +++ b/src/glcc/home/contact/index.scss @@ -1,3 +1,42 @@ -.contact{ - -} \ No newline at end of file +.contact { + width: 100%; + // height: 5002px; + background-image: linear-gradient( + 163.51deg, + #eff3fe 0%, + #ebeffb 9.63%, + #f0f4ff 16.73%, + #e8edfc 33.05%, + #e5ecff 43.93%, + #e3eaf6 72.41%, + #dce8ff 84.35%, + #ffffff 94.79%, + #ecf4ff 100% + ); + + .glcc-content { + padding-bottom: 3.828vw; + } + + .contact-info { + } + + .contact-invite { + font-size: 20px; + line-height: 28px; + margin-bottom: 42px !important; + } + + .contact-way { + color: #6c7283; + font-size: 15px; + line-height: 28px; + } + + .contact-line { + opacity: 20%; + height: 1px; + background-color: #378eff; + margin-top: 3.125vw; + } +} diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 19651fb4..7c4df260 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -5,19 +5,21 @@ import TimerShaft from './timerShaft'; import Award from "./award"; import News from './news'; import Partner from "./partner"; +import Contact from "./contact"; import './index.scss'; -export default ()=>{ - +export default () => { + return ( -
- - - - - - -
+
+ + + + + + + +
) } \ No newline at end of file diff --git a/src/glcc/home/index.scss b/src/glcc/home/index.scss index a699f180..c170a583 100644 --- a/src/glcc/home/index.scss +++ b/src/glcc/home/index.scss @@ -1,5 +1,36 @@ -.glcc{ - .glcc-tit{ - text-align: center; - } -} \ No newline at end of file +.glcc { + font-family: PingFang SC; +} +.glcc-tit { + text-align: center; + font-family: PingFang SC; + font-weight: 500; + color: #1e1e1e; + font-size: 38px; + margin-bottom: 50px !important; +} + +.glcc-content { + width: 1200px; + min-width: 62.5vw; + max-width: 98vw; + margin: 0 auto; + padding-top: 45px; +} + + // 1行省略号 + .ellipsis-1 { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +// 2行省略号 +.ellipsis-2 { + text-overflow: -o-ellipsis-lastline; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + } diff --git a/src/glcc/home/lightspot/index.jsx b/src/glcc/home/lightspot/index.jsx index 8b3b1b1a..390b32fe 100644 --- a/src/glcc/home/lightspot/index.jsx +++ b/src/glcc/home/lightspot/index.jsx @@ -1,13 +1,38 @@ -import React from 'react'; +import { Button } from 'antd'; +import React from 'react'; +import teacherImg from '../../img/teacher-img.png'; +// import lightspot1 from '../../img/lightspot1.png'; +// import lightspot2 from '../../img/lightspot2.png'; + import './index.scss'; function Lightspot() { - return( + return (
-

活动亮点

-
+
+

活动亮点

+
+
+
+

有兴趣成为GLCC的导师吗?

+
想要扩大项目知名度和影响力,为开源项目吸引新鲜血液,培养长期开发者。通过GitLink平台,与高校建立连接,指导开源新人传授他们的开源文化,享受开源的乐趣
+ +
+ +
+ +
+
+ + +
+
+ + +
+
) } diff --git a/src/glcc/home/lightspot/index.scss b/src/glcc/home/lightspot/index.scss index 3092b88f..178b123a 100644 --- a/src/glcc/home/lightspot/index.scss +++ b/src/glcc/home/lightspot/index.scss @@ -1,3 +1,31 @@ -.lightspot{ - -} \ No newline at end of file +.lightspot { + background: url("../../img/lightspot-bg.png"); + background-size: 100% 100%; + height: 55.26vw; + min-height: 1061px; + + .info-teacher { + display: flex; + justify-content: space-between; + } + .teacher-text{ + margin-right: 2.84%; + } + .teacher-invite { + color: #202d40; + font-size: 24px; + line-height: 26px; + margin: 35px auto 25px !important; + } + + .teacher-content { + color: #6c7283; + font-size: 14px; + line-height: 26px; + margin-bottom: 30px; + } + + .teacher-img { + width: 52%; + } +} diff --git a/src/glcc/home/news/index.jsx b/src/glcc/home/news/index.jsx index 33d4c247..30b4e503 100644 --- a/src/glcc/home/news/index.jsx +++ b/src/glcc/home/news/index.jsx @@ -1,13 +1,68 @@ -import React from 'react'; +import React from 'react'; +import { Button, Col, Row } from 'antd'; import './index.scss'; function News() { - return( + return (
-

新闻中心

-
+
+

新闻中心

+ {/* + +
col-6
+ + +
col-6
+ + +
*/} +
+
+

此处为新闻中心的标题内容此处为新闻中心的标题内容此处为新闻中心

+
此处为新闻中心的详情此处为新闻中心的详情此处为新闻中心的详情此处为新闻中心的详情此处为新闻中心的详情此处为新闻中心的详情此处为新闻中心的详情此处为新闻中心的详情 +
+
2022-04-02
+ +
+ +
+
+

此处为新闻中心的标题内容此处为新闻中心的标题内容此处为新闻中心

+
+
2022-04-02
+ +
+
+ +
+

此处为新闻中心的标题内容此处为新闻中心的标题内容此处为新闻中心

+
+
2022-04-02
+ +
+
+ +
+

此处为新闻中心的标题内容此处为新闻中心的标题内容此处为新闻中心

+
+
2022-04-02
+ +
+
+ +
+

此处为新闻中心的标题内容此处为新闻中心的标题内容此处为新闻中心

+
+
2022-04-02
+ +
+
+ +
+
+
) } diff --git a/src/glcc/home/news/index.scss b/src/glcc/home/news/index.scss index 3b952147..2f60ff2b 100644 --- a/src/glcc/home/news/index.scss +++ b/src/glcc/home/news/index.scss @@ -1,3 +1,79 @@ -.news{ - -} \ No newline at end of file +.news { + min-height: 529px; + background-image: linear-gradient(180deg, #d6e6ff 0%, #f9fbff 100%); + + .ant-btn-link { + background: #fff; + } + .news-content { + display: flex; + justify-content: space-between; + } + .main-news { + background: url("../../img/news-main.png"); + background-size: 100% 100%; + width: 17.66%; + min-width: 339px; + height: 276px; + color: #fff; + line-height: 30px; + padding: 30px 20px; + .news-tit { + font-weight: 500; + font-size: 18px; + color: #fff; + margin-bottom: 13px !important; + } + .news-date { + opacity: 85%; + font-size: 14px; + margin:15px 0; + } + .main-news-content { + opacity: 85%; + font-size: 14px; + } + } + .news-box { + display: flex; + flex-flow: row wrap; + justify-content: space-between; + align-items: center; + } + .news-item { + width: 48%; + margin-left: 2%; + // min-width: 410px; + height: 128px; + padding: 20px 26px 13px 20px; + background-color: #f6f9fe; + border: 1px solid #fff; + border-radius: 4px; + + &:first-child, + &:nth-child(2) { + margin-bottom: 20px; + } + + .news-tit { + color: #1e1e1e; + font-size: 16px; + line-height: 30px; + } + + .news-date { + color: #6c7283; + font-size: 15px; + } + + &:hover { + background: url("../../img/news-item.png"); + background-size: 100% 100%; + border: 0; + .news-tit, + .news-date { + color: #fff; + } + } + } +} diff --git a/src/glcc/home/partner/index.jsx b/src/glcc/home/partner/index.jsx index 13d7aa5d..d35b71c7 100644 --- a/src/glcc/home/partner/index.jsx +++ b/src/glcc/home/partner/index.jsx @@ -1,13 +1,15 @@ -import React from 'react'; +import React from 'react'; import './index.scss'; function Partner() { - return( + return (
-

组织方及合作伙伴

-
+
+

组织方及合作伙伴

+ +
) } diff --git a/src/glcc/home/partner/index.scss b/src/glcc/home/partner/index.scss index af6dd8c0..a2fd723c 100644 --- a/src/glcc/home/partner/index.scss +++ b/src/glcc/home/partner/index.scss @@ -1,3 +1,8 @@ .partner{ - + height: 19.21875vw; + min-height: 369px; + background-image: linear-gradient(359.95deg,#373f5e 0%,#344281 100%); + .glcc-tit{ + color: #fff; + } } \ No newline at end of file diff --git a/src/glcc/home/timerShaft/index.jsx b/src/glcc/home/timerShaft/index.jsx index bd3ed191..70f238cd 100644 --- a/src/glcc/home/timerShaft/index.jsx +++ b/src/glcc/home/timerShaft/index.jsx @@ -1,13 +1,70 @@ -import React from 'react'; +import React from 'react'; +import Step from './step'; import './index.scss'; +const stepArr = [{ + title: "Step1", + date: "4月15日", + content: "GLCC发布" +}, +{ + title: "Step2", + date: "4月15日-5月8日", + content: "社区启动报名" +}, +{ + title: "Step2", + date: "5月20日", + content: "公示社区名单" +}, +{ + title: "Step2", + date: "5月21日-6月19日", + content: "学生提交proposal" +}, +{ + title: "Step2", + date: "7月1日", + content: "公示项目申请审核结果", + noArrow: true, +}, +{ + title: "Step2", + date: "7月4日-8月12日", + content: "项目开发第一阶段", +}, +{ + title: "Step2", + date: "8月12日-9月30日", + content: "项目开发第二阶段", +}, +{ + title: "Step2", + date: "10月1日-10月14日", + content: "结项审核", +}, +{ + title: "Step2", + date: "11月11日", + content: "公布优秀项目&学员", + noArrow: true, +} +] function TimerShaft() { - return( + return (
-

时间规划

-
+
+

时间规划

+
+ { + stepArr.map((item, i) => { + return + }) + } +
+
) } diff --git a/src/glcc/home/timerShaft/index.scss b/src/glcc/home/timerShaft/index.scss index 88b3a05d..19c40457 100644 --- a/src/glcc/home/timerShaft/index.scss +++ b/src/glcc/home/timerShaft/index.scss @@ -1,3 +1,58 @@ -.timerShaft{ - -} \ No newline at end of file +.timerShaft { + background: url("../../img/time-bg.png"); + background-size: 100% 100%; + width: 100%; + height: 32.34375vw; + min-height: 621px; + display: flex; + flex-flow: column nowrap; + justify-content: center; + + .time-content { + display: flex; + flex-flow: row wrap; + justify-content: center; + + } + .step-item { + display: flex; + align-items: center; + margin-bottom: 68px; + max-width: 20%; + .sexange { + background: url("../../img/sexange.png"); + background-size: 100% 100%; + width: 201.69px; + height: 178.93px; + text-align: center; + padding: 25px 0 10px; + line-height: 26px; + font-weight: 700; + } + .sexange-tit { + color: #124599; + font-size: 26px; + line-height: 37px; + margin-bottom: 10px !important; + } + + .sexange-date { + color: #202d40; + font-size: 18px; + margin-bottom: 8px; + } + + .sexange-content { + font-weight: 500; + color: #6c7283; + font-size: 15px; + width: 60%; + margin: 0 auto; + } + + .time-arrow { + width: 49.5px; + height: 13px; + } + } +} diff --git a/src/glcc/home/timerShaft/step.jsx b/src/glcc/home/timerShaft/step.jsx new file mode 100644 index 00000000..47569045 --- /dev/null +++ b/src/glcc/home/timerShaft/step.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import './index.scss'; +import TimeArrow from '../../img/time-arrow.png'; + +function Step({ title, date, content, noArrow }) { + + return ( +
+
+

{title}

+
{date}
+
{content}
+
+ {!noArrow && } +
+ ) +} +export default Step; \ No newline at end of file diff --git a/src/glcc/img/award-bg.png b/src/glcc/img/award-bg.png new file mode 100644 index 00000000..928265ed Binary files /dev/null and b/src/glcc/img/award-bg.png differ diff --git a/src/glcc/img/award-tit.png b/src/glcc/img/award-tit.png new file mode 100644 index 00000000..d58bf4c6 Binary files /dev/null and b/src/glcc/img/award-tit.png differ diff --git a/src/glcc/img/lightspot-bg.png b/src/glcc/img/lightspot-bg.png new file mode 100644 index 00000000..75d78ce5 Binary files /dev/null and b/src/glcc/img/lightspot-bg.png differ diff --git a/src/glcc/img/news-item.png b/src/glcc/img/news-item.png new file mode 100644 index 00000000..9bf07d29 Binary files /dev/null and b/src/glcc/img/news-item.png differ diff --git a/src/glcc/img/news-main.png b/src/glcc/img/news-main.png new file mode 100644 index 00000000..4402638d Binary files /dev/null and b/src/glcc/img/news-main.png differ diff --git a/src/glcc/img/sexange.png b/src/glcc/img/sexange.png new file mode 100644 index 00000000..86c581d7 Binary files /dev/null and b/src/glcc/img/sexange.png differ diff --git a/src/glcc/img/teacher-img.png b/src/glcc/img/teacher-img.png new file mode 100644 index 00000000..193f53b0 Binary files /dev/null and b/src/glcc/img/teacher-img.png differ diff --git a/src/glcc/img/time-arrow.png b/src/glcc/img/time-arrow.png new file mode 100644 index 00000000..d89877fd Binary files /dev/null and b/src/glcc/img/time-arrow.png differ diff --git a/src/glcc/img/time-bg.png b/src/glcc/img/time-bg.png new file mode 100644 index 00000000..9873945c Binary files /dev/null and b/src/glcc/img/time-bg.png differ