From e29e0d477da6c5de03b736fabbce6cffc0ca78ac Mon Sep 17 00:00:00 2001 From: natharisa Date: Fri, 26 Jun 2026 09:14:17 -0300 Subject: [PATCH 1/4] Menu hamburguesa --- .../frontend/src/components/MainNavbar.tsx | 249 ++++++++---------- .../static/frontend/src/css/index.css | 19 ++ 2 files changed, 134 insertions(+), 134 deletions(-) diff --git a/src/frontend/static/frontend/src/components/MainNavbar.tsx b/src/frontend/static/frontend/src/components/MainNavbar.tsx index aa48b047..1636b194 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 ( - - {/* Logo */} - - {intl.formatMessage({ - - - {/* Loading spinners while user is fetch */} - {props.isLoadingUser && ( - - - - - - - - - - - - - - - )} - {/* Analysis menu */} + const renderNavbarItems = () => ( + <> {currentUser && !currentUser.is_anonymous && ( <> - - - - {/* GEM panel */} - - - {/* Survival Analysis panel */} - {/* TODO: discuss with team! Maybe this is the "Stats validation panel in Biomarkers page" */} - {/* */} - - {/* Biomarkers panel */} - - - {/* Differential Expression panel */} - - - - - - {/* Datasets menu */} - - - - {/* User's Datasets panel */} - - - {/* cBioPortal Datasets panel */} - {cBioPortalOption} - - - - - {/* Institutions */} - - - {intl.formatMessage({ id: 'mainNavbar.institutions' })} - - - - )} + + + - {/* Only admin options */} - {currentUser && (currentUser.is_superuser || currentUser.is_institution_admin) && ( - - + + + + + + + - {currentUser.is_superuser && ( - <> - {/* User's Datasets panel */} - - - )} + + + {cBioPortalOption} - + + + {intl.formatMessage({ id: 'mainNavbar.institutions' })} + + )} - {/* About us */} - - - {intl.formatMessage({ id: 'mainNavbar.aboutUs' })} - - - - - - {intl.formatMessage({ id: 'mainNavbar.faq' })} - - + {currentUser && (currentUser.is_superuser || currentUser.is_institution_admin) && ( + + + {currentUser.is_superuser && ( + + )} + + + )} + + + {intl.formatMessage({ id: 'mainNavbar.aboutUs' })} + - - - {intl.formatMessage({ id: 'mainNavbar.openSource' })} + + {intl.formatMessage({ id: 'mainNavbar.faq' })} + + + + {intl.formatMessage({ id: 'mainNavbar.openSource' })} + + + + + ) + + return ( + <> + + + {intl.formatMessage({ - - {/* LogIn/LogOut panel */} - - - - + + 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..08a615db 100644 --- a/src/frontend/static/frontend/src/css/index.css +++ b/src/frontend/static/frontend/src/css/index.css @@ -36,3 +36,22 @@ #source-button { min-width: 30%; } +.mobile-navbar-toggle, +.mobile-navbar-menu { + display: none !important; +} + +@media only screen and (max-width: 767px) { + .desktop-navbar-items { + display: none !important; + } + + .mobile-navbar-toggle { + display: flex !important; + } + + .mobile-navbar-menu { + display: block !important; + margin-top: 0 !important; + } +} From 7a8e0f8d17262f2e21456b956061df926936ffb6 Mon Sep 17 00:00:00 2001 From: natharisa Date: Fri, 26 Jun 2026 11:22:02 -0300 Subject: [PATCH 2/4] Menu Hamburguesa listo --- .../static/frontend/src/css/index.css | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/src/frontend/static/frontend/src/css/index.css b/src/frontend/static/frontend/src/css/index.css index 08a615db..d7bdbfbd 100644 --- a/src/frontend/static/frontend/src/css/index.css +++ b/src/frontend/static/frontend/src/css/index.css @@ -41,6 +41,10 @@ display: none !important; } +.desktop-navbar-items { + display: flex !important; +} + @media only screen and (max-width: 767px) { .desktop-navbar-items { display: none !important; @@ -48,10 +52,92 @@ .mobile-navbar-toggle { display: flex !important; + margin-left: auto !important; + } + + .mobile-navbar-menu { + display: block !important; + margin-top: 0 !important; + } + + .mobile-navbar-toggle .item { + padding: 1rem 1.25rem !important; + } + + .mobile-navbar-toggle .icon { + font-size: 2rem !important; + } +} + +@media only screen and (min-width: 768px) and (max-width: 1024px) and (min-height: 700px) { + .desktop-navbar-items { + display: none !important; + } + + .mobile-navbar-toggle { + display: flex !important; + margin-left: auto !important; } .mobile-navbar-menu { display: block !important; margin-top: 0 !important; } + + .mobile-navbar-toggle .item { + padding: 1rem 1.25rem !important; + } + + .mobile-navbar-toggle .icon { + font-size: 2rem !important; + } } + +@media only screen and (min-width: 900px) and (max-width: 1150px) and (max-height: 700px) { + .desktop-navbar-items { + flex: 1 !important; + display: flex !important; + justify-content: center !important; + align-items: center !important; + } + + .mobile-navbar-toggle, + .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) { + .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; + } + + #homepage-heading { + text-align: center; + } +} \ No newline at end of file From 7c5c10a366da8e3bfe59a1f984bec65d9adb49f1 Mon Sep 17 00:00:00 2001 From: natharisa Date: Thu, 23 Jul 2026 15:21:50 -0300 Subject: [PATCH 3/4] Hamburger menu --- .../static/frontend/src/components/Base.tsx | 1 + .../frontend/src/components/MainNavbar.tsx | 2 +- .../static/frontend/src/css/index.css | 101 +----------------- .../static/frontend/src/css/responsive.css | 81 ++++++++++++++ src/frontend/templates/frontend/about-us.html | 6 +- src/frontend/templates/frontend/faq.html | 6 +- .../templates/frontend/open-source.html | 6 +- 7 files changed, 99 insertions(+), 104 deletions(-) create mode 100644 src/frontend/static/frontend/src/css/responsive.css 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 1636b194..678e304d 100644 --- a/src/frontend/static/frontend/src/components/MainNavbar.tsx +++ b/src/frontend/static/frontend/src/components/MainNavbar.tsx @@ -277,7 +277,7 @@ const MainNavbar = (props: MainNavbarProps) => { {props.isLoadingUser && ( - + diff --git a/src/frontend/static/frontend/src/css/index.css b/src/frontend/static/frontend/src/css/index.css index d7bdbfbd..7b1385f3 100644 --- a/src/frontend/static/frontend/src/css/index.css +++ b/src/frontend/static/frontend/src/css/index.css @@ -36,108 +36,9 @@ #source-button { min-width: 30%; } -.mobile-navbar-toggle, -.mobile-navbar-menu { - display: none !important; -} - -.desktop-navbar-items { - display: flex !important; -} - -@media only screen and (max-width: 767px) { - .desktop-navbar-items { - display: none !important; - } - - .mobile-navbar-toggle { - display: flex !important; - margin-left: auto !important; - } - - .mobile-navbar-menu { - display: block !important; - margin-top: 0 !important; - } - - .mobile-navbar-toggle .item { - padding: 1rem 1.25rem !important; - } - - .mobile-navbar-toggle .icon { - font-size: 2rem !important; - } -} - -@media only screen and (min-width: 768px) and (max-width: 1024px) and (min-height: 700px) { - .desktop-navbar-items { - display: none !important; - } - - .mobile-navbar-toggle { - display: flex !important; - margin-left: auto !important; - } - - .mobile-navbar-menu { - display: block !important; - margin-top: 0 !important; - } - - .mobile-navbar-toggle .item { - padding: 1rem 1.25rem !important; - } - - .mobile-navbar-toggle .icon { - font-size: 2rem !important; - } -} - -@media only screen and (min-width: 900px) and (max-width: 1150px) and (max-height: 700px) { - .desktop-navbar-items { - flex: 1 !important; - display: flex !important; - justify-content: center !important; - align-items: center !important; - } - - .mobile-navbar-toggle, - .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) { - .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; - } - #homepage-heading { text-align: center; } -} \ No newline at end of file +} 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..0bdcde47 --- /dev/null +++ b/src/frontend/static/frontend/src/css/responsive.css @@ -0,0 +1,81 @@ +.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; + } + + .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 %} From e4c1e1cce865c1f593042716731efff3300047e3 Mon Sep 17 00:00:00 2001 From: natharisa Date: Wed, 29 Jul 2026 13:13:39 -0300 Subject: [PATCH 4/4] Menu update --- src/frontend/static/frontend/src/css/responsive.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/frontend/static/frontend/src/css/responsive.css b/src/frontend/static/frontend/src/css/responsive.css index 0bdcde47..a04fe8f0 100644 --- a/src/frontend/static/frontend/src/css/responsive.css +++ b/src/frontend/static/frontend/src/css/responsive.css @@ -22,6 +22,17 @@ 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; }