diff --git a/frontend/src/app/cohorts/cohorts.component.css b/frontend/src/app/cohorts/cohorts.component.css index 5f68f17..d331049 100644 --- a/frontend/src/app/cohorts/cohorts.component.css +++ b/frontend/src/app/cohorts/cohorts.component.css @@ -24,25 +24,6 @@ font-weight: bold; } -/* Styles for buttons */ -button { - background-color: #007bff; - border: none; - color: white; - padding: 10px 20px; - display: inline-block; - font-size: 16px; - margin: 4px 2px; - cursor: pointer; - border-radius: 5px; - transition: background-color 0.3s ease; - text-align: center; -} - -button:hover { - background-color: #0056b3; -} - /* Add vertical lines between table columns */ .mat-table th, .mat-table td { diff --git a/frontend/src/app/contact-us/contact-us.component.css b/frontend/src/app/contact-us/contact-us.component.css index d218c1f..3498068 100644 --- a/frontend/src/app/contact-us/contact-us.component.css +++ b/frontend/src/app/contact-us/contact-us.component.css @@ -151,11 +151,4 @@ color: inherit; width: 36px; height: 36px; -} - -@media (max-width: 768px) { - .card-container { - flex: 1 1 100%; - max-width: 100%; - } } \ No newline at end of file diff --git a/frontend/src/app/contact-us/contact-us.component.html b/frontend/src/app/contact-us/contact-us.component.html index 588d9cb..616edf8 100644 --- a/frontend/src/app/contact-us/contact-us.component.html +++ b/frontend/src/app/contact-us/contact-us.component.html @@ -31,7 +31,7 @@
Prof. Dr. Martin Hofmann-Apitius
Prof. Dr. Martin Hofmann-Apitius aria-hidden="false" aria-label="Mail to" fontIcon="email" + style="color: black;" > @@ -111,7 +112,7 @@
Dr. Marc Jacobs
@@ -120,6 +121,7 @@
Dr. Marc Jacobs
aria-hidden="false" aria-label="Mail to" fontIcon="email" + style="color: black;" >
@@ -157,7 +159,7 @@
Yasamin Salimi
Yasamin Salimi Yasamin Salimi aria-hidden="false" aria-label="Mail to" fontIcon="email" + style="color: black;" > @@ -243,7 +246,7 @@
Tim Adams
@@ -252,6 +255,7 @@
Tim Adams
aria-hidden="false" aria-label="Mail to" fontIcon="email" + style="color: black;" >
@@ -309,7 +313,7 @@
Mehmet Can Ay
@@ -318,6 +322,7 @@
Mehmet Can Ay
aria-hidden="false" aria-label="Mail to" fontIcon="email" + style="color: black;" >
@@ -365,6 +370,7 @@
Marjan Niazpoor
aria-hidden="false" aria-label="Mail to" fontIcon="email" + style="color: black;" > diff --git a/frontend/src/app/home/home.component.css b/frontend/src/app/home/home.component.css index 44c1bf1..a849d8c 100644 --- a/frontend/src/app/home/home.component.css +++ b/frontend/src/app/home/home.component.css @@ -1,11 +1,19 @@ +.mat-divider { + border-style: hidden; +} + /* Welcome Area */ .welcome-area { - overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; - height: 50vh; + height: 40vh; +} + +.banner { + max-height: 100vh; + width: 100%; } .welcome-area .header-text { @@ -17,64 +25,8 @@ } .welcome-area .header-text h1 { - font-weight: 500; - font-size: 40px; - line-height: 54px; - letter-spacing: 1.4px; - margin-bottom: 30px; - color: #fff; -} - -.welcome-area .header-text p { - font-weight: 400; - font-size: 15px; + font-size: 2vw; color: #fff; - line-height: 28px; - letter-spacing: 0.25px; - margin-bottom: 40px; -} - -@media (max-width: 991px) { - .welcome-area .header-text { - top: 65%; - transform: translateY(-60%); - } - - .welcome-area .header-text h1, - .welcome-area .header-text p { - margin-bottom: 15px; - } - - .content-header { - flex-direction: column; - } -} - -@media (max-width: 820px) { - .welcome-area .header-text h1 { - font-size: 22px; - line-height: 30px; - } - - .welcome-area .header-text p { - margin-bottom: 20px; - } -} - -@media (max-width: 765px) { - .welcome-area { - margin-bottom: 100px; - } - - .welcome-area .header-text h1 { - font-weight: 600; - font-size: 24px; - } - - .welcome-area .header-text p { - font-size: 14px; - line-height: 22px; - } } /* About */ @@ -84,115 +36,86 @@ align-items: center; } -.about-small-item { - display: block; +.about-item { background: #fff; box-shadow: 0 2px 48px rgba(0, 0, 0, 0.1); border-radius: 20px; - padding: 30px; + padding: 1%; text-align: center; transition: 0.3s ease; width: 50%; margin: 0 auto; } -.about-small-item .about-title { - font-size: 24px; +.about-title { + font-size: 1.2vw; color: #1e1e1e; - letter-spacing: 0.7px; margin-bottom: 15px; } -.about-small-item p { - font-weight: 400; - font-size: 16px; +.about-item p { + font-size: 1vw; color: #777; - letter-spacing: 0.5px; - line-height: 25px; margin-bottom: 20px; } + /* Counter */ .counter { overflow: hidden; - position: relative; -} - -.counter:before { - content: ''; - position: absolute; - width: 140%; - height: 120%; - opacity: 0.9; - background: url('../../assets/home/background-stats.png') center center / cover no-repeat; - z-index: 2; - top: -20%; - left: -20%; + display: flex; + justify-content: center; + align-items: center; + margin: 30px 0; + background: url('../../assets/home/background-applications.png') center center / cover no-repeat; + height: 30vh; } .counter .content { - position: relative; - z-index: 3; width: 100%; + text-align: center; } -.counter .content .count-item { - height: auto; +.counts-wrapper { + display: flex; + justify-content: center; + align-items: center; + gap: 20px; +} + +.counter .count-item { display: flex; flex-direction: column; align-items: center; - justify-content: center; - margin: 20px 0; + width: 200px; } -.counter .content .count-item strong { - display: block; - text-align: center; +.counter .count-item strong { font-weight: 600; - font-size: 36px; + font-size: 2vw; margin: 10px 0; color: #fff; transition: 0.3s ease; } -.counter .content .count-item span { - display: block; - text-align: center; +.counter .count-item span { color: #fff; font-weight: 500; - font-size: 17px; + font-size: 1vw; } -@media (max-width: 991px) { - .counter .content .count-item { - padding: 20px 0; - } +/* Images */ +.img { + max-width: 25%; + max-height: 25%; } -.img-fluid { - max-width: 100%; - height: auto; - margin: 0 auto; -} - -.d-block { - display: block; -} - -/* Custom Styles for Floating Images and Wrapping Text */ -.float-left-img { - float: left; +.left-img { margin-right: 20px; - display: block; - max-width: 200px; - max-height: 200px; - width: auto; - height: auto; } -/* Padding for Sections */ -.padding-section { - padding: 70px 0; +.right-img { + margin-left: 20px; } /* Background for Biomarker, Longitudinal, and Ethnicity Sections */ @@ -205,57 +128,53 @@ .biomarker p, .longitudinal p, .ethnicity p, -.content h2, .biomarker h2, +.counter h2, .longitudinal h2, .ethnicity h2 { color: #fff; } +/* Citation Section */ .citation-section { - padding-left: 400px; - padding-right: 400px; -} - -.citation-section .left-text { - margin: 0 auto; + padding: 0 25%; } -.section-title { - font-size: 28px; - margin-bottom: 20px; -} - -/* New Styles for Centering Sections */ -.padding-section { - display: flex; - flex-direction: column; - align-items: center; -} - -.left-heading, .left-text { - text-align: center; -} - -/* Ensure Flexbox for Images and Text */ +/* Section Content */ .section-content { display: flex; align-items: center; justify-content: center; - padding-right: 400px; - padding-left: 400px; + padding: 0 25%; } .section-content img { margin-right: 20px; } -.section-content .left-text { - text-align: left; +.section-content .text { + font-size: 1vw; } .section-content .text-center { width: 100%; display: flex; justify-content: center; +} + +a.button { + background-color: #007bff; + border: none; + color: white; + padding: 10px 20px; + display: inline-block; + margin: 4px 2px; + cursor: pointer; + border-radius: 5px; + transition: all 0.3s ease; + text-align: center; +} + +a.button:hover { + background-color: #0056b3; } \ No newline at end of file diff --git a/frontend/src/app/home/home.component.html b/frontend/src/app/home/home.component.html index 9d2c04f..779b32b 100644 --- a/frontend/src/app/home/home.component.html +++ b/frontend/src/app/home/home.component.html @@ -1,45 +1,48 @@ -
- Welcome Background - +
+
-

- PDataViewer
Exploring the Parkinson's Disease Data Landscape -

+

PDataViewer
Exploring the Parkinson's Disease Data Landscape

-
-
+
-
-
+
+

ABOUT

-

- Data collected in cohort studies lay the groundwork for a plethora - of Parkinson's disease (PD) research endeavors. PDataViewer lets - you explore this PD data landscape and identify cohort datasets - that suit your research needs. -

-

- We accessed and curated major PD cohort datasets in a purely - data-driven manner with the aim of characterizing their underlying - data, assessing the quantity and availability of data, and - evaluating the interoperability across these distinct cohort - datasets. -

+

Data collected in cohort studies lay the groundwork for a plethora of Parkinson's disease (PD) research endeavors. PDataViewer lets you explore this PD data landscape and identify cohort datasets that suit your research needs.

+

We accessed and curated major PD cohort datasets in a purely data-driven manner with the aim of characterizing their underlying data, assessing the quantity and availability of data, and evaluating the interoperability across these distinct cohort datasets.

+
+
+
+
+
+ + + + +
+
+
+
+

How to Cite Us

+
+ + Yasamin Salimi, Tim Adams, Mehmet Can Ay et al. On the Utility of Large Language Model Embeddings for Revolutionizing Semantic Data Harmonization in Alzheimer's and Parkinson's Disease, 01 April 2024, PREPRINT (Version 1) available at Research Square [https://doi.org/10.21203/rs.3.rs-4108029/v1] +
@@ -47,31 +50,24 @@

ABOUT

- -
+
-
+
-
-

Content

-
+

Content

-
-
-
- {{ cohortNumber }} - Cohorts -
+
+
+ {{ cohortNumber }} + Cohorts
-
-
- Over 1,000 - Variables Mapped -
+
+ Over 1,000 + Variables Mapped
@@ -79,34 +75,20 @@

Content

- - -
+
-
-
-

Cohorts

-
+
- Cohort Comparison - -
-

- Here you can find an overview on the investigated cohorts, - references to the study design and links for data access - application. Additionally, there are summary statistics on key - Parkinson's disease biomarkers displayed. -

+
+

Cohorts

+

Here you can find an overview on the investigated cohorts, references to the study design and links for data access application. Additionally, there are summary statistics on key Parkinson's disease biomarkers displayed.

+ Cohort Comparison
@@ -114,27 +96,19 @@

Cohorts

- -
+
-
-
-

Biomarker Overview

-
+
- Heatmap Screenshot - -
+ Heatmap Screenshot +
+

Biomarker Overview

Explore and compare variable distributions across cohorts.

@@ -144,33 +118,21 @@

Biomarker Overview

- -
+
-
-
-

StudyPicker

-
+
- StudyPicker - -
-

- The StudyPicker assists you in identifying suited PD data - resources for your research plans. Rank cohorts based on their - available variables and investigate further properties. -

+
+

StudyPicker

+

The StudyPicker assists you in identifying suited PD data resources for your research plans. Rank cohorts based on their available variables and investigate further properties.

+ StudyPicker
@@ -178,31 +140,19 @@

StudyPicker

- -
+
-
-
-

Ethnoracial Diversity

-
+
- Ethnicity - -
-

- The displayed chart visualizes the ethnoracial diversity across - the investigated cohorts. Following the link, you can find - individual charts per cohort illustrating their diversity. -

+ Ethnicity +
+

Ethnoracial Diversity

+

The displayed chart visualizes the ethnoracial diversity across the investigated cohorts. Following the link, you can find individual charts per cohort illustrating their diversity.

@@ -212,33 +162,21 @@

Ethnoracial Diversity

- -
+
-
-
-

Feature Mappings

-
+
- Feature Mapping - -
-

- Following the link, you will find semantic mappings between - variables of the investigated datasets. Equivalent features have - been connected and highlight semantic interoperability. -

+
+

Feature Mappings

+

Following the link, you will find semantic mappings between variables of the investigated datasets. Equivalent features have been connected and highlight semantic interoperability.

+ Feature Mapping
@@ -246,32 +184,19 @@

Feature Mappings

- -
+
-
-
-

Longitudinal Follow-up

-
+
- Longitudinal - -
-

- This section lets you explore interactive visualizations of the - longitudinal follow-up and participant drop-out encountered in - the included studies. Additionally, you can visualize the - longitudinal coverage of individual variables per study. -

+ Longitudinal +
+

Longitudinal Follow-up

+

This section lets you explore interactive visualizations of the longitudinal follow-up and participant drop-out encountered in the included studies. Additionally, you can visualize the longitudinal coverage of individual variables per study.

@@ -281,32 +206,21 @@

Longitudinal Follow-up

- -
+
-
-
-

Tools

-
+
- Tools - -
-

- Following the link, you will find tools that enables automatic - semantic variable harmonization between cohorts of interest. -

+
+

Tools

+

Following the link, you will find tools that enables automatic semantic variable harmonization between cohorts of interest.

+ Tools
@@ -314,32 +228,4 @@

Tools

- - - -
-
-
-
-
-

How to Cite Us

-
-
- - Yasamin Salimi, Tim Adams, Mehmet Can Ay et al. On the Utility of - Large Language Model Embeddings for Revolutionizing Semantic Data - Harmonization in Alzheimer's and Parkinson's Disease, 01 April - 2024, PREPRINT (Version 1) available at Research Square [https://doi.org/10.21203/rs.3.rs-4108029/v1] - -
-
-
-
-
- - - diff --git a/frontend/src/app/mappings/mappings.component.css b/frontend/src/app/mappings/mappings.component.css index 8d65be9..896151a 100644 --- a/frontend/src/app/mappings/mappings.component.css +++ b/frontend/src/app/mappings/mappings.component.css @@ -31,23 +31,6 @@ p { text-align: center; } -button { - background-color: #007bff; - border: none; - color: white; - padding: 10px 20px; - display: inline-block; - font-size: 16px; - margin: 4px 2px; - cursor: pointer; - border-radius: 5px; - transition: background-color 0.3s ease; -} - -button:hover { - background-color: #0056b3; -} - /* Container for chord diagrams */ .chord-diagrams-container { display: flex; diff --git a/frontend/src/app/nav-bar/nav-bar.component.css b/frontend/src/app/nav-bar/nav-bar.component.css index 595e5c4..5d2627f 100644 --- a/frontend/src/app/nav-bar/nav-bar.component.css +++ b/frontend/src/app/nav-bar/nav-bar.component.css @@ -10,39 +10,29 @@ border-radius: 40px; min-height: 80px; background: #fff; + display: flex; + justify-content: space-between; + align-items: center; } -.header-area .main-nav .logo, -.header-area .main-nav .logo img, -.header-area .main-nav .nav, -.header-area .main-nav .nav li a { - transition: all 0.3s ease; -} - -.header-area .main-nav .logo { - float: left; - margin-left: 30px; +.header-area .main-nav .img-fluid { + margin-right: auto; } .header-area .main-nav .nav { - float: right; - margin: 20px 30px 0 0; - position: relative; - z-index: 999; + display: flex; + justify-content: space-between; + align-items: center; } .header-area .main-nav .nav li { padding: 0 20px; -} - -.header-area .main-nav .nav li:last-child { - padding-right: 0; + display: flex; } .header-area .main-nav .nav li a { display: block; - font-weight: 500; - font-size: 16px; + font-size: 1vw; color: #1e1e1e; height: 40px; line-height: 40px; @@ -50,141 +40,15 @@ letter-spacing: 1px; } -.header-area .main-nav .nav li a:hover, -.header-area .main-nav .nav li a.active { +.header-area .main-nav .nav li a:hover { color: #0081bf; } -.header-area .main-nav .menu-trigger { - cursor: pointer; - position: absolute; - top: 23px; - width: 32px; - height: 40px; - z-index: 99; - right: 40px; - display: none; -} - -.header-area .main-nav .menu-trigger span, -.header-area .main-nav .menu-trigger span:before, -.header-area .main-nav .menu-trigger span:after { - transition: all 0.4s; - background-color: #3B566E; - display: block; - position: absolute; - width: 30px; - height: 2px; - left: 0; - content: ""; -} - -.header-area .main-nav .menu-trigger span:before, -.header-area .main-nav .menu-trigger span:after { - width: 75%; -} - -.header-area .main-nav .menu-trigger span { - top: 16px; -} - -.header-area .main-nav .menu-trigger span:before { - transform-origin: 33% 100%; - top: -10px; - z-index: 10; -} - -.header-area .main-nav .menu-trigger span:after { - transform-origin: 33% 0; - top: 10px; -} - -.header-area .main-nav .menu-trigger.active span, -.header-area .main-nav .menu-trigger.active span:before, -.header-area .main-nav .menu-trigger.active span:after { - background-color: transparent; - width: 100%; -} - -.header-area .main-nav .menu-trigger.active span:before { - transform: translateY(6px) translateX(1px) rotate(45deg); - background-color: #3B566E; -} - -.header-area .main-nav .menu-trigger.active span:after { - transform: translateY(-6px) translateX(1px) rotate(-45deg); - background-color: #3B566E; -} - -@media (max-width: 1200px) { - .header-area .main-nav .nav li { - padding: 0 12px; - } -} - -@media (max-width: 991px) { - .header-area { - padding: 0 15px; - height: 80px; - box-shadow: none; - text-align: center; - } - - .header-area .container { - padding: 0; - } - - .header-area .menu-trigger { - display: block !important; - } - - .header-area .main-nav { - overflow: hidden; - } - - .header-area .main-nav .nav { - float: none; - width: 100%; - margin-top: 80px; - display: none; - transition: all 0s; - } - - .header-area .main-nav .nav li:first-child { - border-top: 1px solid #eee; - } - - .header-area .main-nav .nav li { - width: 100%; - background: #fff; - border-bottom: 1px solid #eee; - padding: 0; - } - - .header-area .main-nav .nav li a { - height: 50px; - line-height: 50px; - padding: 0; - border: none; - background: #fff; - color: #3B566E; - } - - .header-area .main-nav .nav li a:hover { - background: #eee; - } -} - -@media (min-width: 992px) { - .header-area .main-nav .nav { - display: flex; - } -} - -#pdataviewer-logo { - max-height: 57px; +.img-fluid { + max-height: 60px; + height: auto; vertical-align: middle; - margin-top: 12px; + padding-left: 20px; } a.disable { diff --git a/frontend/src/app/nav-bar/nav-bar.component.html b/frontend/src/app/nav-bar/nav-bar.component.html index c31b3bf..26f845e 100644 --- a/frontend/src/app/nav-bar/nav-bar.component.html +++ b/frontend/src/app/nav-bar/nav-bar.component.html @@ -5,7 +5,7 @@
diff --git a/frontend/src/app/nav-bar/nav-bar.component.spec.ts b/frontend/src/app/nav-bar/nav-bar.component.spec.ts index 9200480..2ad3a10 100644 --- a/frontend/src/app/nav-bar/nav-bar.component.spec.ts +++ b/frontend/src/app/nav-bar/nav-bar.component.spec.ts @@ -42,7 +42,7 @@ describe('NavBarComponent', () => { }); it('should render the logo with correct src and alt attributes', () => { - const logoElement = fixture.debugElement.query(By.css('.logo img')); + const logoElement = fixture.debugElement.query(By.css('.img-fluid')); expect(logoElement.nativeElement.src).toContain('assets/logos/logo.png'); expect(logoElement.nativeElement.alt).toBe('pdataviewer-logo'); }); diff --git a/frontend/src/app/study-picker/study-picker.component.css b/frontend/src/app/study-picker/study-picker.component.css index ceb87bd..0e8f039 100644 --- a/frontend/src/app/study-picker/study-picker.component.css +++ b/frontend/src/app/study-picker/study-picker.component.css @@ -79,25 +79,6 @@ body { vertical-align: middle; } -/* Styles for buttons */ -button { - background-color: #007bff; - border: none; - color: white; - padding: 10px 20px; - display: inline-block; - font-size: 16px; - margin: 4px 2px; - cursor: pointer; - border-radius: 5px; - transition: background-color 0.3s ease; - text-align: center; -} - -button:hover { - background-color: #0056b3; -} - .missing-features-cell { max-width: 100px; word-wrap: break-word; diff --git a/frontend/src/styles.css b/frontend/src/styles.css index 1bb3e24..1ff4c85 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -1,62 +1,9 @@ /* Reset and Global Styles */ -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -font, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -figure, -header, -nav, -section, -article, -aside, -footer, -figcaption { +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, +blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, +font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, +b, u, i, center, dl, dt, dd, ol, ul, li, figure, header, nav, section, article, +aside, footer, figcaption { margin: 0; padding: 0; border: 0; @@ -65,8 +12,7 @@ figcaption { box-sizing: border-box; } -html, -body { +html, body { font-family: Roboto, "Helvetica Neue", sans-serif; font-weight: 400; background-color: #fff; @@ -81,19 +27,12 @@ a { text-decoration: none; } -h1, -h2, -h3, -h4, -h5, -h6, -ul { +h1, h2, h3, h4, h5, h6, ul { margin-top: 0; margin-bottom: 0; } -::selection, -::-moz-selection { +::selection, ::-moz-selection { background: #1cacd7; color: #fff; } @@ -108,59 +47,36 @@ ul { background: #f9f9f9; } -.left-heading .section-title { - font-weight: 500; +.section-title { color: #1e1e1e; margin-bottom: 30px; - position: relative; - font-size: 24px; - line-height: 42px; - letter-spacing: 0.25px; -} - -.center-text, -.left-text { - font-weight: 400; - font-size: 16px; - color: #777; - line-height: 28px; - letter-spacing: 1px; -} - -.center-text { + font-size: 1.4vw; text-align: center; - margin-bottom: 50px; } -.center-text p, -.left-text p { - font-size: 15px; +.text-center, .text, .text-center p, .text p { + text-align: center; + font-size: 1vw; color: #777; margin-bottom: 30px; } -a.main-button, -button.main-button { - font-size: 13px; - border-radius: 20px; - padding: 12px 20px; - background-color: #1cacd7; - text-transform: uppercase; - color: #fff; - letter-spacing: 0.25px; - transition: all 0.3s ease 0s; -} - -a.main-button:hover, -button.main-button:hover { - background-color: #5fb9e9; - color: #fff; -} - -button.main-button { - outline: none; +button { + background-color: #007bff; border: none; + color: white; + padding: 10px 20px; + display: inline-block; + font-size: 0.8vw; + margin: 4px 2px; cursor: pointer; + border-radius: 5px; + transition: all 0.3s ease; + text-align: center; +} + +button:hover { + background-color: #0056b3; } .container { @@ -169,8 +85,8 @@ button.main-button { } .nav-bar { - padding-left: 400px; - padding-right: 400px; + padding: 0 20%; + width: 100%; } .body {