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 .btn-group .btn { color: inherit; }
|
||||||
.swagger-ui .info .title small { display: none; }
|
.swagger-ui .info .title small { display: none; }
|
||||||
|
|
||||||
/* Logo customizada da Neuralsys no topbar (substitui a logo do Swagger) */
|
/* Logo customizada — swagger-ui-dist 5.x usa SVG inline, não <img>.
|
||||||
.swagger-ui .topbar .topbar-wrapper .link {
|
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;
|
display: grid;
|
||||||
grid-template-columns: auto 1fr;
|
grid-template-columns: auto 1fr;
|
||||||
grid-template-rows: auto auto;
|
grid-template-rows: auto auto;
|
||||||
column-gap: 14px;
|
column-gap: 14px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
.swagger-ui .topbar .topbar-wrapper .link img {
|
.swagger-ui .topbar .topbar-wrapper a img {
|
||||||
height: 56px;
|
height: 56px;
|
||||||
width: auto;
|
width: auto;
|
||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
grid-row: 1 / span 2;
|
grid-row: 1 / span 2;
|
||||||
}
|
}
|
||||||
.swagger-ui .topbar .topbar-wrapper .link span { display: none; }
|
.swagger-ui .topbar .topbar-wrapper a::before {
|
||||||
.swagger-ui .topbar .topbar-wrapper .link::before {
|
|
||||||
content: "CoreGuard";
|
content: "CoreGuard";
|
||||||
grid-column: 2;
|
grid-column: 2;
|
||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
@@ -115,7 +118,7 @@ if (enableSwagger) {
|
|||||||
line-height: 1;
|
line-height: 1;
|
||||||
letter-spacing: 0.3px;
|
letter-spacing: 0.3px;
|
||||||
}
|
}
|
||||||
.swagger-ui .topbar .topbar-wrapper .link::after {
|
.swagger-ui .topbar .topbar-wrapper a::after {
|
||||||
content: "WhatsAPI Oficial";
|
content: "WhatsAPI Oficial";
|
||||||
grid-column: 2;
|
grid-column: 2;
|
||||||
grid-row: 2;
|
grid-row: 2;
|
||||||
@@ -319,8 +322,8 @@ if (enableSwagger) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var observer = new MutationObserver(function () {
|
var observer = new MutationObserver(function () {
|
||||||
var img = document.querySelector('.swagger-ui .topbar-wrapper .link img')
|
var link = document.querySelector('.swagger-ui .topbar-wrapper a')
|
||||||
if (img && img.src.indexOf('custom-logo') === -1) fixLogo()
|
if (link && !link.querySelector('img[src*="custom-logo"]')) fixLogo()
|
||||||
if (!document.querySelector('.neuralsys-filter-container') &&
|
if (!document.querySelector('.neuralsys-filter-container') &&
|
||||||
document.querySelector('.opblock-tag-section')) {
|
document.querySelector('.opblock-tag-section')) {
|
||||||
installFilter()
|
installFilter()
|
||||||
@@ -398,11 +401,14 @@ if (enableSwagger) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function fixLogo() {
|
function fixLogo() {
|
||||||
var img = document.querySelector('.swagger-ui .topbar-wrapper .link img')
|
var link = document.querySelector('.swagger-ui .topbar-wrapper a')
|
||||||
if (!img) { return setTimeout(fixLogo, 100) }
|
if (!link) { return setTimeout(fixLogo, 100) }
|
||||||
if (img.src.indexOf('custom-logo') === -1) {
|
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'
|
img.src = '/api-docs/custom-logo.png'
|
||||||
}
|
link.insertBefore(img, link.firstChild)
|
||||||
}
|
}
|
||||||
|
|
||||||
function boot() {
|
function boot() {
|
||||||
|
|||||||
Reference in New Issue
Block a user