Skip to content

Refatoracao tokens design system - #191

Merged
ram0ng1 merged 4 commits into
masterfrom
refatoracao-tokens-design-system
Aug 3, 2026
Merged

Refatoracao tokens design system#191
ram0ng1 merged 4 commits into
masterfrom
refatoracao-tokens-design-system

Conversation

@ram0ng1

@ram0ng1 ram0ng1 commented Aug 3, 2026

Copy link
Copy Markdown
Owner

No description provided.

ram0ng1 added 3 commits August 2, 2026 22:42
- Introduced a new setting in the admin panel to choose between the default and editorial hero styles for the discussion page.
- Implemented the editorial hero style, which features a low, flat band design, replacing the tall header with a smaller title and adjusted layout.
- Added corresponding LESS styles for the editorial variant, ensuring proper layout and appearance.
- Updated locale files for English and Brazilian Portuguese to include new settings and descriptions.
- Created a PHP class to manage the setting of the hero style attribute in the HTML document before the first paint, preventing flash of the default style.
- Added a new editorial variant for the discussion page that widens the reading column and introduces a conversation spine.
- Replaced the previous hero style with a standard hero while maintaining the editorial layout.
- Updated styles in DiscussionPage, DiscussionEditorial, and PostBadges to accommodate the new layout.
- Removed the deprecated DiscussionHeroStyle class and added DiscussionStyle to manage the editorial style attribute.
- Updated localization files to reflect changes in discussion style terminology.
@ram0ng1 ram0ng1 added correcao Correção de erro (patch) release Release e bump de versão labels Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle size

🟡 Crescimento pequeno — gzip total +0.5 KB (+0.7%), abaixo do limiar de regressão (2% / 2 KB).

Arquivo PR (gzip) Master (gzip) Δ gzip PR (raw) Δ raw
admin.js 12.3 KB 11.9 KB 🔴 +0.4 KB (3.7%) 49.2 KB 🔴 +1.7 KB (3.5%)
forum.js 40.9 KB 40.8 KB 🔴 +0.1 KB (0.2%) 159.3 KB 🔴 +0.4 KB (0.3%)
forum/components/AllDiscussionsPage.js 2.7 KB 2.7 KB = 8.7 KB =
forum/components/AvocadoPostsSearchPage.js 2.4 KB 2.4 KB = 7.3 KB =
forum/components/AvocadoSearchPage.js 5.3 KB 5.3 KB = 19.5 KB =
forum/components/BookmarksPage.js 2.3 KB 2.3 KB = 7.0 KB =
forum/components/TagPage.js 3.4 KB 3.4 KB = 11.0 KB =
forum/components/TeamPage.js 1.5 KB 1.5 KB = 4.1 KB =
forum/components/UserProfilePage.js 2.5 KB 2.5 KB = 10.2 KB =
Total 73.2 KB 72.7 KB 🔴 +0.5 KB (0.7%) 276.2 KB 🔴 +2.1 KB (0.8%)

gzip nível 9. 🟢 = menor que o master · 🔴 = maior. Report-only — não bloqueia o merge.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

🔒 Regressão de segurança (Semgrep diff vs master)

✅ Sem regressão — nenhum achado novo de vulnerabilidade introduzido por esta PR.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

🔬 Performance benchmark

Home (/)

Métrica PR Master (baseline) Δ
Performance (score) 86 82 🟢 4pp (4.9%)
FCP 1482 ms 1781 ms 🟢 -300 ms (-16.8%)
LCP 1837 ms 1989 ms 🟢 -152 ms (-7.6%)
TBT 0 ms 61 ms 🟢 -61 ms (-100.0%)
CLS 0.000 0.000 (=)
Speed Index 1482 ms 1781 ms 🟢 -300 ms (-16.8%)
TTI 1838 ms 1989 ms 🟢 -151 ms (-7.6%)

