|
|
|
|
|
<div class="site-header"> |
|
|
<div class="header-inner"> |
|
|
<div class="logo-cluster"> |
|
|
<span (click)="navigateHome()" style="cursor:pointer;display:flex;align-items:center;"> |
|
|
<img src="/assets/pykara-logo.png" alt="PyDetect Logo" class="logo-img-header" /> |
|
|
</span> |
|
|
<div class="py-detect-title-header"> |
|
|
<span class="py-letter p">P</span> |
|
|
<span class="py-letter y">Y</span> |
|
|
<span class="py-shape"></span> |
|
|
<span class="py-letter d">D</span> |
|
|
<span class="py-letter e">E</span> |
|
|
<span class="py-letter t">T</span> |
|
|
<span class="py-letter e2">E</span> |
|
|
<span class="py-letter c">C</span> |
|
|
<span class="py-letter t2">T</span> |
|
|
</div> |
|
|
</div> |
|
|
<div class="header-actions-right"> |
|
|
<button class="back-btn" (click)="navigateBackToPyDetect()"> |
|
|
<span class="back-icon">←</span> Back to Investigation Page |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<header class="hero-bar"> |
|
|
<div class="hero-inner"> |
|
|
<div class="hero-title"> |
|
|
<h1>Investigation Validation Summary</h1> |
|
|
<div class="hero-sub">Snapshot of the current investigation — concise, actionable</div> |
|
|
</div> |
|
|
<div class="hero-actions"> |
|
|
<div class="progress-badge">Analysis: <strong>100% Complete</strong></div> |
|
|
<button class="icon-btn" title="Settings">⚙️</button> |
|
|
<button class="icon-btn" title=" Report">🔍</button> |
|
|
|
|
|
<button class="hero-more-btn" (click)="goToQuestionSummary()" title="More details"> |
|
|
<span class="hero-more-icon">🛈</span> |
|
|
<span class="hero-more-label">More details</span> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</header> |
|
|
|
|
|
<div class="validation-template-main"> |
|
|
<div class="validation-template-flex"> |
|
|
|
|
|
|
|
|
<div class="cards-row"> |
|
|
|
|
|
|
|
|
<article class="card-modal card-modal-case"> |
|
|
<header class="card-modal-header">Case Summary</header> |
|
|
<div class="card-modal-body"> |
|
|
<div class="case-summary-fields"> |
|
|
<div>Case ID: <b>CASE-007</b></div> |
|
|
<div>Officer: <b>Ganesh</b></div> |
|
|
<div>Date: <b>2025-10-15</b></div> |
|
|
<div>Suspect: <b>Jeeva</b></div> |
|
|
</div> |
|
|
<div class="case-summary-text"> |
|
|
<div class="case-summary-heading">Investigation Summary</div> |
|
|
The suspect displayed calm emotions overall but showed minor inconsistency in hand gestures. <br /> |
|
|
<b>Recommendation:</b> Conduct a short follow-up session. |
|
|
</div> |
|
|
</div> |
|
|
</article> |
|
|
|
|
|
|
|
|
<article class="card-modal card-modal-metrics"> |
|
|
<header class="card-modal-header">Audio / Video Metrics</header> |
|
|
<div class="card-modal-body"> |
|
|
<div class="metrics-bars"> |
|
|
<div class="metrics-row-item"> |
|
|
<div class="metrics-label">Speech</div> |
|
|
<div class="metrics-bar-bg"> |
|
|
<div class="metrics-bar-fill" [style.width.%]="audioMetric1"></div> |
|
|
</div> |
|
|
<div class="metrics-value">{{ audioMetric1 }}%</div> |
|
|
</div> |
|
|
|
|
|
<div class="metrics-row-item"> |
|
|
<div class="metrics-label">Eye Contact</div> |
|
|
<div class="metrics-bar-bg"> |
|
|
<div class="metrics-bar-fill cyan" [style.width.%]="audioMetric2"></div> |
|
|
</div> |
|
|
<div class="metrics-value">{{ audioMetric2 }}%</div> |
|
|
</div> |
|
|
|
|
|
<div class="metrics-row-item"> |
|
|
<div class="metrics-label">Emotion</div> |
|
|
<div class="metrics-bar-bg"> |
|
|
<div class="metrics-bar-fill amber" [style.width.%]="audioMetric3"></div> |
|
|
</div> |
|
|
<div class="metrics-value">{{ audioMetric3 }}%</div> |
|
|
</div> |
|
|
|
|
|
<div class="metrics-row-item"> |
|
|
<div class="metrics-label">Clarity</div> |
|
|
<div class="metrics-bar-bg"> |
|
|
<div class="metrics-bar-fill" [style.width.%]="audioMetric4"></div> |
|
|
</div> |
|
|
<div class="metrics-value">{{ audioMetric4 }}%</div> |
|
|
</div> |
|
|
|
|
|
<div class="metrics-row-item"> |
|
|
<div class="metrics-label">Confidence</div> |
|
|
<div class="metrics-bar-bg"> |
|
|
<div class="metrics-bar-fill" [style.width.%]="audioMetric5"></div> |
|
|
</div> |
|
|
<div class="metrics-value">{{ audioMetric5 }}%</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</article> |
|
|
|
|
|
|
|
|
<article class="card-modal card-modal-results"> |
|
|
<header class="card-modal-header">Validation Results</header> |
|
|
<div class="card-modal-body results-horizontal"> |
|
|
<div class="radial-chart-wrapper" aria-hidden="true"> |
|
|
<svg viewBox="0 0 220 220" preserveAspectRatio="xMidYMid meet" class="radial-svg" role="img" aria-label="Validation radial chart"> |
|
|
<g transform="translate(110,110) rotate(-90)"> |
|
|
<circle [attr.r]="r1" class="radial-bg outer" stroke-width="10" fill="none" [attr.stroke-dasharray]="circumference1"></circle> |
|
|
<circle [attr.r]="r1" class="radial-anim outer-fg" stroke-width="10" fill="none" [attr.stroke-dasharray]="circumference1" [attr.stroke-dashoffset]="offset1" stroke-linecap="round"></circle> |
|
|
|
|
|
<circle [attr.r]="r2" class="radial-bg middle" stroke-width="10" fill="none" [attr.stroke-dasharray]="circumference2"></circle> |
|
|
<circle [attr.r]="r2" class="radial-anim middle-fg" stroke-width="10" fill="none" [attr.stroke-dasharray]="circumference2" [attr.stroke-dashoffset]="offset2" stroke-linecap="round"></circle> |
|
|
|
|
|
<circle [attr.r]="r3" class="radial-bg inner" stroke-width="10" fill="none" [attr.stroke-dasharray]="circumference3"></circle> |
|
|
<circle [attr.r]="r3" class="radial-anim inner-fg" stroke-width="10" fill="none" [attr.stroke-dasharray]="circumference3" [attr.stroke-dashoffset]="offset3" stroke-linecap="round"></circle> |
|
|
</g> |
|
|
</svg> |
|
|
</div> |
|
|
|
|
|
<div class="radial-values horizontal-values"> |
|
|
<div class="radial-item"> |
|
|
<div class="radial-icon" title="Audio"><span class="icon-audio">🔊</span></div> |
|
|
<div> |
|
|
<div class="radial-number">{{ audioAnalysisScore }}%</div> |
|
|
<div class="radial-label">Audio-Analysis</div> |
|
|
<div class="radial-detail">Truthness: <strong>{{ audioTruthness }}%</strong></div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="radial-item"> |
|
|
<div class="radial-icon" title="Video"><span class="icon-video">🎥</span></div> |
|
|
<div> |
|
|
<div class="radial-number">{{ videoAnalysisScore }}%</div> |
|
|
<div class="radial-label">Video-Analysis</div> |
|
|
<div class="radial-detail">Truthness: <strong>{{ videoTruthness }}%</strong></div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="radial-item"> |
|
|
<div class="radial-icon" title="Verified"><span class="icon-verified">✔️</span></div> |
|
|
<div> |
|
|
<div class="radial-number">{{ verifiedScore }}%</div> |
|
|
<div class="radial-label">Verified-Scores</div> |
|
|
<div class="radial-detail">Overall Truth Probability : <strong>{{ verifiedConfidence }}%</strong></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</article> |
|
|
|
|
|
|
|
|
<article class="card-modal card-modal-summary"> |
|
|
<header class="card-modal-header">Summary</header> |
|
|
<div class="card-modal-body summary-grid"> |
|
|
<div class="summary-card card-glass"> |
|
|
<div class="card-top">Verdict / Status</div> |
|
|
<div class="card-value status-badge status-badge-green">Consistent</div> |
|
|
<div class="card-sub">Verdict derived from multi-modal analysis</div> |
|
|
</div> |
|
|
<div class="summary-card card-glass"> |
|
|
<div class="card-top">Investigation Confidence</div> |
|
|
<div class="card-value confidence-percentage">92%</div> |
|
|
<div class="card-sub">Overall system confidence</div> |
|
|
</div> |
|
|
<div class="summary-card card-glass"> |
|
|
<div class="card-top">Dominant Emotion</div> |
|
|
<div class="card-value emotion-emoji">😌 Calm</div> |
|
|
<div class="card-sub">Detected from vocal and facial cues</div> |
|
|
</div> |
|
|
<div class="summary-card card-glass"> |
|
|
<div class="card-top">Session Overview</div> |
|
|
<div class="card-value">Audio {{ audioAnalysisScore }}% · Video {{ videoAnalysisScore }}% · Truth {{ verifiedConfidence }}%</div> |
|
|
<div class="card-sub">Quick breakdown of modal scores</div> |
|
|
</div> |
|
|
</div> |
|
|
</article> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<footer> |
|
|
<p>©2025 Pykara Technologies Pvt. Ltd. All rights reserved.</p> |
|
|
</footer> |
|
|
|
|
|
|
|
|
<div class="validation-actions" aria-hidden="false"> |
|
|
<button class="action-btn action-download" (click)="downloadPDF()" aria-label="Download Report"> |
|
|
<span class="action-icon blue" aria-hidden="true"></span> |
|
|
<span class="action-label">Download Report</span> |
|
|
</button> |
|
|
|
|
|
<button class="action-btn action-email" (click)="emailReport()" aria-label="Email to Supervisor"> |
|
|
<span class="action-icon purple" aria-hidden="true"></span> |
|
|
<span class="action-label">Email to Supervisor</span> |
|
|
</button> |
|
|
|
|
|
<button class="action-btn action-reanalyze" (click)="reAnalyze()" aria-label="Re-Analyze Audio/Video"> |
|
|
<span class="action-icon green" aria-hidden="true"></span> |
|
|
<span class="action-label">Re-Analyze Audio/Video</span> |
|
|
</button> |
|
|
</div> |
|
|
|