|
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<title>Car Damage Detection</title> |
|
<link rel="stylesheet" href="/static/css/style.css"> |
|
<script> |
|
function copyJSON() { |
|
const pre = document.getElementById('json-pre'); |
|
if (pre) { |
|
navigator.clipboard.writeText(pre.innerText); |
|
alert('JSON copied to clipboard!'); |
|
} |
|
} |
|
function toggleJSON() { |
|
const block = document.getElementById('json-block'); |
|
const btn = document.getElementById('toggle-json-btn'); |
|
if (block.style.display === 'none') { |
|
block.style.display = 'block'; |
|
btn.innerText = 'Hide JSON'; |
|
} else { |
|
block.style.display = 'none'; |
|
btn.innerText = 'Show JSON'; |
|
} |
|
} |
|
</script> |
|
</head> |
|
<body> |
|
<div class="header" style="position:relative;"> |
|
<h2 style="margin:0;">Car Damage & Parts Detection</h2> |
|
<img src="/static/img/logo.png" alt="Logo" class="logo" style="position:absolute; top:18px; right:32px; max-width:110px;"> |
|
</div> |
|
<div class="container"> |
|
<form method="post" action="/upload" enctype="multipart/form-data"> |
|
<input type="file" name="file" accept="image/*" required> |
|
<button type="submit">Upload & Analyze</button> |
|
</form> |
|
{% if error %}<div class="error">{{ error }}</div>{% endif %} |
|
{% if result %} |
|
<div class="results"> |
|
<h3>Results</h3> |
|
<div class="images-row"> |
|
<div> |
|
<div class="result-label">Original</div> |
|
<img src="{{ original_image }}" alt="Original Image" class="result-img"> |
|
</div> |
|
{% if result.damage_image is defined and result.damage_image %} |
|
<div> |
|
<div class="result-label">Damage Prediction</div> |
|
<img src="{{ result.damage_image }}" alt="Damage Prediction" class="result-img"> |
|
</div> |
|
{% endif %} |
|
{% if result.parts_image is defined and result.parts_image %} |
|
<div> |
|
<div class="result-label">Parts Prediction</div> |
|
<img src="{{ result.parts_image }}" alt="Parts Prediction" class="result-img"> |
|
</div> |
|
{% endif %} |
|
</div> |
|
{% if result.json is defined and result.json %} |
|
<h4 style="margin-bottom:8px;">JSON Output</h4> |
|
<button class="copy-btn" onclick="copyJSON()" type="button">Copy JSON</button> |
|
<button class="copy-btn" id="toggle-json-btn" onclick="toggleJSON()" type="button" style="margin-left:10px;">Show JSON</button> |
|
<div id="json-block" style="display:none;"> |
|
<pre class="json-output" id="json-pre">{{ result.json | tojson(indent=2) }}</pre> |
|
</div> |
|
<a class="download-btn" href="{{ result.json_download }}" download>Download JSON</a> |
|
{% endif %} |
|
{% if result.damage_image is defined and result.damage_image %} |
|
<a class="download-btn" href="{{ result.damage_image }}" download>Download Damage Image</a> |
|
{% endif %} |
|
{% if result.parts_image is defined and result.parts_image %} |
|
<a class="download-btn" href="{{ result.parts_image }}" download>Download Parts Image</a> |
|
{% endif %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
<div class="footer"> |
|
© {{ 2025 }} RSA/Intact. All rights reserved. |
|
</div> |
|
</body> |
|
</html> |
|
|