1
+ import React , { useCallback , useState , useEffect } from 'react' ;
2
+ import { connect } from 'react-redux' ;
1
3
import PropTypes from 'prop-types' ;
2
- import React , { useCallback , useEffect , useState } from 'react' ;
4
+ import { Link , Navigate } from 'react-router-dom ' ;
3
5
import { Helmet } from 'react-helmet' ;
4
- import { connect } from 'react-redux' ;
5
6
import { useMediaQuery } from 'react-responsive' ;
6
- import { Link , Navigate } from 'react-router-dom' ;
7
- import YouTube from 'react-youtube' ;
7
+ import LiteYouTubeEmbed from 'react-lite-youtube-embed' ;
8
8
9
- // import network figure 4e visualization dataset
9
+ import OpenOfficeHour from './openOfficeHour' ;
10
10
import Footer from '../Footer/footer' ;
11
- import IconSet from '../lib/iconSet' ;
12
- import landingPageStructuredData from '../lib/searchStructuredData/landingPage' ;
11
+ import SubscribeDataUpdates from './components/subscribeDataUpdates' ;
13
12
import BackgroundVideo from './components/backgroundVideo' ;
13
+ // import network figure 4e visualization dataset
14
14
import Figure1C from './components/figure1c' ;
15
15
import VisNetworkReactComponent from './components/visNetwork' ;
16
- import PromoteBanner from './promoteBanner' ;
17
-
18
- // eslint-disable-next-line import/no-extraneous-dependencies
19
- import '@styles/landingPage.scss'
16
+ import landingPageStructuredData from '../lib/searchStructuredData/landingPage' ;
17
+ import IconSet from '../lib/iconSet' ;
20
18
21
- import LayerRunner from '../assets/LandingPageGraphics/Data_Layer_Runner.png' ;
22
19
import LogoMoTrPACWhite from '../assets/LandingPageGraphics/logo-motrpac-white.png' ;
20
+ import LayerRunner from '../assets/LandingPageGraphics/Data_Layer_Runner.png' ;
21
+ // import RatFigurePaass1b from '../assets/LandingPageGraphics/rat-figure-pass1b.svg';
23
22
import NatureIssueCover from '../assets/LandingPageGraphics/nature_issue_cover.jpg' ;
23
+ // import network figure 4e visualization dataset
24
24
import landscapeFigure4eNetworkData from '../data/landscape_figure_4e' ;
25
25
26
+ // eslint-disable-next-line import/no-extraneous-dependencies
27
+ import '@styles/landingPage.scss'
28
+
26
29
// animated down arrow icon
27
30
function AnimatedDownArrow ( ) {
28
31
return (
@@ -32,6 +35,14 @@ function AnimatedDownArrow() {
32
35
) ;
33
36
}
34
37
38
+ function AnimatedDownArrowDark ( ) {
39
+ return (
40
+ < div className = "animated-down-arrow pb-4 w-100" >
41
+ < img src = { IconSet . ArrowDownAnimatedDark } alt = "down-arrow" />
42
+ </ div >
43
+ ) ;
44
+ }
45
+
35
46
// configs for visjs network visualization rendering
36
47
const options = {
37
48
height : '100%' ,
@@ -103,22 +114,6 @@ export function LandingPage({ isAuthenticated, profile }) {
103
114
} ;
104
115
}
105
116
106
- // youtube video player configuration
107
- const onPlayerReady = ( event ) => {
108
- // access to player in all event handlers via event.target
109
- event . target . pauseVideo ( ) ;
110
- } ;
111
-
112
- const opts = {
113
- height : '390' ,
114
- width : '640' ,
115
- playerVars : {
116
- // https://developers.google.com/youtube/player_parameters
117
- autoplay : 0 ,
118
- cc_load_policy : 1 ,
119
- } ,
120
- } ;
121
-
122
117
return (
123
118
< div className = "row marketing content-container" >
124
119
< Helmet >
@@ -274,17 +269,15 @@ export function LandingPage({ isAuthenticated, profile }) {
274
269
< div className = "w-100 h-100 d-flex align-items-center" >
275
270
< div className = "section-content-container container text-center" >
276
271
< div
277
- className = "embedContainer embed-responsive embed-responsive-16by9 mt-lg-4"
272
+ className = "embedContainer embed-responsive mt-lg-4"
278
273
id = "youtube-tutorial-video-container"
279
274
>
280
- < YouTube
281
- videoId = "3zHnzUMo_vw"
282
- opts = { opts }
283
- onReady = { onPlayerReady }
284
- loading = "lazy"
275
+ < LiteYouTubeEmbed
276
+ id = "3zHnzUMo_vw"
277
+ params = "autoplay=0& cc_load_policy = 1 "
278
+ poster = "maxresdefault"
285
279
title = "Data Hub Tutorial Video"
286
- className = "embed-youtube-video-container"
287
- iframeClassName = "embed-responsive-item border border-dark"
280
+ iframeClass = "embed-responsive-item border border-dark"
288
281
/>
289
282
</ div >
290
283
< div className = "container text-center mt-4" >
@@ -300,22 +293,22 @@ export function LandingPage({ isAuthenticated, profile }) {
300
293
< div className = "w-100 h-100 d-flex align-items-center" >
301
294
< div className = "section-content-container container text-center" >
302
295
< div className = "row content-code-repository d-flex align-items-center" >
303
- < div className = "feature-image col-12 col-md-5 mx-auto" >
296
+ < div className = "feature-image col-12 col-md-6 mx-auto" >
304
297
< img
305
298
src = { LayerRunner }
306
299
className = "img-fluid data-layer-runner"
307
300
alt = "Data Layer Runner"
308
301
loading = "lazy"
309
302
/>
310
303
</ div >
311
- < div className = "content col-12 col-md-7 " >
304
+ < div className = "content col-12 col-md-6 " >
312
305
< h1 >
313
306
< span className = "material-icons" > terminal</ span >
314
307
</ h1 >
315
308
< p >
316
- Deep dive into our source codes integral to the MoTrPAC 6
309
+ Deep dive into the source code essential to the MoTrPAC 6
317
310
month old rats performing endurance training exercise study,
318
- from ingestion to QC and from processing to analysis.
311
+ from ingestion to QC, and from processing to analysis.
319
312
</ p >
320
313
< Link
321
314
to = "/code-repositories"
@@ -326,13 +319,21 @@ export function LandingPage({ isAuthenticated, profile }) {
326
319
</ Link >
327
320
</ div >
328
321
</ div >
329
- < div className = "row mt-4" id = "join-office-hour" >
330
- < PromoteBanner />
331
- </ div >
332
322
</ div >
333
323
</ div >
334
- < div className = "w-100 homepage-footer-container" >
335
- < Footer />
324
+ < AnimatedDownArrowDark />
325
+ </ section >
326
+ < section className = "eighth" >
327
+ < div className = "w-100 h-100" >
328
+ < div className = "section-content-container container text-center d-flex align-items-center" >
329
+ < div className = "panel-content-container" >
330
+ < OpenOfficeHour />
331
+ < SubscribeDataUpdates />
332
+ </ div >
333
+ </ div >
334
+ < div className = "w-100 homepage-footer-container" >
335
+ < Footer />
336
+ </ div >
336
337
</ div >
337
338
</ section >
338
339
</ div >
0 commit comments