💡 Recomendações (Lighthouse + dicas Flarum 2 / Avocado)

  • Sem compressão de texto — economia ~960 ms · ~1160 KB
    Habilite gzip/brotli no servidor (nginx: gzip on; gzip_types text/css application/javascript; ou brotli on; brotli_types ...). Esse é um setting de host, não da extensão, mas reportar aqui ajuda.
  • CSS não utilizado — economia ~520 ms · ~581 KB
    O bundle forum.css carrega tudo de less/forum/**. Divida por rota (Home/Discussion/Tag) via Extend\Frontend->css() condicional no JS, ou use PurgeCSS no webpack para o build de produção.
  • Recursos bloqueando o render — economia ~520 ms
    Mova CSS não-crítico para <link rel="preload"> ou injete inline o CSS above-the-fold do forum.less. Em Flarum 2, o forum.css é servido como bloqueante por padrão — considere media="print" onload para folhas não-críticas (ex.: dark theme).
  • JavaScript não utilizado — economia ~500 ms · ~536 KB
    Use import() dinâmico para componentes só usados em rotas específicas (TeamPage, AvocadoSearchPage). O webpack faz split automático se você usar import("./components/TeamPage") dentro do routes ao invés de import estático no topo do index.tsx.
  • Cache HTTP curto — 8 resources found
    Os assets versionados em /assets/forum-<hash>.js deveriam ter Cache-Control: public, max-age=31536000, immutable. Configure no nginx/apache, não no Flarum.

/discussions

Métrica PR Master (baseline) Δ
Performance (score) 86 86 (=)
FCP 1481 ms 1502 ms 🟢 -20 ms (-1.3%)
LCP 1864 ms 1807 ms 🔴 +57 ms (3.1%)
TBT 0 ms 0 ms (=)
CLS 0.000 0.000 (=)
Speed Index 1481 ms 1502 ms 🟢 -20 ms (-1.3%)
TTI 1864 ms 1807 ms 🔴 +57 ms (3.1%)

💡 Recomendações (Lighthouse + dicas Flarum 2 / Avocado)

  • Sem compressão de texto — economia ~960 ms · ~1166 KB
    Habilite gzip/brotli no servidor (nginx: gzip on; gzip_types text/css application/javascript; ou brotli on; brotli_types ...). Esse é um setting de host, não da extensão, mas reportar aqui ajuda.
  • JavaScript não utilizado — economia ~580 ms · ~562 KB
    Use import() dinâmico para componentes só usados em rotas específicas (TeamPage, AvocadoSearchPage). O webpack faz split automático se você usar import("./components/TeamPage") dentro do routes ao invés de import estático no topo do index.tsx.
  • CSS não utilizado — economia ~520 ms · ~587 KB
    O bundle forum.css carrega tudo de less/forum/**. Divida por rota (Home/Discussion/Tag) via Extend\Frontend->css() condicional no JS, ou use PurgeCSS no webpack para o build de produção.
  • Recursos bloqueando o render — economia ~520 ms
    Mova CSS não-crítico para <link rel="preload"> ou injete inline o CSS above-the-fold do forum.less. Em Flarum 2, o forum.css é servido como bloqueante por padrão — considere media="print" onload para folhas não-críticas (ex.: dark theme).
  • Cache HTTP curto — 9 resources found
    Os assets versionados em /assets/forum-<hash>.js deveriam ter Cache-Control: public, max-age=31536000, immutable. Configure no nginx/apache, não no Flarum.

/tags

Métrica PR Master (baseline) Δ
Performance (score) 87 87 (=)
FCP 1490 ms 1507 ms 🟢 -18 ms (-1.2%)
LCP 1748 ms 1770 ms 🟢 -22 ms (-1.2%)
TBT 0 ms 1 ms 🟢 -1 ms (-100.0%)
CLS 0.000 0.000 (=)
Speed Index 1490 ms 1507 ms 🟢 -18 ms (-1.2%)
TTI 1748 ms 1770 ms 🟢 -22 ms (-1.2%)

💡 Recomendações (Lighthouse + dicas Flarum 2 / Avocado)

  • Sem compressão de texto — economia ~920 ms · ~1161 KB
    Habilite gzip/brotli no servidor (nginx: gzip on; gzip_types text/css application/javascript; ou brotli on; brotli_types ...). Esse é um setting de host, não da extensão, mas reportar aqui ajuda.
  • Recursos bloqueando o render — economia ~520 ms
    Mova CSS não-crítico para <link rel="preload"> ou injete inline o CSS above-the-fold do forum.less. Em Flarum 2, o forum.css é servido como bloqueante por padrão — considere media="print" onload para folhas não-críticas (ex.: dark theme).
  • JavaScript não utilizado — economia ~500 ms · ~566 KB
    Use import() dinâmico para componentes só usados em rotas específicas (TeamPage, AvocadoSearchPage). O webpack faz split automático se você usar import("./components/TeamPage") dentro do routes ao invés de import estático no topo do index.tsx.
  • CSS não utilizado — economia ~480 ms · ~586 KB
    O bundle forum.css carrega tudo de less/forum/**. Divida por rota (Home/Discussion/Tag) via Extend\Frontend->css() condicional no JS, ou use PurgeCSS no webpack para o build de produção.
  • Cache HTTP curto — 8 resources found
    Os assets versionados em /assets/forum-<hash>.js deveriam ter Cache-Control: public, max-age=31536000, immutable. Configure no nginx/apache, não no Flarum.

🥑 Dicas gerais para acelerar o tema (Flarum 2 + Avocado)

  1. Build de produção minificado — confirme que npm run build rodou com mode: production (já é o caso no js/package.json). Webpack tree-shakes import { x } from "flarum/..." se o consumo for explícito.
  2. Split por rotaindex.tsx importa todos os Components no topo. Trocar para import() dinâmico nas rotas raramente acessadas (TeamPage, AvocadoSearchPage, TagsPage) reduz o forum.js inicial.
  3. Less crítico inline — Flarum 2 serve forum.css bloqueando. Considere extrair o CSS above-the-fold (header + 1ª thread visível) e injetar inline via Extend\Frontend->content(InlineCriticalCss::class).
  4. Avatares — sirva via <img loading="lazy"> em todos os ThreadCards/PostCards que não estiverem no fold inicial.
  5. <link rel="preconnect"> — se você usa CDN para fontes ou avatares S3, adicione preconnects no header.
  6. Extend\Frontend->js() rodam síncronos — todo arquivo js/dist/forum.js é parseado no boot. Cada extend() no index.tsx roda antes da primeira pintura.
  7. opcache + view cache — no host: opcache.enable=1, opcache.validate_timestamps=0 em produção, e php flarum cache:clear no deploy.
  8. HTTP/2 + Brotli no host — o Flarum gera bundles grandes; sem brotli você paga em transferência.

Lighthouse desktop, 1 run por URL. 🟢 = melhorou vs master · 🔴 = regrediu.

@ram0ng1
ram0ng1 merged commit 9be72b8 into master Aug 3, 2026
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

correcao Correção de erro (patch) release Release e bump de versão

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant