import { PlatformService } from "../PlatformService"; import { Capacitor } from "@capacitor/core"; import { Filesystem, Directory } from "@capacitor/filesystem"; import { Camera, CameraResultType, CameraSource } from "@capacitor/camera"; import { App } from "@capacitor/app"; export class CapacitorPlatformService implements PlatformService { async readFile(path: string): Promise { const file = await Filesystem.readFile({ path, directory: Directory.Data, }); return file.data; } async writeFile(path: string, content: string): Promise { await Filesystem.writeFile({ path, data: content, directory: Directory.Data, }); } async deleteFile(path: string): Promise { await Filesystem.deleteFile({ path, directory: Directory.Data, }); } async listFiles(directory: string): Promise { const result = await Filesystem.readdir({ path: directory, directory: Directory.Data, }); return result.files; } async takePicture(): Promise { const image = await Camera.getPhoto({ quality: 90, allowEditing: true, resultType: CameraResultType.Uri, source: CameraSource.Camera, }); return image.webPath || ""; } async pickImage(): Promise { const image = await Camera.getPhoto({ quality: 90, allowEditing: true, resultType: CameraResultType.Uri, source: CameraSource.Photos, }); return image.webPath || ""; } isCapacitor(): boolean { return true; } isElectron(): boolean { return false; } isPyWebView(): boolean { return false; } isWeb(): boolean { return false; } async handleDeepLink(url: string): Promise { // Capacitor handles deep links automatically // This is just a placeholder for the interface return Promise.resolve(); } }