Add Oasis-Mobile-UX theme with hexagon navigation

- Selectable Oasis-Mobile-UX theme; mobile.css kept intact
- Hexagon category launcher on home (10 categories with expandable modules)
- Customizable bottom bar (up to 4 shortcuts, Peers/Invites fixed)
- Empty states and collapsible activity filters
This commit is contained in:
s1to 2026-07-17 12:57:50 +02:00
parent 89a11fd789
commit 9ff72a17a0
19 changed files with 1202 additions and 673 deletions

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
ar: {
bbAdd: "إضافة",
bbQuickActions: "إجراءات سريعة",
bbPickTitle: "تثبيت وحدة",
bbPickDesc: "اختر وحدة لخانة + في الشريط السفلي.",
bbPickNone: "لا شيء",
bbManage: "تعديل",
bbYourBar: "شريطك",
bbRemove: "إزالة",
bbFull: "تم بلوغ الحد الأقصى",
bbDone: "تم",
activityChangeFilter: "تغيير التصفية",
emptyConnectHint: "اتصل بـ pub للمزامنة مع الشبكة.",
emptyConnectCta: "الاتصال بـ pub",
menuCommunity: "المجتمع",
activityGroupCommunity: "المجتمع والحوكمة",
activityGroupOrg: "التنظيم",
activityGroupComm: "التواصل",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
de: {
bbAdd: "Hinzufügen",
bbQuickActions: "Schnellaktionen",
bbPickTitle: "Modul anheften",
bbPickDesc: "Wähle ein Modul für den +-Platz in der unteren Leiste.",
bbPickNone: "Keins",
bbManage: "Bearbeiten",
bbYourBar: "Deine Leiste",
bbRemove: "Entfernen",
bbFull: "Maximum erreicht",
bbDone: "Fertig",
activityChangeFilter: "Filter ändern",
emptyConnectHint: "Verbinde dich mit einem Pub, um dich mit dem Netzwerk zu synchronisieren.",
emptyConnectCta: "Mit einem Pub verbinden",
menuCommunity: "Gemeinschaft",
activityGroupCommunity: "Gemeinschaft & Governance",
activityGroupOrg: "Organisation",
activityGroupComm: "Kommunikation",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
en: {
bbAdd: "Add",
bbQuickActions: "Quick actions",
bbPickTitle: "Pin a module",
bbPickDesc: "Choose a module for the + slot in the bottom bar.",
bbPickNone: "None",
bbManage: "Edit",
bbYourBar: "Your bar",
bbRemove: "Remove",
bbFull: "Maximum reached",
bbDone: "Done",
activityChangeFilter: "Change filter",
emptyConnectHint: "Connect to a pub to sync with the network.",
emptyConnectCta: "Connect to a pub",
menuCommunity: "Community",
activityGroupCommunity: "Community & Governance",
activityGroupOrg: "Organization",
activityGroupComm: "Communication",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
es: {
bbAdd: "Añadir",
bbQuickActions: "Acciones rápidas",
bbPickTitle: "Fijar un módulo",
bbPickDesc: "Elige un módulo para el hueco + de la barra inferior.",
bbPickNone: "Ninguno",
bbManage: "Editar",
bbYourBar: "Tu barra",
bbRemove: "Quitar",
bbFull: "Máximo alcanzado",
bbDone: "Hecho",
activityChangeFilter: "Cambiar filtro",
emptyConnectHint: "Conéctate a un pub para sincronizar con la red.",
emptyConnectCta: "Conéctate a un pub",
menuCommunity: "Comunidad",
activityGroupCommunity: "Comunidad y Gobernanza",
activityGroupOrg: "Organización",
activityGroupComm: "Comunicación",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
eu: {
bbAdd: "Gehitu",
bbQuickActions: "Ekintza azkarrak",
bbPickTitle: "Ainguratu modulu bat",
bbPickDesc: "Aukeratu modulu bat beheko barrako + hutsunerako.",
bbPickNone: "Bat ere ez",
bbManage: "Editatu",
bbYourBar: "Zure barra",
bbRemove: "Kendu",
bbFull: "Gehienekora iritsi da",
bbDone: "Eginda",
activityChangeFilter: "Aldatu iragazkia",
emptyConnectHint: "Konektatu pub batera sarearekin sinkronizatzeko.",
emptyConnectCta: "Konektatu pub batera",
menuCommunity: "Komunitatea",
activityGroupCommunity: "Komunitatea eta gobernantza",
activityGroupOrg: "Antolakuntza",
activityGroupComm: "Komunikazioa",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
fr: {
bbAdd: "Ajouter",
bbQuickActions: "Actions rapides",
bbPickTitle: "Épingler un module",
bbPickDesc: "Choisis un module pour l'emplacement + de la barre inférieure.",
bbPickNone: "Aucun",
bbManage: "Modifier",
bbYourBar: "Ta barre",
bbRemove: "Retirer",
bbFull: "Maximum atteint",
bbDone: "Terminé",
activityChangeFilter: "Changer de filtre",
emptyConnectHint: "Connecte-toi à un pub pour synchroniser avec le réseau.",
emptyConnectCta: "Se connecter à un pub",
menuCommunity: "Communauté",
activityGroupCommunity: "Communauté et gouvernance",
activityGroupOrg: "Organisation",
activityGroupComm: "Communication",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
hi: {
bbAdd: "जोड़ें",
bbQuickActions: "त्वरित क्रियाएँ",
bbPickTitle: "एक मॉड्यूल पिन करें",
bbPickDesc: "नीचे की बार में + स्लॉट के लिए एक मॉड्यूल चुनें।",
bbPickNone: "कोई नहीं",
bbManage: "संपादित करें",
bbYourBar: "आपकी बार",
bbRemove: "हटाएँ",
bbFull: "अधिकतम पहुँच गया",
bbDone: "हो गया",
activityChangeFilter: "फ़िल्टर बदलें",
emptyConnectHint: "नेटवर्क से सिंक करने के लिए किसी pub से जुड़ें।",
emptyConnectCta: "pub से जुड़ें",
menuCommunity: "समुदाय",
activityGroupCommunity: "समुदाय और शासन",
activityGroupOrg: "संगठन",
activityGroupComm: "संचार",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
it: {
bbAdd: "Aggiungi",
bbQuickActions: "Azioni rapide",
bbPickTitle: "Fissa un modulo",
bbPickDesc: "Scegli un modulo per lo spazio + nella barra inferiore.",
bbPickNone: "Nessuno",
bbManage: "Modifica",
bbYourBar: "La tua barra",
bbRemove: "Rimuovi",
bbFull: "Massimo raggiunto",
bbDone: "Fatto",
activityChangeFilter: "Cambia filtro",
emptyConnectHint: "Connettiti a un pub per sincronizzarti con la rete.",
emptyConnectCta: "Connettiti a un pub",
menuCommunity: "Comunità",
activityGroupCommunity: "Comunità e governance",
activityGroupOrg: "Organizzazione",
activityGroupComm: "Comunicazione",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
pt: {
bbAdd: "Adicionar",
bbQuickActions: "Ações rápidas",
bbPickTitle: "Fixar um módulo",
bbPickDesc: "Escolhe um módulo para o espaço + da barra inferior.",
bbPickNone: "Nenhum",
bbManage: "Editar",
bbYourBar: "Sua barra",
bbRemove: "Remover",
bbFull: "Máximo atingido",
bbDone: "Concluído",
activityChangeFilter: "Mudar filtro",
emptyConnectHint: "Liga-te a um pub para sincronizar com a rede.",
emptyConnectCta: "Ligar a um pub",
menuCommunity: "Comunidade",
activityGroupCommunity: "Comunidade e governança",
activityGroupOrg: "Organização",
activityGroupComm: "Comunicação",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
ru: {
bbAdd: "Добавить",
bbQuickActions: "Быстрые действия",
bbPickTitle: "Закрепить модуль",
bbPickDesc: "Выберите модуль для слота + в нижней панели.",
bbPickNone: "Нет",
bbManage: "Изменить",
bbYourBar: "Ваша панель",
bbRemove: "Убрать",
bbFull: "Достигнут максимум",
bbDone: "Готово",
activityChangeFilter: "Сменить фильтр",
emptyConnectHint: "Подключитесь к пабу для синхронизации с сетью.",
emptyConnectCta: "Подключиться к пабу",
menuCommunity: "Сообщество",
activityGroupCommunity: "Сообщество и управление",
activityGroupOrg: "Организация",
activityGroupComm: "Коммуникация",

View file

@ -1,6 +1,20 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
zh: {
bbAdd: "添加",
bbQuickActions: "快捷操作",
bbPickTitle: "固定一个模块",
bbPickDesc: "为底部栏的 + 位置选择一个模块。",
bbPickNone: "无",
bbManage: "编辑",
bbYourBar: "你的工具栏",
bbRemove: "移除",
bbFull: "已达上限",
bbDone: "完成",
activityChangeFilter: "更改筛选",
emptyConnectHint: "连接到一个 pub 以与网络同步。",
emptyConnectCta: "连接到 pub",
menuCommunity: "社区",
activityGroupCommunity: "社区与治理",
activityGroupOrg: "组织",
activityGroupComm: "沟通",