v0.1.33: Fix scanForDevices is not defined error
- Fixed JavaScript scope issue by injecting scan function into existing script section - Scan function now properly available when button is clicked - Improved JavaScript injection strategy to avoid separate script tag conflicts - Updated version to 0.1.33 in all files Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -77,7 +77,7 @@ async def lifespan(app: FastAPI): # noqa: ARG001
|
||||
app = FastAPI(
|
||||
title="Fichero Printer API",
|
||||
description="REST API for the Fichero D11s (AiYin) thermal label printer.",
|
||||
version = "0.1.32",
|
||||
version = "0.1.33",
|
||||
lifespan=lifespan,
|
||||
docs_url=None,
|
||||
redoc_url=None,
|
||||
@@ -134,7 +134,7 @@ def _ui_html() -> str:
|
||||
</div>
|
||||
"""
|
||||
scan_script = r'''
|
||||
<script>
|
||||
// Scan for BLE Devices function
|
||||
async function scanForDevices() {
|
||||
console.log('Scan function called - checking elements...');
|
||||
const resultsEl = document.getElementById('scan-results');
|
||||
@@ -187,18 +187,25 @@ def _ui_html() -> str:
|
||||
console.log('Scan completed. Final result:', resultsEl.textContent);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
'''
|
||||
# Inject after the main content but before scripts
|
||||
'''
|
||||
# Inject scan HTML after main content
|
||||
if "</main>" in template:
|
||||
parts = template.split("</main>", 1)
|
||||
template = parts[0] + "</main>" + scan_html + scan_script + parts[1]
|
||||
template = parts[0] + "</main>" + scan_html + parts[1]
|
||||
elif "</body>" in template:
|
||||
parts = template.split("</body>", 1)
|
||||
template = parts[0] + scan_html + scan_script + "</body>" + parts[1]
|
||||
template = parts[0] + scan_html + "</body>" + parts[1]
|
||||
else:
|
||||
# Fallback if no main or body tag
|
||||
template += scan_html + scan_script
|
||||
template += scan_html
|
||||
|
||||
# Inject scan script before the closing </script> tag of the main script
|
||||
if "</script>" in template:
|
||||
parts = template.rsplit("</script>", 1)
|
||||
template = parts[0] + scan_script + "</script>" + parts[1]
|
||||
else:
|
||||
# Fallback if no script tag found
|
||||
template += f"<script>{scan_script}</script>"
|
||||
|
||||
return template
|
||||
|
||||
|
||||
Reference in New Issue
Block a user