fix: adapt topbar logo for swagger-ui-dist 5.32.6

v5.x renders logo as inline SVG (not <img>); topbar link no longer
has .link class. Hide SVG via CSS, inject img element via JS fixLogo().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 17:41:39 -03:00
parent 7be7822d92
commit d3273b0cad
+19 -13
View File
@@ -88,22 +88,25 @@ if (enableSwagger) {
.swagger-ui .btn-group .btn { color: inherit; }
.swagger-ui .info .title small { display: none; }
/* Logo customizada da Neuralsys no topbar (substitui a logo do Swagger) */
.swagger-ui .topbar .topbar-wrapper .link {
/* Logo customizada — swagger-ui-dist 5.x usa SVG inline, não <img>.
Ocultamos o SVG e o botão DarkMode e injetamos nosso img via JS. */
.swagger-ui .topbar .topbar-wrapper a svg { display: none !important; }
.swagger-ui .topbar .topbar-wrapper button { display: none !important; }
.swagger-ui .topbar .topbar-wrapper a {
display: grid;
grid-template-columns: auto 1fr;
grid-template-rows: auto auto;
column-gap: 14px;
align-items: center;
text-decoration: none;
}
.swagger-ui .topbar .topbar-wrapper .link img {
.swagger-ui .topbar .topbar-wrapper a img {
height: 56px;
width: auto;
grid-column: 1;
grid-row: 1 / span 2;
}
.swagger-ui .topbar .topbar-wrapper .link span { display: none; }
.swagger-ui .topbar .topbar-wrapper .link::before {
.swagger-ui .topbar .topbar-wrapper a::before {
content: "CoreGuard";
grid-column: 2;
grid-row: 1;
@@ -115,7 +118,7 @@ if (enableSwagger) {
line-height: 1;
letter-spacing: 0.3px;
}
.swagger-ui .topbar .topbar-wrapper .link::after {
.swagger-ui .topbar .topbar-wrapper a::after {
content: "WhatsAPI Oficial";
grid-column: 2;
grid-row: 2;
@@ -319,8 +322,8 @@ if (enableSwagger) {
}
var observer = new MutationObserver(function () {
var img = document.querySelector('.swagger-ui .topbar-wrapper .link img')
if (img && img.src.indexOf('custom-logo') === -1) fixLogo()
var link = document.querySelector('.swagger-ui .topbar-wrapper a')
if (link && !link.querySelector('img[src*="custom-logo"]')) fixLogo()
if (!document.querySelector('.neuralsys-filter-container') &&
document.querySelector('.opblock-tag-section')) {
installFilter()
@@ -398,11 +401,14 @@ if (enableSwagger) {
}
function fixLogo() {
var img = document.querySelector('.swagger-ui .topbar-wrapper .link img')
if (!img) { return setTimeout(fixLogo, 100) }
if (img.src.indexOf('custom-logo') === -1) {
img.src = '/api-docs/custom-logo.png'
}
var link = document.querySelector('.swagger-ui .topbar-wrapper a')
if (!link) { return setTimeout(fixLogo, 100) }
if (link.querySelector('img[src*="custom-logo"]')) return
var svg = link.querySelector('svg')
if (svg) svg.remove()
var img = document.createElement('img')
img.src = '/api-docs/custom-logo.png'
link.insertBefore(img, link.firstChild)
}
function boot() {