[0.9.1] FORK_IA_UX v3: restore working Personal/Community in the top bar

The top bar was left empty (logo + avatar only) after moving the filter to the
Explore sheet — it looked unbalanced/broken. Since the sheet no longer blocks the
top (visibility:hidden), Personal/Community are brought back to the top bar where
they fill the space and now work; the duplicate segmented control is removed from
the Explore sheet.
This commit is contained in:
s1to 2026-08-06 16:47:40 +02:00
parent e938c8bb42
commit 81be3e6c21

View file

@ -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"),