diff --git a/src/views/main_views.js b/src/views/main_views.js index b158efb..ac6d463 100644 --- a/src/views/main_views.js +++ b/src/views/main_views.js @@ -1105,12 +1105,16 @@ const renderTasksLink = () => { // === Oasis UX (portado de 0.8.7_UX): topbar + bottombar + hive === // topbar fija arriba: [logo] [Personal] [Community] [avatar] en una línea (sin título OASIS) const renderMobileTopbar = () => { - // FORK_IA_UX v2: topbar SOLO identidad (logo→home, avatar→perfil). El filtro Personal/Community - // se movió a la hoja "Explore" (junto al hive). Así el top no tiene botones "huérfanos" que confundan. + // FORK_IA_UX v3: Personal/Community VUELVEN al topbar (ya funcionan: la hoja cerrada es + // visibility:hidden y no bloquea los taps). Llena el top y da el filtro a un toque. + const hiveFilter = (typeof global !== "undefined" && global.__OASIS_HIVE_FILTER__) || ""; return div( { class: "oasis-mobile-topbar" }, a({ class: "omt-logo", href: "/" }, img({ src: "/assets/images/snh-oasis.jpg", alt: "Oasis" })), - div({ class: "omt-spacer" }), + div({ class: "omt-menus" }, + a({ class: hiveFilter === "personal" ? "oasis-menu-btn active" : "oasis-menu-btn", href: hiveFilter === "personal" ? "/activity" : "/activity?hive=personal" }, span(i18n.menuPersonal || "Personal")), + a({ class: hiveFilter === "community" ? "oasis-menu-btn active" : "oasis-menu-btn", href: hiveFilter === "community" ? "/activity" : "/activity?hive=community" }, span(i18n.menuCommunity || "Community")) + ), a({ class: "omt-avatar", href: "/profile" }, img({ src: (typeof global !== "undefined" && global.__OASIS_SELF_AVATAR__) || "/assets/images/default-avatar.png", alt: i18n.profile || "Profile" })) ); }; @@ -1274,16 +1278,6 @@ const renderHiveSheet = () => { label({ class: "hive-sheet-backdrop", for: "fork-explore-toggle", "aria-label": "Close" }), div({ class: "hive-sheet-panel" }, label({ class: "hive-sheet-grip", for: "fork-explore-toggle", "aria-label": "Close" }), - // filtro Personal/Community/Todo (movido desde el topbar; filtra el hive server-side via ?hive=) - (() => { - const hf = (typeof global !== "undefined" && global.__OASIS_HIVE_FILTER__) || ""; - const seg = (href, lbl, on) => a({ class: on ? "hs-seg active" : "hs-seg", href }, lbl); - return div({ class: "hive-sheet-seg" }, - seg("/activity", i18n.menuAll || "All", hf === ""), - seg("/activity?hive=personal", i18n.menuPersonal || "Personal", hf === "personal"), - seg("/activity?hive=community", i18n.menuCommunity || "Community", hf === "community") - ); - })(), // accesos que no están en el hive (CATS): red y estado div({ class: "hive-sheet-quick" }, q("/peers", "⧖", "Peers"),