diff --git a/src/AnnouncementsPage/announcements.json b/src/AnnouncementsPage/announcements.json index a62bdd1d..be7bf866 100644 --- a/src/AnnouncementsPage/announcements.json +++ b/src/AnnouncementsPage/announcements.json @@ -75,7 +75,7 @@ "tags": [ "marker-paper" ], - "icon": "menu_book" + "icon": "auto_stories" }, "links": [ { diff --git a/src/App/App.jsx b/src/App/App.jsx index c9f9e9fa..aeb04f7e 100644 --- a/src/App/App.jsx +++ b/src/App/App.jsx @@ -27,6 +27,7 @@ import GraphicalClustering from '../AnalysisPage/GraphicalClustering/graphicalCl import CodeRepositories from '../CodeRepoPage/codeRepoPage'; import MainStudyConnected from '../MainStudy/mainStudy'; import Tutorials from '../Tutorials/tutorials'; +import Publications from '../Publications/publications'; import Pass1b06PhenotypeAnimalConnected from '../AnalysisPage/pass1b06PhenotypeAnimal'; import CallbackConnected from '../Auth/callback'; import { withTracker } from '../GoogleAnalytics/googleAnalytics'; @@ -128,6 +129,10 @@ function App({ history = History }) { component={withTracker(MainStudyConnected)} /> + ', () => { }); test('It should contain fifteen children', () => { - expect(component.find('Route').length).toBe(18); + expect(component.find('Route').length).toBe(19); }); test('It should contain four children', () => { diff --git a/src/LandingPage/components/figure1c.jsx b/src/LandingPage/components/figure1c.jsx index cafebb30..820ea825 100644 --- a/src/LandingPage/components/figure1c.jsx +++ b/src/LandingPage/components/figure1c.jsx @@ -136,8 +136,9 @@ function Figure1C() { // create a tooltip const tooltip = d3 - .select('body') + .select('#heatmap-container') .append('div') + .style('display', 'none') .style('opacity', 0) .attr('class', 'heatmap-tooltip'); @@ -156,15 +157,23 @@ function Figure1C() { '
Assay: ' + assayMap[d.ome], ) - .style('top', event.pageY - 60 + 'px') - .style('left', event.pageX + 'px'); - tooltip.transition().duration(100).style('opacity', 1); + .style('top', event.pageY - 280 + 'px') + .style('left', event.pageX - 16 + 'px'); + tooltip + .transition() + .duration(100) + .style('display', 'block') + .style('opacity', 1); d3.select(this).style('opacity', 1); } }; const onMouseLeave = (event, d) => { if (d.featureCnt !== null) { - tooltip.transition().duration(100).style('opacity', 0); + tooltip + .transition() + .duration(100) + .style('opacity', 0) + .style('display', 'none'); d3.select(event.currentTarget).attr('rx', 4).attr('ry', 4); } }; diff --git a/src/LandingPage/landingPage.jsx b/src/LandingPage/landingPage.jsx index 6706d822..1727315d 100644 --- a/src/LandingPage/landingPage.jsx +++ b/src/LandingPage/landingPage.jsx @@ -208,6 +208,11 @@ export function LandingPage({ isAuthenticated, profile }) { > PROJECT OVERVIEW + @@ -361,7 +366,7 @@ export function LandingPage({ isAuthenticated, profile }) { -
+
diff --git a/src/Navbar/navbar.jsx b/src/Navbar/navbar.jsx index 81a49ab0..3be48388 100644 --- a/src/Navbar/navbar.jsx +++ b/src/Navbar/navbar.jsx @@ -307,6 +307,9 @@ export function Navbar({ Code Repositories + + Publications + Methods diff --git a/src/Publications/publications.jsx b/src/Publications/publications.jsx new file mode 100644 index 00000000..96ad6c95 --- /dev/null +++ b/src/Publications/publications.jsx @@ -0,0 +1,71 @@ +import React from 'react'; +import PageTitle from '../lib/ui/pageTitle'; + +const publications = [ + { + url: 'https://www.cell.com/cell/fulltext/S0092-8674(20)30691-7', + title: + 'Molecular Transducers of Physical Activity Consortium (MoTrPAC): Mapping the Dynamic Responses to Exercise', + authors: + 'James A. Sanford, Christopher D. Nogiec, Malene E. Lindholm, Joshua N. Adkins, David Amar, Surendra Dasari, Jonelle K. Drugan, Facundo M. Fernández, Shlomit Radom-Aizik, Simon Schenk, Michael P. Snyder, Russell P. Tracy, Patrick Vanderboom, Scott Trappe, Martin J. Walsh, and the Molecular Transducers of Physical Activity Consortium.', + cite: 'Cell 181/7, 1464-1474, June 25, 2020.', + }, +]; + +/** + * Renders the Pulications page. + * + * @returns {object} JSX representation of the Publications component + */ +export function Publications() { + // Render list of publications + function renderPublications() { + return ( +
+ {publications.map((pub) => ( + + ))} +
+ ); + } + + return ( +
+ +
+
{renderPublications()}
+
+ +
+ ); +} + +function Publication({ pub }) { + return ( +
+

+ + {pub.title} + +

+

+ {pub.authors} + {pub.cite} +

+
+ ); +} + +export default Publications; diff --git a/src/RelatedStudy/relatedStudy.jsx b/src/RelatedStudy/relatedStudy.jsx index 520a7e13..64e230da 100644 --- a/src/RelatedStudy/relatedStudy.jsx +++ b/src/RelatedStudy/relatedStudy.jsx @@ -6,20 +6,24 @@ import StanfordMedicineLogo from '../assets/ExternalLogos/StanfordMedicine.png'; const relatedStudies = [ { + id: 'heritage-proteomics', url: '/related-studies/heritage-proteomics', - text: - 'The HERITAGE Family Study is a multicenter project whose main goal is to study the role of the genotype in the cardiovascular and metabolic responses to aerobic exercise training and the changes brought about by regular exercise for several cardiovascular disease and diabetes risk factors.', + text: 'The HERITAGE Family Study is a multicenter project whose main goal is to study the role of the genotype in the cardiovascular and metabolic responses to aerobic exercise training and the changes brought about by regular exercise for several cardiovascular disease and diabetes risk factors.', image: HeritageFamilyStudyLogo, title: 'HERITAGE Proteomics', newWin: false, }, { + id: 'exercise-transcriptome-meta-analysis', url: 'https://extrameta.org', - text: - 'A database comprising meta-analysis results from 43 publicly available exercise transcriptome datasets from human skeletal muscle and blood.', + text: 'A database comprising meta-analysis results from 43 publicly available exercise transcriptome datasets from human skeletal muscle and blood.', image: StanfordMedicineLogo, title: 'Exercise Transcriptome Meta-analysis', newWin: true, + pubTitle: + 'Time trajectories in the transcriptomic response to exercise - a meta-analysis', + pubUrl: 'https://doi.org/10.1038/s41467-021-23579-x', + pubCite: 'Nat Commun 12, 3471 (2021).', }, ]; @@ -64,6 +68,20 @@ function RelatedStudyLink({ study }) { {!study.newWin && {study.title}}

{study.text}

+ {study.id === 'exercise-transcriptome-meta-analysis' && ( +

+ Publication: + + {study.pubTitle} + {' '} + {study.pubCite} +

+ )} ); diff --git a/src/TeamPage/teamPage.jsx b/src/TeamPage/teamPage.jsx index 50eeebcb..9d9f420b 100644 --- a/src/TeamPage/teamPage.jsx +++ b/src/TeamPage/teamPage.jsx @@ -39,6 +39,21 @@ function TeamPage() { ); } diff --git a/src/sass/_announcementsPage.scss b/src/sass/_announcementsPage.scss index efab18ef..b8d972cf 100644 --- a/src/sass/_announcementsPage.scss +++ b/src/sass/_announcementsPage.scss @@ -25,11 +25,17 @@ font-size: 5.0rem; margin: 0 2.5rem; - &.webinar { + &.webinar, + &.landscape-paper-accepted, + &.mitochondria-paper-accepted { color: $accent-green; } &.dataset { + color: $gray-semi-transparent; + } + + &.marker-paper { color: $accent-yellow; } @@ -37,7 +43,7 @@ color: $stanford-bright-red; } - &.marker-paper, &.landscape-preprint { + &.landscape-preprint { color: $primary-blue; } diff --git a/src/sass/_landingPage.scss b/src/sass/_landingPage.scss index 8fad0f98..afde76e0 100644 --- a/src/sass/_landingPage.scss +++ b/src/sass/_landingPage.scss @@ -79,6 +79,29 @@ .btn { box-shadow: 0 0 2.0em 0.1em rgba(0, 0, 0, 0.25); } + + .office-hour-anchor-link-container { + margin-top: 4.0em; + + .office-hour-anchor-link { + border: solid 2px #fff; + border-radius: 1.4rem; + color: #fff; + display: inline-block; + font-size: 1.35rem; + font-weight: 400; + opacity: 0.7; + padding: 0.3rem 1.55rem; + text-decoration: none; + text-shadow: 0 0 0.1em rgba(0, 0, 0, 0.75); + transition: ease-in-out 0.25s; + + &:hover { + opacity: 1.0; + box-shadow: inset 0rem 3.0rem rgba(255, 255, 255, 0.22); + } + } + } } } &.second {