diff --git a/src/frontend/static/frontend/src/components/Base.tsx b/src/frontend/static/frontend/src/components/Base.tsx
index 282066ca..2ffa1855 100644
--- a/src/frontend/static/frontend/src/components/Base.tsx
+++ b/src/frontend/static/frontend/src/components/Base.tsx
@@ -13,6 +13,7 @@ import en from '../locales/en'
// Common dependencies for all the pages
import 'fomantic-ui-css/semantic.css'
import '../css/base.css'
+import '../css/responsive.css'
const messages = { en, es }
diff --git a/src/frontend/static/frontend/src/components/MainNavbar.tsx b/src/frontend/static/frontend/src/components/MainNavbar.tsx
index aa48b047..678e304d 100644
--- a/src/frontend/static/frontend/src/components/MainNavbar.tsx
+++ b/src/frontend/static/frontend/src/components/MainNavbar.tsx
@@ -169,160 +169,141 @@ const MainNavbar = (props: MainNavbarProps) => {
const intl = useIntl()
// Gets current user context
const currentUser = useContext(CurrentUserContext)
+ const [menuOpen, setMenuOpen] = useState(false)
const cBioPortalOption = (
)
- return (
-
+
+ setMenuOpen(!menuOpen)} aria-label='Open menu'>
+
+
+
+
+ {props.isLoadingUser && (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+
+ {renderNavbarItems()}
+
+
+
+ {menuOpen && (
+
+ {renderNavbarItems()}
+
+ )}
+ >
)
}
diff --git a/src/frontend/static/frontend/src/css/index.css b/src/frontend/static/frontend/src/css/index.css
index fa4dd829..7b1385f3 100644
--- a/src/frontend/static/frontend/src/css/index.css
+++ b/src/frontend/static/frontend/src/css/index.css
@@ -36,3 +36,9 @@
#source-button {
min-width: 30%;
}
+
+@media only screen and (min-width: 1151px) and (max-width: 1366px) {
+ #homepage-heading {
+ text-align: center;
+ }
+}
diff --git a/src/frontend/static/frontend/src/css/responsive.css b/src/frontend/static/frontend/src/css/responsive.css
new file mode 100644
index 00000000..a04fe8f0
--- /dev/null
+++ b/src/frontend/static/frontend/src/css/responsive.css
@@ -0,0 +1,92 @@
+.ui.menu:not(.vertical) .right.menu.mobile-navbar-toggle,
+.ui.vertical.menu.mobile-navbar-menu {
+ display: none !important;
+}
+
+.ui.menu:not(.vertical) .menu.desktop-navbar-items {
+ display: flex !important;
+}
+
+@media only screen and (max-width: 1024px) {
+ .ui.menu:not(.vertical) .menu.desktop-navbar-items {
+ display: none !important;
+ }
+
+ .ui.menu:not(.vertical) .right.menu.mobile-navbar-toggle {
+ display: flex !important;
+ margin-left: auto !important;
+ }
+
+ .ui.vertical.menu.mobile-navbar-menu {
+ display: block !important;
+ margin-top: 0 !important;
+ }
+
+
+ .ui.vertical.menu.mobile-navbar-menu .dropdown.item > .menu {
+ position: static;
+ width: 100%;
+ min-width: 100%;
+ max-width: 100%;
+ margin-top: 0.75rem;
+ box-shadow: none;
+ border-radius: 0.28571429rem;
+ }
+
+ .navbar-loading-placeholders {
+ display: none !important;
+ }
+
+ .mobile-navbar-toggle .item {
+ padding: 1rem 1.25rem !important;
+ }
+
+ .mobile-navbar-toggle .icon {
+ font-size: 2rem !important;
+ }
+}
+
+@media only screen and (min-width: 1025px) and (max-width: 1150px) {
+ .ui.menu:not(.vertical) .menu.desktop-navbar-items {
+ flex: 1 !important;
+ display: flex !important;
+ justify-content: center !important;
+ align-items: center !important;
+ }
+
+ .ui.menu:not(.vertical) .right.menu.mobile-navbar-toggle,
+ .ui.vertical.menu.mobile-navbar-menu {
+ display: none !important;
+ }
+
+ .desktop-navbar-items .item,
+ .desktop-navbar-items .dropdown {
+ font-size: 0.82rem !important;
+ padding-left: 0.45rem !important;
+ padding-right: 0.45rem !important;
+ }
+
+ .ui.menu .header.item {
+ padding-right: 0.8rem !important;
+ }
+}
+
+@media only screen and (min-width: 1151px) and (max-width: 1366px) {
+ .ui.menu:not(.vertical) .menu.desktop-navbar-items {
+ flex: 1 !important;
+ display: flex !important;
+ justify-content: center !important;
+ align-items: center !important;
+ }
+
+ .desktop-navbar-items .item,
+ .desktop-navbar-items .dropdown {
+ font-size: 0.90rem !important;
+ padding-left: 0.75rem !important;
+ padding-right: 0.75rem !important;
+ }
+
+ .ui.menu .header.item {
+ padding-right: 1.2rem !important;
+ }
+}
diff --git a/src/frontend/templates/frontend/about-us.html b/src/frontend/templates/frontend/about-us.html
index 8e264027..04b06f28 100644
--- a/src/frontend/templates/frontend/about-us.html
+++ b/src/frontend/templates/frontend/about-us.html
@@ -6,10 +6,14 @@
{% block meta_description %}Omicsdatascience brings together experts in genomics, epigenomics, and data science to develop open-source tools, foster collaboration, and drive innovation in cancer research..{% endblock %}
+{% block css %}
+ {% render_bundle 'aboutUs' 'css' %}
+{% endblock %}
+
{% block content %}
{% endblock %}
{% block js %}
{% render_bundle 'aboutUs' 'js' %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/src/frontend/templates/frontend/faq.html b/src/frontend/templates/frontend/faq.html
index 29c94675..7d7d377e 100644
--- a/src/frontend/templates/frontend/faq.html
+++ b/src/frontend/templates/frontend/faq.html
@@ -7,10 +7,14 @@
Frequently Asked Questions about Multiomix and our platform.
{% endblock %}
+{% block css %}
+ {% render_bundle 'faq' 'css' %}
+{% endblock %}
+
{% block content %}
{% endblock %}
{% block js %}
{% render_bundle 'faq' 'js' %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/src/frontend/templates/frontend/open-source.html b/src/frontend/templates/frontend/open-source.html
index bff6e881..d13fcb56 100644
--- a/src/frontend/templates/frontend/open-source.html
+++ b/src/frontend/templates/frontend/open-source.html
@@ -5,10 +5,14 @@
{% block title %} | Open source{% endblock %}
{% block meta_description %}Discover and contribute to Omicsdatascience’s open-source initiatives on GitHub—powerful tools and libraries for multi-omics and cancer research, freely available for the community.{% endblock %}
+{% block css %}
+ {% render_bundle 'openSource' 'css' %}
+{% endblock %}
+
{% block content %}
{% endblock %}
{% block js %}
{% render_bundle 'openSource' 'js' %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}