improve profile reactiveness and action page performance

This commit is contained in:
Peter Maquiran
2024-07-24 13:37:02 +01:00
parent 717968ac52
commit 46bb078dd2
45 changed files with 543 additions and 247 deletions
+8
View File
@@ -0,0 +1,8 @@
import { CameraSource } from "@capacitor/camera";
export interface ITakePictureParams {
width?: number,
height?: number,
quality: number,
source: CameraSource
}
+38
View File
@@ -0,0 +1,38 @@
import { Injectable } from '@angular/core';
import { Camera, CameraResultType, CameraSource } from '@capacitor/camera';
import { ITakePictureParams } from './adaptor';
import { err, ok, Result } from 'neverthrow';
import { TracingType, XTracerAsync } from 'src/app/services/monitoring/opentelemetry/tracer';
import { error } from '../../services/Either/index';
@Injectable({
providedIn: 'root'
})
export class CameraService {
constructor() { }
async takePicture(data: ITakePictureParams, tracing?: TracingType): Promise<Result<string, any>> {
try {
tracing?.addEvent('take picture')
const capturedImage = await Camera.getPhoto({
...data,
// allowEditing: true,
resultType: CameraResultType.Base64,
});
tracing?.addEvent('end take picture')
tracing.log('image log', {
base64: capturedImage.base64String
})
return ok(capturedImage.base64String)
} catch(error) {
tracing?.log("camera error", {
error
})
tracing?.hasError('capture image')
return err(error)
}
}
}