diff --git a/specs/001-contix-apps-home-branding/SPEC-001-CONTIX-APPS-HOME-BRANDING.md b/specs/001-contix-apps-home-branding/SPEC-001-CONTIX-APPS-HOME-BRANDING.md new file mode 100644 index 0000000..5a9317d --- /dev/null +++ b/specs/001-contix-apps-home-branding/SPEC-001-CONTIX-APPS-HOME-BRANDING.md @@ -0,0 +1,168 @@ +# Spec 001 — CONTIX+ Odoo Apps Home Menu Branding + Auto-Open + +**Criado:** 2026-07-26 +**Solicitado por:** Roger +**Status:** ✅ Implementado (myvexx + ligit) +**Projeto:** [erp-odoo-ligit-myvexx](https://github.com/itecnologys-tech/erp-odoo-ligit-myvexx) +**Módulo Odoo:** `myvexx_apps_branding` **16.0.1.2.1** +**Dependência:** OCA `web_responsive` (Odoo 16) + +## Sistemas + +| Instância | Host | Acesso | DB | +|-----------|------|--------|-----| +| erp.myvexx.com | VM 111 `erp-myvexx` (Big) | `10.10.10.111:22248` | `ligit` | +| erp.ligit.com.br | lig315 | `200.187.190.30:22248` | `ligit` | + +**Path do módulo:** `/opt/odoo/custom/addons/myvexx_apps_branding` + +--- + +## Objectivo + +Personalizar o **Apps Menu** fullscreen do `web_responsive` (tela roxa de apps) com branding CONTIX+ e abrir essa tela **automaticamente após o login**. + +Não é a “Ação inicial” do utilizador Odoo (isso abre um app). É o **Home Menu de aplicativos**. + +--- + +## Layout definitivo (aprovado Roger — não alterar sem OK) + +### Composição +- **Esquerda:** logo CONTIX+ (transparente) +- **Direita:** busca + grid compacto de ícones +- Sem caixas/bordas/retângulos decorativos +- Sem slogan HTML (logo PNG já contém a arte) + +### Medidas aprovadas + +| Elemento | Valor | Nota | +|----------|-------|------| +| Painel logo | ~560px (`min-width` 420px) | `.o_myvexx_apps_brand` | +| Logo max-width | ~520px | `.o_myvexx_logo` | +| Ícone app | **5.5rem** | `.o-app-icon` — **NÃO ALTERAR** | +| Célula app | ~118px | `.o_app` | +| Títulos | ~1.2rem / weight 500 | | +| Row-gap | ~1.15rem | entre linhas de apps | +| Grid max-width | ~780px | ao lado da logo | + +### Assets visuais + +| Ficheiro | Uso | +|----------|-----| +| `static/src/img/logo-contix-home.png` | Logo canónica no XML | +| `static/src/img/logo-contabilidade_5.png` | Origem / backup da mesma arte | + +--- + +## Arquitectura técnica + +``` +web_responsive.AppsMenu (OCA) + │ + ├─ XML inherit → apps_menu.xml (shell esquerda/direita) + ├─ SCSS → apps_menu.scss (medidas definitivas) + └─ JS patch → open_home_on_login.esm.js (auto-open) +``` + +### Ficheiros do módulo + +``` +myvexx_apps_branding/ +├── __init__.py +├── __manifest__.py +├── LAYOUT_DEFINITIVO.txt +├── PREFERENCIAS_ROGER.txt +└── static/src/ + ├── js/open_home_on_login.esm.js + ├── img/logo-contix-home.png + ├── img/logo-contabilidade_5.png + └── components/apps_menu/ + ├── apps_menu.xml + └── apps_menu.scss +``` + +### Manifest (assets) + +```python +"depends": ["web_responsive"], +"assets": { + "web.assets_backend": [ + "myvexx_apps_branding/static/src/js/open_home_on_login.esm.js", + "myvexx_apps_branding/static/src/components/apps_menu/apps_menu.xml", + "myvexx_apps_branding/static/src/components/apps_menu/apps_menu.scss", + ], +}, +``` + +--- + +## Auto-open no login + +1. Após montar `AppsMenu`, chama `setOpenState(true, false)`. +2. Durante ~**1.5s** bloqueia o 1º `ACTION_MANAGER:UI-UPDATED` que normalmente fecha o menu. +3. Depois libera o fecho normal. + +Implementação Odoo 16 / estilo OCA: +- `import {patch} from "web.utils"` +- Patch: `myvexx_apps_branding.OpenHomeOnLogin` +- `this._super(...)` + `owl.onMounted` + +Alvo: `@web_responsive/components/apps_menu/apps_menu.esm` → `AppsMenu` + +--- + +## Riscos em actualizações + +| Actualização | Risco | Acção | +|--------------|-------|-------| +| Só dados / módulos de negócio | Baixo | Nenhuma | +| Update `web_responsive` OCA | Médio | Rever `AppsMenu` / `setOpenState` | +| Odoo 16 → 17+ | Alto | Reescrever patch (API sem `_super`) | +| Cloudflare / browser cache | Baixo | Hard refresh | + +O módulo é **custom** (fora do path OCA) → pull do OCA não apaga o branding. + +--- + +## Deploy / upgrade + +```bash +systemctl stop odoo +sudo -u odoo psql -d ligit -c "DELETE FROM ir_attachment WHERE name ILIKE '%web.assets_backend%' OR url ILIKE '%web.assets_backend%';" +sudo -u odoo /opt/odoo/venv/bin/python3 /opt/odoo/server/odoo-bin \ + -c /etc/odoo.conf -d ligit -u myvexx_apps_branding --stop-after-init +systemctl start odoo +``` + +Conf: `/etc/odoo.conf` · `addons_path` deve incluir `/opt/odoo/custom/addons`. + +### Teste +1. Logout / login em `/web` +2. `Ctrl+Shift+R` +3. Home Menu CONTIX+ abre sozinho + +--- + +## Preferências travadas (Roger) + +- Ícones **5.5rem** +- Proporção logo/grid actual +- Logo transparente +- Auto-open no login + +--- + +## Paths Spec Hub / Obsidian (VM130) + +| Onde | Path | +|------|------| +| Repo Git | `/opt/ligbox-spec-hub/repos/erp-odoo-ligit-myvexx` | +| Specs | `.../specs/001-contix-apps-home-branding/` | +| Obsidian | `/opt/ligbox-spec-hub/obsidian-vault/ERP-Odoo-Ligit-Myvexx/` | + +--- + +## Changelog + +Ver `CHANGELOG.md`.