From 8e8c1d892b592c61a80945e78bc96496cbfabaf4 Mon Sep 17 00:00:00 2001 From: worldofiptvcom Date: Sat, 13 Dec 2025 10:55:29 +0300 Subject: [PATCH] Fix dark mode colors for Swagger UI - Replaced filter invert method with proper CSS overrides - Fixed light gray backgrounds showing in dark mode - Improved text contrast and visibility for all Swagger elements - Applied dark theme to inputs, buttons, tables, and code blocks - Better color scheme with #1e1e1e, #2d2d2d backgrounds and #e0e0e0 text --- index.html | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 212 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 03ec15e..9a8b1d5 100644 --- a/index.html +++ b/index.html @@ -372,17 +372,225 @@ padding: 2rem; } - /* Swagger UI Dark Theme */ + /* Swagger UI Dark Theme - Proper Implementation */ [data-theme="dark"] .swagger-ui { - filter: invert(0.88) hue-rotate(180deg); + filter: none !important; + } + + [data-theme="dark"] .swagger-ui .opblock-tag-section { + background: #2d2d2d !important; + } + + [data-theme="dark"] .swagger-ui .opblock { + background: #1e1e1e !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .opblock .opblock-summary { + background: #2d2d2d !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .opblock .opblock-summary-description, + [data-theme="dark"] .swagger-ui .opblock .opblock-summary-path, + [data-theme="dark"] .swagger-ui .opblock .opblock-summary-method, + [data-theme="dark"] .swagger-ui .info .title, + [data-theme="dark"] .swagger-ui .info .description, + [data-theme="dark"] .swagger-ui .scheme-container, + [data-theme="dark"] .swagger-ui .opblock-description-wrapper p, + [data-theme="dark"] .swagger-ui .opblock-external-docs-wrapper p, + [data-theme="dark"] .swagger-ui .opblock-title_normal p, + [data-theme="dark"] .swagger-ui table thead tr th, + [data-theme="dark"] .swagger-ui table tbody tr td, + [data-theme="dark"] .swagger-ui .parameter__name, + [data-theme="dark"] .swagger-ui .parameter__type, + [data-theme="dark"] .swagger-ui .response-col_status, + [data-theme="dark"] .swagger-ui .response-col_description, + [data-theme="dark"] .swagger-ui .tab li, + [data-theme="dark"] .swagger-ui select, + [data-theme="dark"] .swagger-ui label, + [data-theme="dark"] .swagger-ui .opblock-section-header h4, + [data-theme="dark"] .swagger-ui .opblock-section-header label { + color: #e0e0e0 !important; + } + + [data-theme="dark"] .swagger-ui .info .title small, + [data-theme="dark"] .swagger-ui .info .description p { + color: #b0b0b0 !important; + } + + [data-theme="dark"] .swagger-ui .opblock-body, + [data-theme="dark"] .swagger-ui .opblock-description-wrapper, + [data-theme="dark"] .swagger-ui .opblock-external-docs-wrapper, + [data-theme="dark"] .swagger-ui .opblock-section-header { + background: #1e1e1e !important; + } + + [data-theme="dark"] .swagger-ui .scheme-container, + [data-theme="dark"] .swagger-ui .topbar, + [data-theme="dark"] .swagger-ui section.models { + background: #2d2d2d !important; + } + + [data-theme="dark"] .swagger-ui input[type=text], + [data-theme="dark"] .swagger-ui input[type=password], + [data-theme="dark"] .swagger-ui input[type=search], + [data-theme="dark"] .swagger-ui input[type=email], + [data-theme="dark"] .swagger-ui input[type=file], + [data-theme="dark"] .swagger-ui textarea, + [data-theme="dark"] .swagger-ui select { + background: #1e1e1e !important; + border-color: #3a3a3a !important; + color: #e0e0e0 !important; + } + + [data-theme="dark"] .swagger-ui .btn { + background: #3a3a3a !important; + color: #e0e0e0 !important; + border-color: #4a4a4a !important; + } + + [data-theme="dark"] .swagger-ui .btn.execute { + background: #4a9eff !important; + color: white !important; + } + + [data-theme="dark"] .swagger-ui .btn.cancel { + background: #e74c3c !important; + color: white !important; + } + + [data-theme="dark"] .swagger-ui table thead tr th, + [data-theme="dark"] .swagger-ui table thead tr td { + background: #2d2d2d !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui table tbody tr td { + background: #1e1e1e !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .model-box, + [data-theme="dark"] .swagger-ui .model { + background: #2d2d2d !important; + } + + [data-theme="dark"] .swagger-ui .model-title { + background: #1e1e1e !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui section.models .model-container { + background: #2d2d2d !important; + } + + [data-theme="dark"] .swagger-ui .model-box-control:focus, + [data-theme="dark"] .swagger-ui section.models .model-box { + background: #2d2d2d !important; + } + + [data-theme="dark"] .swagger-ui .parameters-col_description input[type=text] { + background: #2d2d2d !important; + } + + [data-theme="dark"] .swagger-ui .topbar .download-url-wrapper input[type=text] { + background: #1e1e1e !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .topbar .download-url-wrapper .download-url-button { + background: #4a9eff !important; + color: white !important; + } + + [data-theme="dark"] .swagger-ui .info .title small.version-stamp { + background-color: #4a9eff !important; + } + + [data-theme="dark"] .swagger-ui .auth-wrapper { + background: #2d2d2d !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .authorization__btn { + background: #4a9eff !important; + color: white !important; + border-color: #4a9eff !important; + } + + [data-theme="dark"] .swagger-ui .dialog-ux .modal-ux { + background: #1e1e1e !important; + border-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .dialog-ux .modal-ux-header { + background: #2d2d2d !important; + border-bottom: 1px solid #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .dialog-ux .modal-ux-content h4, + [data-theme="dark"] .swagger-ui .dialog-ux .modal-ux-content p { + color: #e0e0e0 !important; + } + + [data-theme="dark"] .swagger-ui .dialog-ux .modal-ux-header h3 { + color: #e0e0e0 !important; + } + + [data-theme="dark"] .swagger-ui .responses-inner h4, + [data-theme="dark"] .swagger-ui .responses-inner h5 { + color: #e0e0e0 !important; + } + + [data-theme="dark"] .swagger-ui .response-col_links { + color: #4a9eff !important; + } + + [data-theme="dark"] .swagger-ui .opblock-tag { + color: #e0e0e0 !important; + border-bottom-color: #3a3a3a !important; + } + + [data-theme="dark"] .swagger-ui .parameter__name.required::after { + color: #e74c3c !important; + } + + [data-theme="dark"] .swagger-ui .parameter__name.required span { + color: #e74c3c !important; + } + + [data-theme="dark"] .swagger-ui .prop-type { + color: #4a9eff !important; + } + + [data-theme="dark"] .swagger-ui .prop-format { + color: #b0b0b0 !important; + } + + [data-theme="dark"] .swagger-ui a { + color: #4a9eff !important; + } + + [data-theme="dark"] .swagger-ui a:hover { + color: #357abd !important; } [data-theme="dark"] .swagger-ui .microlight { - filter: invert(1) hue-rotate(180deg); + filter: none !important; + } + + [data-theme="dark"] .swagger-ui .highlight-code { + background: #1e1e1e !important; + } + + [data-theme="dark"] .swagger-ui .highlight-code .microlight { + background: #1e1e1e !important; + color: #e0e0e0 !important; } [data-theme="dark"] .swagger-ui img { - filter: invert(1) hue-rotate(180deg); + filter: none !important; } /* Responsive */