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:
+18
-12
@@ -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) {
|
||||
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() {
|
||||
|
||||
Reference in New Issue
Block a user