style: improve code formatting and readability
- Format Vue template attributes and event handlers for better readability - Reorganize component props and event bindings - Improve error handling and state management in QR scanner - Add proper aria labels and accessibility attributes - Refactor camera state handling in WebInlineQRScanner - Clean up promise handling in WebPlatformService - Standardize string quotes to double quotes - Improve component structure and indentation No functional changes, purely code style and maintainability improvements.
This commit is contained in:
@@ -173,12 +173,12 @@ export default class PhotoDialog extends Vue {
|
||||
* @throws {Error} When settings retrieval fails
|
||||
*/
|
||||
async mounted() {
|
||||
console.log('PhotoDialog mounted');
|
||||
logger.log("PhotoDialog mounted");
|
||||
try {
|
||||
const settings = await retrieveSettingsForActiveAccount();
|
||||
this.activeDid = settings.activeDid || "";
|
||||
this.isRegistered = !!settings.isRegistered;
|
||||
console.log('isRegistered:', this.isRegistered);
|
||||
logger.log("isRegistered:", this.isRegistered);
|
||||
} catch (error: unknown) {
|
||||
logger.error("Error retrieving settings from database:", error);
|
||||
this.$notify(
|
||||
@@ -245,7 +245,10 @@ export default class PhotoDialog extends Vue {
|
||||
* Closes the photo dialog and resets state
|
||||
*/
|
||||
close() {
|
||||
logger.debug("Dialog closing, current showCameraPreview:", this.showCameraPreview);
|
||||
logger.debug(
|
||||
"Dialog closing, current showCameraPreview:",
|
||||
this.showCameraPreview,
|
||||
);
|
||||
this.visible = false;
|
||||
this.stopCameraPreview();
|
||||
const bottomNav = document.querySelector("#QuickNav") as HTMLElement;
|
||||
@@ -291,10 +294,13 @@ export default class PhotoDialog extends Vue {
|
||||
// Set state before requesting camera access
|
||||
this.showCameraPreview = true;
|
||||
logger.debug("showCameraPreview set to:", this.showCameraPreview);
|
||||
|
||||
|
||||
// Force a re-render
|
||||
await this.$nextTick();
|
||||
logger.debug("After nextTick, showCameraPreview is:", this.showCameraPreview);
|
||||
logger.debug(
|
||||
"After nextTick, showCameraPreview is:",
|
||||
this.showCameraPreview,
|
||||
);
|
||||
|
||||
logger.debug("Requesting camera access...");
|
||||
const stream = await navigator.mediaDevices.getUserMedia({
|
||||
@@ -302,10 +308,13 @@ export default class PhotoDialog extends Vue {
|
||||
});
|
||||
logger.debug("Camera access granted, setting up video element");
|
||||
this.cameraStream = stream;
|
||||
|
||||
|
||||
// Force another re-render after getting the stream
|
||||
await this.$nextTick();
|
||||
logger.debug("After getting stream, showCameraPreview is:", this.showCameraPreview);
|
||||
logger.debug(
|
||||
"After getting stream, showCameraPreview is:",
|
||||
this.showCameraPreview,
|
||||
);
|
||||
|
||||
const videoElement = this.$refs.videoElement as HTMLVideoElement;
|
||||
if (videoElement) {
|
||||
@@ -343,13 +352,19 @@ export default class PhotoDialog extends Vue {
|
||||
* Stops the camera preview and cleans up resources
|
||||
*/
|
||||
stopCameraPreview() {
|
||||
logger.debug("Stopping camera preview, current showCameraPreview:", this.showCameraPreview);
|
||||
logger.debug(
|
||||
"Stopping camera preview, current showCameraPreview:",
|
||||
this.showCameraPreview,
|
||||
);
|
||||
if (this.cameraStream) {
|
||||
this.cameraStream.getTracks().forEach((track) => track.stop());
|
||||
this.cameraStream = null;
|
||||
}
|
||||
this.showCameraPreview = false;
|
||||
logger.debug("After stopping, showCameraPreview is:", this.showCameraPreview);
|
||||
logger.debug(
|
||||
"After stopping, showCameraPreview is:",
|
||||
this.showCameraPreview,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -366,13 +381,17 @@ export default class PhotoDialog extends Vue {
|
||||
const ctx = canvas.getContext("2d");
|
||||
ctx?.drawImage(videoElement, 0, 0, canvas.width, canvas.height);
|
||||
|
||||
canvas.toBlob((blob) => {
|
||||
if (blob) {
|
||||
this.blob = blob;
|
||||
this.fileName = `photo_${Date.now()}.jpg`;
|
||||
this.stopCameraPreview();
|
||||
}
|
||||
}, "image/jpeg", 0.95);
|
||||
canvas.toBlob(
|
||||
(blob) => {
|
||||
if (blob) {
|
||||
this.blob = blob;
|
||||
this.fileName = `photo_${Date.now()}.jpg`;
|
||||
this.stopCameraPreview();
|
||||
}
|
||||
},
|
||||
"image/jpeg",
|
||||
0.95,
|
||||
);
|
||||
} catch (error) {
|
||||
logger.error("Error capturing photo:", error);
|
||||
this.$notify(
|
||||
|
||||
Reference in New Issue
Block a user