From d97640ee6367c0f4e430f3038868207cc44c9e64 Mon Sep 17 00:00:00 2001 From: MrPlatnum Date: Mon, 15 Sep 2025 10:01:23 +0200 Subject: [PATCH] bugfix --- .../text-legibility-assessment.component.html | 20 ++++++++++------ .../text-legibility-assessment.component.ts | 24 ++++++++++++++++--- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.html b/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.html index e613299..dca05aa 100644 --- a/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.html +++ b/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.html @@ -3,22 +3,28 @@ src="https://modelviewer.dev/shared-assets/models/Astronaut.glb" ar ar-modes="webxr" ar-placement="ceiling" reveal="manual" camera-orbit="0deg 75deg 2m"> + + +
+
Minimum setzen
@@ -33,6 +39,7 @@ class="bg-green-600 py-2 px-6 rounded-lg">Minimum bestätigen
+
Minimum bestätigt: {{ minSizeResult }}px
@@ -42,6 +49,7 @@ class="bg-blue-600 py-2 px-6 rounded-lg">Weiter zu Maximum
+
Maximum setzen
@@ -56,6 +64,7 @@ class="bg-green-600 py-2 px-6 rounded-lg">Maximum bestätigen
+
Maximum bestätigt: {{ maxSizeResult }}px
@@ -63,6 +72,7 @@ class="bg-blue-600 py-2 px-6 rounded-lg">Weiter zu optiomal
+
Optimale Größe setzen
@@ -77,6 +87,7 @@ class="bg-green-600 py-2 px-6 rounded-lg">Optimale Größe setzen
+
Optimale Größe bestätigt: {{ comfortableSizeResult }}px
@@ -84,11 +95,6 @@ class="bg-blue-600 py-2 px-6 rounded-lg">Test beenden
- - -
Vielen Dank!
-

Ergebnisse werden für die finale Übermittlung gespeichert...

-
diff --git a/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.ts b/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.ts index 9e763ce..0d7c0f0 100644 --- a/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.ts +++ b/src/app/components/test-suite/assessments/text-legibility-assessment/text-legibility-assessment.component.ts @@ -15,6 +15,7 @@ import { FormsModule } from '@angular/forms'; import { MetricsTrackerService } from '../../../../services/metrics-tracker.service'; import '../../../../../assets/scripts/model-viewer'; + @Component({ selector: 'app-text-legibility-assessment', standalone: true, @@ -28,24 +29,31 @@ export class TextLegibilityAssessmentComponent implements AfterViewInit, OnDestr @Output() testComplete = new EventEmitter(); @Output() redoTest = new EventEmitter(); + private metricsService = inject(MetricsTrackerService); + minSize = 2; maxSize = 64; currentSize = 16; + minSizeResult: number | null = null; maxSizeResult: number | null = null; comfortableSizeResult: number | null = null; - phase: 'min' | 'confirmedMin' | 'max' | 'confirmedMax' | 'comfortable' | 'confirmedComfort' | 'finished' = 'min'; + + phase: 'min' | 'confirmedMin' | 'max' | 'confirmedMax' | 'comfortable' | 'confirmedComfort' = 'min'; + private offsetApplied = false; + constructor(private cdr: ChangeDetectorRef) { this.logInteraction = this.logInteraction.bind(this); } + ngAfterViewInit() { const mv = this.modelViewerRef.nativeElement; mv.addEventListener('ar-status', (event: any) => { @@ -55,18 +63,22 @@ export class TextLegibilityAssessmentComponent implements AfterViewInit, OnDestr }); } + public logInteraction(event: Event) { this.metricsService.logInteraction(event); } + decrease() { if (this.currentSize > this.minSize) this.currentSize--; } + increase() { if (this.currentSize < this.maxSize) this.currentSize++; } + nextPhase() { switch (this.phase) { case 'min': @@ -102,19 +114,20 @@ export class TextLegibilityAssessmentComponent implements AfterViewInit, OnDestr this.comfortableSizeResult = null; } + retry() { this.redoTest.emit(1); } - finishAssessment() { - this.phase = 'finished'; + finishAssessment() { const finalResults = { minReadableSize: this.minSizeResult, maxReadableSize: this.maxSizeResult, comfortableReadableSize: this.comfortableSizeResult }; + this.metricsService.logInteraction(new CustomEvent('test-results', { detail: { testName: 'TextLegibility', @@ -122,15 +135,20 @@ export class TextLegibilityAssessmentComponent implements AfterViewInit, OnDestr } })); + console.log(finalResults); + this.testComplete.emit(); } + ngOnDestroy() { + this.metricsService.stopTracking(); } + }