diff --git a/bindings/csharp/FusionFramework/Swagger.cs b/bindings/csharp/FusionFramework/Swagger.cs
index 349a98f..51f9bd4 100644
--- a/bindings/csharp/FusionFramework/Swagger.cs
+++ b/bindings/csharp/FusionFramework/Swagger.cs
@@ -392,18 +392,22 @@ static string UiHtml(SwaggerConfig swagger, string openapiUrl, string? primaryNa
: "null";
var title = JsonSerializer.Serialize(swagger.PageTitle).Trim('"');
var navbarEnabled = swagger.NavbarEnabled;
+ var versionUrls = swagger.Urls?.Count > 0;
+ var needsStandalone = navbarEnabled || versionUrls;
var hideUrlCss = navbarEnabled && !swagger.ShowUrlInput
? """
"""
: "";
- var standalone = navbarEnabled
+ var standalone = needsStandalone && File.Exists(Path.Combine(AssetsDirectory(), "swagger-ui-standalone-preset.js"))
? $""""""
: "";
- var navbarJs = navbarEnabled ? "true" : "false";
+ var navbarJs = needsStandalone ? "true" : "false";
return $$"""
diff --git a/crates/fusion-node/index.js b/crates/fusion-node/index.js
index 96f4652..3bc0512 100644
--- a/crates/fusion-node/index.js
+++ b/crates/fusion-node/index.js
@@ -956,6 +956,8 @@ function swaggerUiHtml(swagger, openapiUrl, primaryName = null) {
const navbarEnabled = !!swagger.navbar?.enabled
const showUrlInput = swagger.navbar?.showUrlInput !== false
+ const versionUrls = swagger.navbar?.urls?.length > 0
+ const needsStandalone = navbarEnabled || versionUrls
const hideUrlCss =
navbarEnabled && !showUrlInput
? ``
: ''
- const standaloneScript = navbarEnabled
- ? ``
- : ''
+ const standaloneScript =
+ needsStandalone && SWAGGER_ASSETS['swagger-ui-standalone-preset.js']
+ ? ``
+ : ''
return `
@@ -987,7 +990,7 @@ function swaggerUiHtml(swagger, openapiUrl, primaryName = null) {
var opts = ${uiJson};
opts.presets = [SwaggerUIBundle.presets.apis];
opts.plugins = [SwaggerUIBundle.plugins.DownloadUrl];
- if (${navbarEnabled ? 'true' : 'false'} && typeof SwaggerUIStandalonePreset !== 'undefined') {
+ if (${needsStandalone ? 'true' : 'false'} && typeof SwaggerUIStandalonePreset !== 'undefined') {
opts.presets.push(SwaggerUIStandalonePreset);
opts.layout = 'StandaloneLayout';
} else {
diff --git a/crates/fusion-py/python/fusion_framework/app.py b/crates/fusion-py/python/fusion_framework/app.py
index 222d676..b649ed7 100644
--- a/crates/fusion-py/python/fusion_framework/app.py
+++ b/crates/fusion-py/python/fusion_framework/app.py
@@ -257,17 +257,21 @@ def _swagger_ui_html(swagger: dict[str, Any], openapi_url: str, primary_name: st
navbar_enabled = bool(navbar.get("enabled"))
show_url_input = bool(navbar.get("showUrlInput", True))
+ version_urls = navbar.get("urls") or []
+ needs_standalone = navbar_enabled or bool(version_urls)
hide_url_css = ""
if navbar_enabled and not show_url_input:
# Keep the version