From a013300013e69e8ccdc19a7b33d8278818e4c55c Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Thu, 4 May 2023 16:24:59 +0800 Subject: [PATCH 01/11] refactor(pre-publish-mode.component.ts): rename toggleCropFeature to isCropFeatureEnabled --- .../pre-publish-mode/pre-publish-mode.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/features/home/custom-camera/pre-publish-mode/pre-publish-mode.component.ts b/src/app/features/home/custom-camera/pre-publish-mode/pre-publish-mode.component.ts index b352a4665..a146692f6 100644 --- a/src/app/features/home/custom-camera/pre-publish-mode/pre-publish-mode.component.ts +++ b/src/app/features/home/custom-camera/pre-publish-mode/pre-publish-mode.component.ts @@ -42,7 +42,7 @@ export class PrePublishModeComponent { private editorImageState: any; - private toggleCropFeature = false; + private isCropFeatureEnabled = false; private toggleBlackAndWhiteFilter = true; @@ -143,7 +143,7 @@ export class PrePublishModeComponent { } async toggleCropImageFeature() { - this.toggleCropFeature = !this.toggleCropFeature; + this.isCropFeatureEnabled = !this.isCropFeatureEnabled; this.pinturaEditorOptions$.next({ ...getEditorDefaults({ enableUtils: false, @@ -152,7 +152,7 @@ export class PrePublishModeComponent { cropEnableZoomInput: false, cropEnableButtonFlipHorizontal: false, cropEnableButtonRotateLeft: false, - cropEnableImageSelection: this.toggleCropFeature, + cropEnableImageSelection: this.isCropFeatureEnabled, enableToolbar: false, }), }); From cc8e3defcadf0de106e2281e4a11ebc01a78d2dc Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Thu, 4 May 2023 16:32:13 +0800 Subject: [PATCH 02/11] create(details-uploading-bar): UI component --- .../details-uploading-bar.component.html | 7 +++++ .../details-uploading-bar.component.scss | 31 +++++++++++++++++++ .../details-uploading-bar.component.spec.ts | 26 ++++++++++++++++ .../details-uploading-bar.component.ts | 15 +++++++++ .../features/home/details/details.module.ts | 2 ++ 5 files changed, 81 insertions(+) create mode 100644 src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.html create mode 100644 src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.scss create mode 100644 src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.spec.ts create mode 100644 src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.ts diff --git a/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.html b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.html new file mode 100644 index 000000000..ca4077d62 --- /dev/null +++ b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.html @@ -0,0 +1,7 @@ + + + + {{ 'message.networkNotConnected' | transloco }} + + + diff --git a/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.scss b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.scss new file mode 100644 index 000000000..86f4176e8 --- /dev/null +++ b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.scss @@ -0,0 +1,31 @@ +mat-toolbar { + margin-top: 16px; +} + +.thin-upload-bar { + min-height: 32px; + height: 32px; + justify-content: stretch; + transition: all 1s; + + .text { + flex-grow: 1; + font-size: 0.7em; + margin-left: 10px; + margin-right: 10px; + } + + .spacer-text { + flex-grow: 0; + } +} + +#thin-upload-bar { + height: 32px; + color: var(--ion-color-medium-tint); + background-color: var(--ion-color-light); +} + +.spacer { + flex: 1 1 auto; +} diff --git a/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.spec.ts b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.spec.ts new file mode 100644 index 000000000..7a85b3d35 --- /dev/null +++ b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.spec.ts @@ -0,0 +1,26 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; + +import { SharedModule } from '../../../../shared/shared.module'; +import { DetailsUploadingBarComponent } from './details-uploading-bar.component'; + +describe('DetailsUploadingBarComponent', () => { + let component: DetailsUploadingBarComponent; + let fixture: ComponentFixture; + + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DetailsUploadingBarComponent], + imports: [SharedModule], + }).compileComponents(); + + fixture = TestBed.createComponent(DetailsUploadingBarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }) + ); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.ts b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.ts new file mode 100644 index 000000000..ec459858c --- /dev/null +++ b/src/app/features/home/details/details-uploading-bar/details-uploading-bar.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { DiaBackendAssetUploadingService } from '../../../../shared/dia-backend/asset/uploading/dia-backend-asset-uploading.service'; + +@Component({ + selector: 'app-details-uploading-bar', + templateUrl: './details-uploading-bar.component.html', + styleUrls: ['./details-uploading-bar.component.scss'], +}) +export class DetailsUploadingBarComponent { + readonly networkConnected$ = this.uploadService.networkConnected$; + + constructor( + private readonly uploadService: DiaBackendAssetUploadingService + ) {} +} diff --git a/src/app/features/home/details/details.module.ts b/src/app/features/home/details/details.module.ts index 7a6303b16..a2b84b476 100644 --- a/src/app/features/home/details/details.module.ts +++ b/src/app/features/home/details/details.module.ts @@ -6,6 +6,7 @@ import { SharedModule } from '../../../shared/shared.module'; import { CaptureDetailsWithIframeComponent } from './capture-details-with-iframe/capture-details-with-iframe.component'; import { CaptureDetailsWithIonicComponent } from './capture-details-with-ionic/capture-details-with-ionic.component'; import { DetailsPageRoutingModule } from './details-routing.module'; +import { DetailsUploadingBarComponent } from './details-uploading-bar/details-uploading-bar.component'; import { DetailsPage } from './details.page'; @NgModule({ @@ -20,6 +21,7 @@ import { DetailsPage } from './details.page'; DetailsPage, CaptureDetailsWithIframeComponent, CaptureDetailsWithIonicComponent, + DetailsUploadingBarComponent, ], }) export class DetailsPageModule {} From 9a5e3b97284e9c8d90b4d199e15e15c7c57b559b Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Tue, 23 May 2023 22:37:46 +0800 Subject: [PATCH 03/11] feat(capture-details-with-ionic.componen): show details-uploading-bar --- .../capture-details-with-ionic.component.html | 14 ++++++++++---- .../capture-details-with-ionic.component.scss | 7 +++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.html b/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.html index 31c223641..dda331c7a 100644 --- a/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.html +++ b/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.html @@ -1,5 +1,5 @@ -
- + +
@@ -117,5 +121,7 @@ {{ informationShowMore ? 'Show less' : 'Show more...' }} - -
+
+ +
+
diff --git a/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.scss b/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.scss index aebb93edb..930b3ab88 100644 --- a/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.scss +++ b/src/app/features/home/details/capture-details-with-ionic/capture-details-with-ionic.component.scss @@ -15,12 +15,11 @@ div.capture-details { max-width: 90%; - margin: 0 auto 256px; + margin: 8px auto; .capture-thumbnail { border-radius: 20px; overflow: hidden; - aspect-ratio: 1; position: relative; img { @@ -105,3 +104,7 @@ div.capture-details { } } } + +.bottom-spacer { + height: 256px; +} From 1930a80f0a8f2152d9bd23f213656edc7e4bb396 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Tue, 23 May 2023 22:50:13 +0800 Subject: [PATCH 04/11] bump @numbersprotocol/preview-camera to 0.0.14 --- package-lock.json | 145 ++++++++++++++++------------------------------ package.json | 2 +- 2 files changed, 52 insertions(+), 95 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59be0839f..10cfe92f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ "@ngx-formly/core": "^5.10.22", "@ngx-formly/material": "^5.10.22", "@ngx-formly/schematics": "^5.10.22", - "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.12", + "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.14", "@numbersprotocol/preview-video": "github:numbersprotocol/preview-video", "@pqina/angular-pintura": "^8.44.1", "@pqina/pintura": "^8.44.1", @@ -1235,6 +1235,7 @@ "version": "14.2.0", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.0.tgz", "integrity": "sha512-csnvopy5a6ctdT7sHgwgn3wRni+UIk2zvs7WYsx+gtLTdH7SPg78CN0XZR/KQ142qLtuMnmkVON3D3ejmqC9xg==", + "dev": true, "dependencies": { "tslib": "^2.3.0" }, @@ -5110,8 +5111,8 @@ } }, "node_modules/@numbersprotocol/preview-camera": { - "version": "0.0.12", - "resolved": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#8fbce45026dce6d420cae88dbfe943fa97b3e740", + "version": "0.0.14", + "resolved": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#6a05bf9085418499125b72cc77b263e544a49b84", "license": "MIT", "peerDependencies": { "@capacitor/core": "^3.0.0" @@ -24718,6 +24719,7 @@ "version": "14.2.0", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.0.tgz", "integrity": "sha512-csnvopy5a6ctdT7sHgwgn3wRni+UIk2zvs7WYsx+gtLTdH7SPg78CN0XZR/KQ142qLtuMnmkVON3D3ejmqC9xg==", + "dev": true, "requires": { "tslib": "^2.3.0" } @@ -26027,8 +26029,7 @@ "@capacitor-community/advertising-id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@capacitor-community/advertising-id/-/advertising-id-1.0.0.tgz", - "integrity": "sha512-KOpmE/mWqDYmIFhGjlo/ppiEoI3R8SW6rEJHIY75CdziTwz67byn+fyV2E+T3YB9UoFWMDyImnTK/MZXgkZNug==", - "requires": {} + "integrity": "sha512-KOpmE/mWqDYmIFhGjlo/ppiEoI3R8SW6rEJHIY75CdziTwz67byn+fyV2E+T3YB9UoFWMDyImnTK/MZXgkZNug==" }, "@capacitor-community/bluetooth-le": { "version": "1.7.0", @@ -26052,8 +26053,7 @@ "@capacitor/android": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.9.0.tgz", - "integrity": "sha512-YTPyrh1NozEuYXWGtfqN27TLXUrLbZX9fggyd4JQ1yMaUZTmLPm5dCuznONhQ49aPkJnUJB02JfpHy/qGwa2Lw==", - "requires": {} + "integrity": "sha512-YTPyrh1NozEuYXWGtfqN27TLXUrLbZX9fggyd4JQ1yMaUZTmLPm5dCuznONhQ49aPkJnUJB02JfpHy/qGwa2Lw==" }, "@capacitor/core": { "version": "3.9.0", @@ -26066,14 +26066,12 @@ "@capacitor/filesystem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-1.1.0.tgz", - "integrity": "sha512-8O3UuvL8HNUEJvZnmn8yUmvgB1evtXfcF0oxIo3YbSlylqywJwS3JTiuhKmsvSxCdpbTy8IaTsutVh3gZgWbKg==", - "requires": {} + "integrity": "sha512-8O3UuvL8HNUEJvZnmn8yUmvgB1evtXfcF0oxIo3YbSlylqywJwS3JTiuhKmsvSxCdpbTy8IaTsutVh3gZgWbKg==" }, "@capacitor/ios": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-3.9.0.tgz", - "integrity": "sha512-GezPCJIujRHnF4wbrKJx6Q/mgFz0f9rmh/steTTXQZI+nEl6mHk6NWh8235p7YbhonYi5WD0rFNirrjGg1EaGw==", - "requires": {} + "integrity": "sha512-GezPCJIujRHnF4wbrKJx6Q/mgFz0f9rmh/steTTXQZI+nEl6mHk6NWh8235p7YbhonYi5WD0rFNirrjGg1EaGw==" } } }, @@ -26087,26 +26085,22 @@ "@capacitor/android": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-4.5.0.tgz", - "integrity": "sha512-GRoQ0Q1XOupU4pK3aipWfwCGXRuAq32IHpOoNSZm3Enu1/FhoOlIvHMlnnIQTpq6sBye/cqBIuYsOpPBMi3VNg==", - "requires": {} + "integrity": "sha512-GRoQ0Q1XOupU4pK3aipWfwCGXRuAq32IHpOoNSZm3Enu1/FhoOlIvHMlnnIQTpq6sBye/cqBIuYsOpPBMi3VNg==" }, "@capacitor/app": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-4.1.1.tgz", - "integrity": "sha512-SJcJA1rhFQyeH6eLfUEbdKkHzAwzahJNVPNXmU88fdmXpMgM2dJGzZj1vrm6e21aQq+Z4aBVLJ2RCdj92zD7wg==", - "requires": {} + "integrity": "sha512-SJcJA1rhFQyeH6eLfUEbdKkHzAwzahJNVPNXmU88fdmXpMgM2dJGzZj1vrm6e21aQq+Z4aBVLJ2RCdj92zD7wg==" }, "@capacitor/browser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/browser/-/browser-4.1.0.tgz", - "integrity": "sha512-WKAZDc9ECYQesEXlVhJu5/qbqkL5rj15wg9yBqSC0RXYsOU7aDiTMjXIu+Vu68jA8IQqIuNIp8slDvDQa+U/Kw==", - "requires": {} + "integrity": "sha512-WKAZDc9ECYQesEXlVhJu5/qbqkL5rj15wg9yBqSC0RXYsOU7aDiTMjXIu+Vu68jA8IQqIuNIp8slDvDQa+U/Kw==" }, "@capacitor/camera": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@capacitor/camera/-/camera-4.1.4.tgz", - "integrity": "sha512-7f4n7PlnstYsdGyxc0Kc4hIyS6csFLOjXvffm7pJsuy9pSo+kfdOPdYgGg360QwbUAmA+Yv+J1ZW1eFIwgvWrQ==", - "requires": {} + "integrity": "sha512-7f4n7PlnstYsdGyxc0Kc4hIyS6csFLOjXvffm7pJsuy9pSo+kfdOPdYgGg360QwbUAmA+Yv+J1ZW1eFIwgvWrQ==" }, "@capacitor/cli": { "version": "4.5.0", @@ -26144,8 +26138,7 @@ "@capacitor/clipboard": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/clipboard/-/clipboard-4.1.0.tgz", - "integrity": "sha512-lfUwDqZces3mQcBOyfxpBCsRWWSfLuPzekA1N3RaMgYVhD6/rdzFnzfRiksj1hm4It+lnULK0y+N5nxVnTt+0Q==", - "requires": {} + "integrity": "sha512-lfUwDqZces3mQcBOyfxpBCsRWWSfLuPzekA1N3RaMgYVhD6/rdzFnzfRiksj1hm4It+lnULK0y+N5nxVnTt+0Q==" }, "@capacitor/core": { "version": "4.5.0", @@ -26158,62 +26151,52 @@ "@capacitor/device": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/device/-/device-4.1.0.tgz", - "integrity": "sha512-BlcYb6e6m+vC1SxeyUDIUGfuNXdKEcpFPDCs/kxk2SByFc/BkvXeoy4NjY4qmTderGELofX9bta5Iy9JV7rGUg==", - "requires": {} + "integrity": "sha512-BlcYb6e6m+vC1SxeyUDIUGfuNXdKEcpFPDCs/kxk2SByFc/BkvXeoy4NjY4qmTderGELofX9bta5Iy9JV7rGUg==" }, "@capacitor/filesystem": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-4.1.4.tgz", - "integrity": "sha512-ivko1RNK4hq63xhMacq8D6D97N5/SAafTsrmY/pghYrG6Cl2SEY0+IgRu7V9/VWeN3FSplyUPucjUTAFQxXN5g==", - "requires": {} + "integrity": "sha512-ivko1RNK4hq63xhMacq8D6D97N5/SAafTsrmY/pghYrG6Cl2SEY0+IgRu7V9/VWeN3FSplyUPucjUTAFQxXN5g==" }, "@capacitor/geolocation": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/geolocation/-/geolocation-4.1.0.tgz", - "integrity": "sha512-hfI4MUcu1zcJPTvm0g6V3telTGwq9sCU8EnY4hFJpLedbIQeWPthCOSbFtNHAU5mVaAP1Zls3x6TsXL8TX08EA==", - "requires": {} + "integrity": "sha512-hfI4MUcu1zcJPTvm0g6V3telTGwq9sCU8EnY4hFJpLedbIQeWPthCOSbFtNHAU5mVaAP1Zls3x6TsXL8TX08EA==" }, "@capacitor/ios": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-4.5.0.tgz", - "integrity": "sha512-2E7hqKqZOXPKEQqvdp2g68KtfjIkGEPmLpM0vRTUug08l4C/XoPufPnHiT1Y6dEXk8c02NdnilxarfbyaajQvg==", - "requires": {} + "integrity": "sha512-2E7hqKqZOXPKEQqvdp2g68KtfjIkGEPmLpM0vRTUug08l4C/XoPufPnHiT1Y6dEXk8c02NdnilxarfbyaajQvg==" }, "@capacitor/local-notifications": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/@capacitor/local-notifications/-/local-notifications-4.1.3.tgz", - "integrity": "sha512-bJSk+j0w1dOHoD+Ff+NtByysw1SsM9VHlmcSndERqqMjvEEMDIVez+MJ3itWqUr2L3OXtYTtgmlj94RZVtwyAw==", - "requires": {} + "integrity": "sha512-bJSk+j0w1dOHoD+Ff+NtByysw1SsM9VHlmcSndERqqMjvEEMDIVez+MJ3itWqUr2L3OXtYTtgmlj94RZVtwyAw==" }, "@capacitor/network": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/network/-/network-4.1.0.tgz", - "integrity": "sha512-GMJ6LmxmrFA55rAaYxgm4tKSZyUmuLRreQz5Gdu0P09Ja8abSjmXa/DX16gOu1I1+wqHWm2rRI6nPkeUH55Ibw==", - "requires": {} + "integrity": "sha512-GMJ6LmxmrFA55rAaYxgm4tKSZyUmuLRreQz5Gdu0P09Ja8abSjmXa/DX16gOu1I1+wqHWm2rRI6nPkeUH55Ibw==" }, "@capacitor/push-notifications": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@capacitor/push-notifications/-/push-notifications-4.1.2.tgz", - "integrity": "sha512-ok6CGvedwK1azmf8VWhrNlg6jhi4PFz3HoyS0GNE2ew7+JGnxN77sgK5q1TVzdkge+vkqipO6uu5bD1xfj/pWQ==", - "requires": {} + "integrity": "sha512-ok6CGvedwK1azmf8VWhrNlg6jhi4PFz3HoyS0GNE2ew7+JGnxN77sgK5q1TVzdkge+vkqipO6uu5bD1xfj/pWQ==" }, "@capacitor/share": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/share/-/share-4.1.0.tgz", - "integrity": "sha512-Gh/cgy7Ee+9fkhw+Q4+9s2S4HiC34/eLoaohqRg1ahtpqvTQ3qdInoEJ23FdILq5cLj2ZPpx2VuEXjpLKX1Z5A==", - "requires": {} + "integrity": "sha512-Gh/cgy7Ee+9fkhw+Q4+9s2S4HiC34/eLoaohqRg1ahtpqvTQ3qdInoEJ23FdILq5cLj2ZPpx2VuEXjpLKX1Z5A==" }, "@capacitor/splash-screen": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@capacitor/splash-screen/-/splash-screen-4.1.2.tgz", - "integrity": "sha512-uw37mfFtpXH6lBG0Lz6/ZRvbnn1XZ0lVOL7UHylvW4C/BUJRKHqPloCXNMeSBGuBkf5WdW7sdmKdGdp4J5fU9g==", - "requires": {} + "integrity": "sha512-uw37mfFtpXH6lBG0Lz6/ZRvbnn1XZ0lVOL7UHylvW4C/BUJRKHqPloCXNMeSBGuBkf5WdW7sdmKdGdp4J5fU9g==" }, "@capacitor/storage": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@capacitor/storage/-/storage-1.2.4.tgz", - "integrity": "sha512-AqA4KnCQNOmFJ1HuSfmyPf5jz80JY2cX04Uy4j1hpo5ex9bY6W8mUKLsePakTzt4ScDnYuOaXsmusUrpglgPfQ==", - "requires": {} + "integrity": "sha512-AqA4KnCQNOmFJ1HuSfmyPf5jz80JY2cX04Uy4j1hpo5ex9bY6W8mUKLsePakTzt4ScDnYuOaXsmusUrpglgPfQ==" }, "@cspotcode/source-map-consumer": { "version": "0.8.0", @@ -26356,15 +26339,13 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "dev": true, - "requires": {} + "dev": true }, "@csstools/selector-specificity": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "dev": true, - "requires": {} + "dev": true }, "@discoveryjs/json-ext": { "version": "0.5.7", @@ -27175,8 +27156,7 @@ "version": "14.2.1", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.1.tgz", "integrity": "sha512-9tsfx2ZQscnpszVkdoJIIxZZDwitgmbPNrsQmyfHhwqPeJ8UUnAk6RNTfHjtX31VCmIM+qdGJsX7vDR9ye3/uA==", - "dev": true, - "requires": {} + "dev": true }, "@ngx-formly/core": { "version": "5.10.22", @@ -27390,14 +27370,12 @@ } }, "@numbersprotocol/preview-camera": { - "version": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#8fbce45026dce6d420cae88dbfe943fa97b3e740", - "from": "@numbersprotocol/preview-camera@github:numbersprotocol/preview-camera#0.0.12", - "requires": {} + "version": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#6a05bf9085418499125b72cc77b263e544a49b84", + "from": "@numbersprotocol/preview-camera@github:numbersprotocol/preview-camera#0.0.14" }, "@numbersprotocol/preview-video": { "version": "git+ssh://git@github.com/numbersprotocol/preview-video.git#973ea27b58a30fb92a2951c1d0f5c8a6c6048b4f", - "from": "@numbersprotocol/preview-video@github:numbersprotocol/preview-video", - "requires": {} + "from": "@numbersprotocol/preview-video@github:numbersprotocol/preview-video" }, "@parcel/watcher": { "version": "2.0.4", @@ -28322,15 +28300,13 @@ "version": "1.7.6", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", - "dev": true, - "requires": {} + "dev": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "8.1.1", @@ -28425,8 +28401,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "ansi-colors": { "version": "4.1.3", @@ -28475,8 +28450,7 @@ "appsflyer-capacitor-plugin": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/appsflyer-capacitor-plugin/-/appsflyer-capacitor-plugin-6.5.2.tgz", - "integrity": "sha512-bCQI/T0mxUE/cwTlLEt8NY7foLyevovB2aeb7qjQfyoL4+7Lv5BHmo6l5ING7ZPSQTEF2MgEzouIuKdAhpXqRg==", - "requires": {} + "integrity": "sha512-bCQI/T0mxUE/cwTlLEt8NY7foLyevovB2aeb7qjQfyoL4+7Lv5BHmo6l5ING7ZPSQTEF2MgEzouIuKdAhpXqRg==" }, "aproba": { "version": "2.0.0", @@ -29328,8 +29302,7 @@ "capacitor-blob-writer": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/capacitor-blob-writer/-/capacitor-blob-writer-1.0.4.tgz", - "integrity": "sha512-HLN9qHGXprnMacjFV50KSHFuk2e+Q6QHxSIsNNbVwxh3/8cEzA6bAwFdJthLocYSYjPENMC6o54hwxFWN3CiSQ==", - "requires": {} + "integrity": "sha512-HLN9qHGXprnMacjFV50KSHFuk2e+Q6QHxSIsNNbVwxh3/8cEzA6bAwFdJthLocYSYjPENMC6o54hwxFWN3CiSQ==" }, "caseless": { "version": "0.12.0", @@ -30155,8 +30128,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true, - "requires": {} + "dev": true }, "css-select": { "version": "1.2.0", @@ -31321,8 +31293,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz", "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-rxjs": { "version": "5.0.2", @@ -32795,8 +32766,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} + "dev": true }, "idna-uts46-hx": { "version": "2.3.1", @@ -33854,8 +33824,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.6.0.tgz", "integrity": "sha512-ELO9yf0cNqpzaNLsfFgXd/wxZVYkE2+ECUwhMHUD4PZ17kcsPsYsVyjquiRqyMn2jkd2sHt0IeMyAyq1MC23Fw==", - "dev": true, - "requires": {} + "dev": true }, "karma-source-map-support": { "version": "1.4.0", @@ -36543,15 +36512,13 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true, - "requires": {} + "dev": true }, "postcss-gap-properties": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true, - "requires": {} + "dev": true }, "postcss-html": { "version": "0.36.0", @@ -36586,8 +36553,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-lab-function": { "version": "4.2.1", @@ -36651,15 +36617,13 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true, - "requires": {} + "dev": true }, "postcss-media-minmax": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-media-query-parser": { "version": "0.2.3", @@ -36671,8 +36635,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} + "dev": true }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -36732,8 +36695,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true, - "requires": {} + "dev": true }, "postcss-place": { "version": "7.0.5", @@ -36830,8 +36792,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true, - "requires": {} + "dev": true }, "postcss-resolve-nested-selector": { "version": "0.1.1", @@ -36974,8 +36935,7 @@ "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "requires": {} + "dev": true }, "postcss-value-parser": { "version": "4.2.0", @@ -39286,8 +39246,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz", "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==", - "dev": true, - "requires": {} + "dev": true }, "stylelint-config-standard": { "version": "22.0.0", @@ -40981,8 +40940,7 @@ "version": "8.8.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", - "dev": true, - "requires": {} + "dev": true } } }, @@ -41203,8 +41161,7 @@ "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "dev": true, - "requires": {} + "dev": true }, "xhr": { "version": "2.6.0", diff --git a/package.json b/package.json index 7ebd64e00..76e74aa59 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@ngx-formly/core": "^5.10.22", "@ngx-formly/material": "^5.10.22", "@ngx-formly/schematics": "^5.10.22", - "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.12", + "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.14", "@numbersprotocol/preview-video": "github:numbersprotocol/preview-video", "@pqina/angular-pintura": "^8.44.1", "@pqina/pintura": "^8.44.1", From e07d9c0117976376d50b15305b48b52cc5f24fa1 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Tue, 23 May 2023 22:55:24 +0800 Subject: [PATCH 05/11] install capacitor-native-settings package --- android/app/capacitor.build.gradle | 1 + .../src/main/assets/capacitor.plugins.json | 4 + android/capacitor.settings.gradle | 3 + ios/App/Podfile | 1 + package-lock.json | 152 ++++++++++++------ package.json | 1 + 6 files changed, 115 insertions(+), 47 deletions(-) diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index 4f64a53c7..236033d90 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -30,6 +30,7 @@ dependencies { implementation project(':numbersprotocol-preview-video') implementation project(':appsflyer-capacitor-plugin') implementation project(':capacitor-blob-writer') + implementation project(':capacitor-native-settings') implementation "com.android.billingclient:billing:4.0.0" } diff --git a/android/app/src/main/assets/capacitor.plugins.json b/android/app/src/main/assets/capacitor.plugins.json index dc40e55f9..df77f3da1 100644 --- a/android/app/src/main/assets/capacitor.plugins.json +++ b/android/app/src/main/assets/capacitor.plugins.json @@ -82,5 +82,9 @@ { "pkg": "capacitor-blob-writer", "classpath": "com.equimaps.capacitorblobwriter.BlobWriter" + }, + { + "pkg": "capacitor-native-settings", + "classpath": "nl.raphael.settings.NativeSettingsPlugin" } ] diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index e404eabf0..56a8b4580 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -64,3 +64,6 @@ project(':appsflyer-capacitor-plugin').projectDir = new File('../node_modules/ap include ':capacitor-blob-writer' project(':capacitor-blob-writer').projectDir = new File('../node_modules/capacitor-blob-writer/android') + +include ':capacitor-native-settings' +project(':capacitor-native-settings').projectDir = new File('../node_modules/capacitor-native-settings/android') diff --git a/ios/App/Podfile b/ios/App/Podfile index 8d1a7c487..f88b5ccce 100644 --- a/ios/App/Podfile +++ b/ios/App/Podfile @@ -32,6 +32,7 @@ def capacitor_pods pod 'NumbersprotocolPreviewVideo', :path => '../../node_modules/@numbersprotocol/preview-video' pod 'AppsflyerCapacitorPlugin', :path => '../../node_modules/appsflyer-capacitor-plugin' pod 'CapacitorBlobWriter', :path => '../../node_modules/capacitor-blob-writer' + pod 'CapacitorNativeSettings', :path => '../../node_modules/capacitor-native-settings' pod 'CordovaPlugins', :path => '../capacitor-cordova-ios-plugins' end diff --git a/package-lock.json b/package-lock.json index 10cfe92f0..f42d897c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,6 +59,7 @@ "async-mutex": "^0.3.2", "buffer": "^5.7.1", "capacitor-blob-writer": "^1.0.4", + "capacitor-native-settings": "^4.0.3", "compressorjs": "^1.0.7", "cordova-plugin-purchase": "^11.0.0", "hammerjs": "^2.0.8", @@ -1235,7 +1236,6 @@ "version": "14.2.0", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.0.tgz", "integrity": "sha512-csnvopy5a6ctdT7sHgwgn3wRni+UIk2zvs7WYsx+gtLTdH7SPg78CN0XZR/KQ142qLtuMnmkVON3D3ejmqC9xg==", - "dev": true, "dependencies": { "tslib": "^2.3.0" }, @@ -7612,6 +7612,14 @@ "@capacitor/filesystem": "^1.0.0" } }, + "node_modules/capacitor-native-settings": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/capacitor-native-settings/-/capacitor-native-settings-4.0.3.tgz", + "integrity": "sha512-wxWFwdSySJ1dX8eLFogTYluLYu8fc8biMTL9x0ioI559mHiPDDoCBc//W0nhByUG7a1UxrY4vM4MGDTc/Mf7Bw==", + "peerDependencies": { + "@capacitor/core": "^4.0.1" + } + }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -24719,7 +24727,6 @@ "version": "14.2.0", "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.0.tgz", "integrity": "sha512-csnvopy5a6ctdT7sHgwgn3wRni+UIk2zvs7WYsx+gtLTdH7SPg78CN0XZR/KQ142qLtuMnmkVON3D3ejmqC9xg==", - "dev": true, "requires": { "tslib": "^2.3.0" } @@ -26029,7 +26036,8 @@ "@capacitor-community/advertising-id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@capacitor-community/advertising-id/-/advertising-id-1.0.0.tgz", - "integrity": "sha512-KOpmE/mWqDYmIFhGjlo/ppiEoI3R8SW6rEJHIY75CdziTwz67byn+fyV2E+T3YB9UoFWMDyImnTK/MZXgkZNug==" + "integrity": "sha512-KOpmE/mWqDYmIFhGjlo/ppiEoI3R8SW6rEJHIY75CdziTwz67byn+fyV2E+T3YB9UoFWMDyImnTK/MZXgkZNug==", + "requires": {} }, "@capacitor-community/bluetooth-le": { "version": "1.7.0", @@ -26053,7 +26061,8 @@ "@capacitor/android": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.9.0.tgz", - "integrity": "sha512-YTPyrh1NozEuYXWGtfqN27TLXUrLbZX9fggyd4JQ1yMaUZTmLPm5dCuznONhQ49aPkJnUJB02JfpHy/qGwa2Lw==" + "integrity": "sha512-YTPyrh1NozEuYXWGtfqN27TLXUrLbZX9fggyd4JQ1yMaUZTmLPm5dCuznONhQ49aPkJnUJB02JfpHy/qGwa2Lw==", + "requires": {} }, "@capacitor/core": { "version": "3.9.0", @@ -26066,12 +26075,14 @@ "@capacitor/filesystem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-1.1.0.tgz", - "integrity": "sha512-8O3UuvL8HNUEJvZnmn8yUmvgB1evtXfcF0oxIo3YbSlylqywJwS3JTiuhKmsvSxCdpbTy8IaTsutVh3gZgWbKg==" + "integrity": "sha512-8O3UuvL8HNUEJvZnmn8yUmvgB1evtXfcF0oxIo3YbSlylqywJwS3JTiuhKmsvSxCdpbTy8IaTsutVh3gZgWbKg==", + "requires": {} }, "@capacitor/ios": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-3.9.0.tgz", - "integrity": "sha512-GezPCJIujRHnF4wbrKJx6Q/mgFz0f9rmh/steTTXQZI+nEl6mHk6NWh8235p7YbhonYi5WD0rFNirrjGg1EaGw==" + "integrity": "sha512-GezPCJIujRHnF4wbrKJx6Q/mgFz0f9rmh/steTTXQZI+nEl6mHk6NWh8235p7YbhonYi5WD0rFNirrjGg1EaGw==", + "requires": {} } } }, @@ -26085,22 +26096,26 @@ "@capacitor/android": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-4.5.0.tgz", - "integrity": "sha512-GRoQ0Q1XOupU4pK3aipWfwCGXRuAq32IHpOoNSZm3Enu1/FhoOlIvHMlnnIQTpq6sBye/cqBIuYsOpPBMi3VNg==" + "integrity": "sha512-GRoQ0Q1XOupU4pK3aipWfwCGXRuAq32IHpOoNSZm3Enu1/FhoOlIvHMlnnIQTpq6sBye/cqBIuYsOpPBMi3VNg==", + "requires": {} }, "@capacitor/app": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-4.1.1.tgz", - "integrity": "sha512-SJcJA1rhFQyeH6eLfUEbdKkHzAwzahJNVPNXmU88fdmXpMgM2dJGzZj1vrm6e21aQq+Z4aBVLJ2RCdj92zD7wg==" + "integrity": "sha512-SJcJA1rhFQyeH6eLfUEbdKkHzAwzahJNVPNXmU88fdmXpMgM2dJGzZj1vrm6e21aQq+Z4aBVLJ2RCdj92zD7wg==", + "requires": {} }, "@capacitor/browser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/browser/-/browser-4.1.0.tgz", - "integrity": "sha512-WKAZDc9ECYQesEXlVhJu5/qbqkL5rj15wg9yBqSC0RXYsOU7aDiTMjXIu+Vu68jA8IQqIuNIp8slDvDQa+U/Kw==" + "integrity": "sha512-WKAZDc9ECYQesEXlVhJu5/qbqkL5rj15wg9yBqSC0RXYsOU7aDiTMjXIu+Vu68jA8IQqIuNIp8slDvDQa+U/Kw==", + "requires": {} }, "@capacitor/camera": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@capacitor/camera/-/camera-4.1.4.tgz", - "integrity": "sha512-7f4n7PlnstYsdGyxc0Kc4hIyS6csFLOjXvffm7pJsuy9pSo+kfdOPdYgGg360QwbUAmA+Yv+J1ZW1eFIwgvWrQ==" + "integrity": "sha512-7f4n7PlnstYsdGyxc0Kc4hIyS6csFLOjXvffm7pJsuy9pSo+kfdOPdYgGg360QwbUAmA+Yv+J1ZW1eFIwgvWrQ==", + "requires": {} }, "@capacitor/cli": { "version": "4.5.0", @@ -26138,7 +26153,8 @@ "@capacitor/clipboard": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/clipboard/-/clipboard-4.1.0.tgz", - "integrity": "sha512-lfUwDqZces3mQcBOyfxpBCsRWWSfLuPzekA1N3RaMgYVhD6/rdzFnzfRiksj1hm4It+lnULK0y+N5nxVnTt+0Q==" + "integrity": "sha512-lfUwDqZces3mQcBOyfxpBCsRWWSfLuPzekA1N3RaMgYVhD6/rdzFnzfRiksj1hm4It+lnULK0y+N5nxVnTt+0Q==", + "requires": {} }, "@capacitor/core": { "version": "4.5.0", @@ -26151,52 +26167,62 @@ "@capacitor/device": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/device/-/device-4.1.0.tgz", - "integrity": "sha512-BlcYb6e6m+vC1SxeyUDIUGfuNXdKEcpFPDCs/kxk2SByFc/BkvXeoy4NjY4qmTderGELofX9bta5Iy9JV7rGUg==" + "integrity": "sha512-BlcYb6e6m+vC1SxeyUDIUGfuNXdKEcpFPDCs/kxk2SByFc/BkvXeoy4NjY4qmTderGELofX9bta5Iy9JV7rGUg==", + "requires": {} }, "@capacitor/filesystem": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-4.1.4.tgz", - "integrity": "sha512-ivko1RNK4hq63xhMacq8D6D97N5/SAafTsrmY/pghYrG6Cl2SEY0+IgRu7V9/VWeN3FSplyUPucjUTAFQxXN5g==" + "integrity": "sha512-ivko1RNK4hq63xhMacq8D6D97N5/SAafTsrmY/pghYrG6Cl2SEY0+IgRu7V9/VWeN3FSplyUPucjUTAFQxXN5g==", + "requires": {} }, "@capacitor/geolocation": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/geolocation/-/geolocation-4.1.0.tgz", - "integrity": "sha512-hfI4MUcu1zcJPTvm0g6V3telTGwq9sCU8EnY4hFJpLedbIQeWPthCOSbFtNHAU5mVaAP1Zls3x6TsXL8TX08EA==" + "integrity": "sha512-hfI4MUcu1zcJPTvm0g6V3telTGwq9sCU8EnY4hFJpLedbIQeWPthCOSbFtNHAU5mVaAP1Zls3x6TsXL8TX08EA==", + "requires": {} }, "@capacitor/ios": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-4.5.0.tgz", - "integrity": "sha512-2E7hqKqZOXPKEQqvdp2g68KtfjIkGEPmLpM0vRTUug08l4C/XoPufPnHiT1Y6dEXk8c02NdnilxarfbyaajQvg==" + "integrity": "sha512-2E7hqKqZOXPKEQqvdp2g68KtfjIkGEPmLpM0vRTUug08l4C/XoPufPnHiT1Y6dEXk8c02NdnilxarfbyaajQvg==", + "requires": {} }, "@capacitor/local-notifications": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/@capacitor/local-notifications/-/local-notifications-4.1.3.tgz", - "integrity": "sha512-bJSk+j0w1dOHoD+Ff+NtByysw1SsM9VHlmcSndERqqMjvEEMDIVez+MJ3itWqUr2L3OXtYTtgmlj94RZVtwyAw==" + "integrity": "sha512-bJSk+j0w1dOHoD+Ff+NtByysw1SsM9VHlmcSndERqqMjvEEMDIVez+MJ3itWqUr2L3OXtYTtgmlj94RZVtwyAw==", + "requires": {} }, "@capacitor/network": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/network/-/network-4.1.0.tgz", - "integrity": "sha512-GMJ6LmxmrFA55rAaYxgm4tKSZyUmuLRreQz5Gdu0P09Ja8abSjmXa/DX16gOu1I1+wqHWm2rRI6nPkeUH55Ibw==" + "integrity": "sha512-GMJ6LmxmrFA55rAaYxgm4tKSZyUmuLRreQz5Gdu0P09Ja8abSjmXa/DX16gOu1I1+wqHWm2rRI6nPkeUH55Ibw==", + "requires": {} }, "@capacitor/push-notifications": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@capacitor/push-notifications/-/push-notifications-4.1.2.tgz", - "integrity": "sha512-ok6CGvedwK1azmf8VWhrNlg6jhi4PFz3HoyS0GNE2ew7+JGnxN77sgK5q1TVzdkge+vkqipO6uu5bD1xfj/pWQ==" + "integrity": "sha512-ok6CGvedwK1azmf8VWhrNlg6jhi4PFz3HoyS0GNE2ew7+JGnxN77sgK5q1TVzdkge+vkqipO6uu5bD1xfj/pWQ==", + "requires": {} }, "@capacitor/share": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@capacitor/share/-/share-4.1.0.tgz", - "integrity": "sha512-Gh/cgy7Ee+9fkhw+Q4+9s2S4HiC34/eLoaohqRg1ahtpqvTQ3qdInoEJ23FdILq5cLj2ZPpx2VuEXjpLKX1Z5A==" + "integrity": "sha512-Gh/cgy7Ee+9fkhw+Q4+9s2S4HiC34/eLoaohqRg1ahtpqvTQ3qdInoEJ23FdILq5cLj2ZPpx2VuEXjpLKX1Z5A==", + "requires": {} }, "@capacitor/splash-screen": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@capacitor/splash-screen/-/splash-screen-4.1.2.tgz", - "integrity": "sha512-uw37mfFtpXH6lBG0Lz6/ZRvbnn1XZ0lVOL7UHylvW4C/BUJRKHqPloCXNMeSBGuBkf5WdW7sdmKdGdp4J5fU9g==" + "integrity": "sha512-uw37mfFtpXH6lBG0Lz6/ZRvbnn1XZ0lVOL7UHylvW4C/BUJRKHqPloCXNMeSBGuBkf5WdW7sdmKdGdp4J5fU9g==", + "requires": {} }, "@capacitor/storage": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@capacitor/storage/-/storage-1.2.4.tgz", - "integrity": "sha512-AqA4KnCQNOmFJ1HuSfmyPf5jz80JY2cX04Uy4j1hpo5ex9bY6W8mUKLsePakTzt4ScDnYuOaXsmusUrpglgPfQ==" + "integrity": "sha512-AqA4KnCQNOmFJ1HuSfmyPf5jz80JY2cX04Uy4j1hpo5ex9bY6W8mUKLsePakTzt4ScDnYuOaXsmusUrpglgPfQ==", + "requires": {} }, "@cspotcode/source-map-consumer": { "version": "0.8.0", @@ -26339,13 +26365,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "dev": true + "dev": true, + "requires": {} }, "@csstools/selector-specificity": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "dev": true + "dev": true, + "requires": {} }, "@discoveryjs/json-ext": { "version": "0.5.7", @@ -27156,7 +27184,8 @@ "version": "14.2.1", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.1.tgz", "integrity": "sha512-9tsfx2ZQscnpszVkdoJIIxZZDwitgmbPNrsQmyfHhwqPeJ8UUnAk6RNTfHjtX31VCmIM+qdGJsX7vDR9ye3/uA==", - "dev": true + "dev": true, + "requires": {} }, "@ngx-formly/core": { "version": "5.10.22", @@ -27371,11 +27400,13 @@ }, "@numbersprotocol/preview-camera": { "version": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#6a05bf9085418499125b72cc77b263e544a49b84", - "from": "@numbersprotocol/preview-camera@github:numbersprotocol/preview-camera#0.0.14" + "from": "@numbersprotocol/preview-camera@github:numbersprotocol/preview-camera#0.0.14", + "requires": {} }, "@numbersprotocol/preview-video": { "version": "git+ssh://git@github.com/numbersprotocol/preview-video.git#973ea27b58a30fb92a2951c1d0f5c8a6c6048b4f", - "from": "@numbersprotocol/preview-video@github:numbersprotocol/preview-video" + "from": "@numbersprotocol/preview-video@github:numbersprotocol/preview-video", + "requires": {} }, "@parcel/watcher": { "version": "2.0.4", @@ -28300,13 +28331,15 @@ "version": "1.7.6", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", - "dev": true + "dev": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "8.1.1", @@ -28401,7 +28434,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "ansi-colors": { "version": "4.1.3", @@ -28450,7 +28484,8 @@ "appsflyer-capacitor-plugin": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/appsflyer-capacitor-plugin/-/appsflyer-capacitor-plugin-6.5.2.tgz", - "integrity": "sha512-bCQI/T0mxUE/cwTlLEt8NY7foLyevovB2aeb7qjQfyoL4+7Lv5BHmo6l5ING7ZPSQTEF2MgEzouIuKdAhpXqRg==" + "integrity": "sha512-bCQI/T0mxUE/cwTlLEt8NY7foLyevovB2aeb7qjQfyoL4+7Lv5BHmo6l5ING7ZPSQTEF2MgEzouIuKdAhpXqRg==", + "requires": {} }, "aproba": { "version": "2.0.0", @@ -29302,7 +29337,14 @@ "capacitor-blob-writer": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/capacitor-blob-writer/-/capacitor-blob-writer-1.0.4.tgz", - "integrity": "sha512-HLN9qHGXprnMacjFV50KSHFuk2e+Q6QHxSIsNNbVwxh3/8cEzA6bAwFdJthLocYSYjPENMC6o54hwxFWN3CiSQ==" + "integrity": "sha512-HLN9qHGXprnMacjFV50KSHFuk2e+Q6QHxSIsNNbVwxh3/8cEzA6bAwFdJthLocYSYjPENMC6o54hwxFWN3CiSQ==", + "requires": {} + }, + "capacitor-native-settings": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/capacitor-native-settings/-/capacitor-native-settings-4.0.3.tgz", + "integrity": "sha512-wxWFwdSySJ1dX8eLFogTYluLYu8fc8biMTL9x0ioI559mHiPDDoCBc//W0nhByUG7a1UxrY4vM4MGDTc/Mf7Bw==", + "requires": {} }, "caseless": { "version": "0.12.0", @@ -30128,7 +30170,8 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true + "dev": true, + "requires": {} }, "css-select": { "version": "1.2.0", @@ -31293,7 +31336,8 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz", "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-rxjs": { "version": "5.0.2", @@ -32766,7 +32810,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true + "dev": true, + "requires": {} }, "idna-uts46-hx": { "version": "2.3.1", @@ -33824,7 +33869,8 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.6.0.tgz", "integrity": "sha512-ELO9yf0cNqpzaNLsfFgXd/wxZVYkE2+ECUwhMHUD4PZ17kcsPsYsVyjquiRqyMn2jkd2sHt0IeMyAyq1MC23Fw==", - "dev": true + "dev": true, + "requires": {} }, "karma-source-map-support": { "version": "1.4.0", @@ -36512,13 +36558,15 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true + "dev": true, + "requires": {} }, "postcss-gap-properties": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-html": { "version": "0.36.0", @@ -36553,7 +36601,8 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-lab-function": { "version": "4.2.1", @@ -36617,13 +36666,15 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-minmax": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-query-parser": { "version": "0.2.3", @@ -36635,7 +36686,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -36695,7 +36747,8 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-place": { "version": "7.0.5", @@ -36792,7 +36845,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-resolve-nested-selector": { "version": "0.1.1", @@ -36935,7 +36989,8 @@ "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true + "dev": true, + "requires": {} }, "postcss-value-parser": { "version": "4.2.0", @@ -39246,7 +39301,8 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz", "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==", - "dev": true + "dev": true, + "requires": {} }, "stylelint-config-standard": { "version": "22.0.0", @@ -40940,7 +40996,8 @@ "version": "8.8.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -41161,7 +41218,8 @@ "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "dev": true + "dev": true, + "requires": {} }, "xhr": { "version": "2.6.0", diff --git a/package.json b/package.json index 76e74aa59..ca5bc9e94 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "async-mutex": "^0.3.2", "buffer": "^5.7.1", "capacitor-blob-writer": "^1.0.4", + "capacitor-native-settings": "^4.0.3", "compressorjs": "^1.0.7", "cordova-plugin-purchase": "^11.0.0", "hammerjs": "^2.0.8", From 37d4947964ede0f8e8d465f57aac655bb4655c83 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Sun, 9 Apr 2023 19:42:24 +0800 Subject: [PATCH 06/11] add translations for camera permissions dialog --- src/assets/i18n/en-us.json | 8 +++++++- src/assets/i18n/zh-tw.json | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/assets/i18n/en-us.json b/src/assets/i18n/en-us.json index d0660aeeb..699b76067 100644 --- a/src/assets/i18n/en-us.json +++ b/src/assets/i18n/en-us.json @@ -303,8 +303,14 @@ "header": "Save to Device Gallery", "messsage": "With \"Save to Device Gallery\", you can specify whether to save all or none of your captured pictures or videos to your device." }, + "requestCameraPermissions": { + "title": "Allow camera access in device settings", + "explanation": "To use the camera, please grant permission for the camera and microphone. The microphone permission is necessary to record videos with sound.", + "openSettings": "Open Settings" + }, "error": { - "duplicateAsset": "The asset you are trying to upload already exists on the blockchain. Please try again or contact support." + "duplicateAsset": "The asset you are trying to upload already exists on the blockchain. Please try again or contact support.", + "canNotStartCamera": "Sorry, we encountered an issue while starting the camera. We apologize for the inconvenience. If the problem persists, please report the issue to our developers through the 'Contact Developers' section on the app's support page. Your feedback will help us improve the app and resolve the issue faster. Thank you for your understanding and cooperation." } }, "wallets": { diff --git a/src/assets/i18n/zh-tw.json b/src/assets/i18n/zh-tw.json index 4140bb44e..aefd846dc 100644 --- a/src/assets/i18n/zh-tw.json +++ b/src/assets/i18n/zh-tw.json @@ -303,8 +303,14 @@ "header": "儲存至本機相簿", "messsage": "使用“儲存到本機相簿”,您可以選擇將拍攝的圖片或影片保存到您的設備。" }, + "requestCameraPermissions": { + "title": "在裝置設定中允許訪問相機", + "explanation": "請授予相機和麥克風權限,以使用相機。麥克風權限是記錄帶聲音的視頻所必需的。", + "openSettings": "開啟設定" + }, "error": { - "duplicateAsset": "您嘗試上傳的資產已有上鏈紀錄,請重新嘗試,或聯繫開發團隊取得協助。" + "duplicateAsset": "您嘗試上傳的資產已有上鏈紀錄,請重新嘗試,或聯繫開發團隊取得協助。", + "canNotStartCamera": "很抱歉,我們在啟動相機時遇到問題。對於造成的不便,我們深感抱歉。如果問題持續存在,請透過應用程式支援頁面的「聯絡開發人員」區域向我們的開發人員報告問題。您的反饋將有助於我們改善應用程式並更快地解決問題。感謝您的理解和配合。" } }, "wallets": { From d180d25c1d75c61b6fdf897957612641ee78d4c4 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Thu, 4 May 2023 18:17:16 +0800 Subject: [PATCH 07/11] bump @numbersprotocol/preview-camera to 0.0.15 --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59be0839f..26c640193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ "@ngx-formly/core": "^5.10.22", "@ngx-formly/material": "^5.10.22", "@ngx-formly/schematics": "^5.10.22", - "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.12", + "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.15", "@numbersprotocol/preview-video": "github:numbersprotocol/preview-video", "@pqina/angular-pintura": "^8.44.1", "@pqina/pintura": "^8.44.1", @@ -5110,8 +5110,8 @@ } }, "node_modules/@numbersprotocol/preview-camera": { - "version": "0.0.12", - "resolved": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#8fbce45026dce6d420cae88dbfe943fa97b3e740", + "version": "0.0.15", + "resolved": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#79c7d9e6caa13dd68b920b46202daeb37480995d", "license": "MIT", "peerDependencies": { "@capacitor/core": "^3.0.0" @@ -27390,8 +27390,8 @@ } }, "@numbersprotocol/preview-camera": { - "version": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#8fbce45026dce6d420cae88dbfe943fa97b3e740", - "from": "@numbersprotocol/preview-camera@github:numbersprotocol/preview-camera#0.0.12", + "version": "git+ssh://git@github.com/numbersprotocol/preview-camera.git#79c7d9e6caa13dd68b920b46202daeb37480995d", + "from": "@numbersprotocol/preview-camera@github:numbersprotocol/preview-camera#0.0.15", "requires": {} }, "@numbersprotocol/preview-video": { diff --git a/package.json b/package.json index 7ebd64e00..e33d670b3 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@ngx-formly/core": "^5.10.22", "@ngx-formly/material": "^5.10.22", "@ngx-formly/schematics": "^5.10.22", - "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.12", + "@numbersprotocol/preview-camera": "github:numbersprotocol/preview-camera#0.0.15", "@numbersprotocol/preview-video": "github:numbersprotocol/preview-video", "@pqina/angular-pintura": "^8.44.1", "@pqina/pintura": "^8.44.1", From 716bbf9ddb83069fcae5d1dcd83bbade91549ed4 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Thu, 4 May 2023 18:23:11 +0800 Subject: [PATCH 08/11] bump compileSdkVersion to 33 --- android/variables.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/variables.gradle b/android/variables.gradle index 505ecc283..6916f8867 100644 --- a/android/variables.gradle +++ b/android/variables.gradle @@ -1,6 +1,6 @@ ext { minSdkVersion = 28 - compileSdkVersion = 32 + compileSdkVersion = 33 targetSdkVersion = 32 androidxActivityVersion = '1.4.0' androidxAppCompatVersion = '1.4.2' From 221663986ffac054a6fd3480f5d010fc636a7330 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Tue, 23 May 2023 23:06:44 +0800 Subject: [PATCH 09/11] feat: check permissions before starting camera --- .../home/custom-camera/custom-camera.page.ts | 47 +++++++++++++++++++ .../custom-camera/custom-camera.service.ts | 5 ++ 2 files changed, 52 insertions(+) diff --git a/src/app/features/home/custom-camera/custom-camera.page.ts b/src/app/features/home/custom-camera/custom-camera.page.ts index 70ce627e2..25af7ccf5 100644 --- a/src/app/features/home/custom-camera/custom-camera.page.ts +++ b/src/app/features/home/custom-camera/custom-camera.page.ts @@ -10,6 +10,11 @@ import { CustomOrientation, PreviewCamera, } from '@numbersprotocol/preview-camera'; +import { + AndroidSettings, + IOSSettings, + NativeSettings, +} from 'capacitor-native-settings'; import { BehaviorSubject, Subscription, combineLatest, interval } from 'rxjs'; import { finalize, @@ -200,11 +205,53 @@ export class CustomCameraPage implements OnInit, OnDestroy { } async startPreviewCamera() { + if ((await this.canStartPreviewCamera()) === false) { + return; + } + await this.customCameraService.startPreviewCamera(); await this.customCameraService.setCameraQuality(this.cameraQuality$.value); await this.syncCameraState(); } + async canStartPreviewCamera() { + try { + const permissions = await this.customCameraService.requestPermissions(); + if ( + permissions.camera !== 'granted' || + permissions.microphone !== 'granted' + ) { + const confirmed = await this.confirmAlert.present({ + header: this.translocoService.translate( + 'customCamera.requestCameraPermissions.title' + ), + message: this.translocoService.translate( + 'customCamera.requestCameraPermissions.explanation' + ), + confirmButtonText: this.translocoService.translate( + 'customCamera.requestCameraPermissions.openSettings' + ), + }); + if (confirmed) { + NativeSettings.open({ + optionAndroid: AndroidSettings.ApplicationDetails, + optionIOS: IOSSettings.App, + }); + } + this.leaveCustomCamera(); + return false; + } + return true; + } catch (_error: unknown) { + // FIXME: report _error to crashlytics. + const errMsg = this.translocoService.translate( + 'customCamera.error.canNotStartCamera' + ); + this.errorService.toastError$(errMsg).subscribe(); + return false; + } + } + stopPreviewCamera() { this.customCameraService.stopPreviewCamera(); } diff --git a/src/app/features/home/custom-camera/custom-camera.service.ts b/src/app/features/home/custom-camera/custom-camera.service.ts index 1cd551a66..f2b5b83c6 100644 --- a/src/app/features/home/custom-camera/custom-camera.service.ts +++ b/src/app/features/home/custom-camera/custom-camera.service.ts @@ -132,6 +132,11 @@ export class CustomCameraService { } } + // eslint-disable-next-line class-methods-use-this + async requestPermissions() { + return PreviewCamera.requestPermissions(); + } + async startPreviewCamera() { return PreviewCamera.startPreview() .then(this.changeGlobalCSSBackgroundToTransparent.bind(this)) From 19982ad2cf3011aea5ac85ef1d2abade955e3923 Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Thu, 25 May 2023 17:50:57 +0800 Subject: [PATCH 10/11] build: bump to 0.79.0 --- android/app/build.gradle | 4 ++-- ios/App/App.xcodeproj/project.pbxproj | 8 ++++---- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index dee084149..99a433317 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "io.numbersprotocol.capturelite" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 772 - versionName "0.77.2" + versionCode 790 + versionName "0.79.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildFeatures { diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 317c5a0ab..dc11bc9bd 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -368,13 +368,13 @@ CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 772; + CURRENT_PROJECT_VERSION = 790; DEVELOPMENT_TEAM = G7NB5YCKAP; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = G7NB5YCKAP; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 0.77.2; + MARKETING_VERSION = 0.79.0; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = io.numbersprotocol.capturelite; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -395,13 +395,13 @@ CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 772; + CURRENT_PROJECT_VERSION = 790; DEVELOPMENT_TEAM = G7NB5YCKAP; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = G7NB5YCKAP; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 0.77.2; + MARKETING_VERSION = 0.79.0; PRODUCT_BUNDLE_IDENTIFIER = io.numbersprotocol.capturelite; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = NumbersAppDistributionV4; diff --git a/package-lock.json b/package-lock.json index 76ee39903..4ce0c7ee0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "capture-lite", - "version": "0.77.2", + "version": "0.79.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "capture-lite", - "version": "0.77.2", + "version": "0.79.0", "dependencies": { "packages": "^0.0.8", "@angular/animations": "^14.2.0", diff --git a/package.json b/package.json index 944537293..d16ef8eed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "capture-lite", - "version": "0.77.2", + "version": "0.79.0", "author": "numbersprotocol", "homepage": "https://numbersprotocol.io/", "scripts": { From 2e921d6f4a88a0d0999874d9b1bbd38a1e00af5a Mon Sep 17 00:00:00 2001 From: sultanmyrza Date: Thu, 25 May 2023 17:51:31 +0800 Subject: [PATCH 11/11] update changelog 0.79.0 --- CHANGELOG.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 135ff187b..38edcec4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.79.0] - 2023-05-25 + +### Added + +1. Feat add status bar in ionic page between image and caption (#2810) + +### Fixed + +1. Refactor pre publish component (#2809) +1. Fix issue flip camera for oppo and other devices if any (#2811) +1. Fix issue error message when without device permission (#2812) + +## [0.78.0] - 2023-04-24 + +### Added + +1. Feat capture app flavours should be built automatically by CI/CD (#2731) +1. Feat set device information when user signing up (#2732) +1. Feat should be able to view photos even if the registration fails (#2733) +1. Feat asset saved to device camera roll (#2734) +1. Feat when user first open capture app pop up to encourage users to take a photo (#2735) + ## [0.77.2] - 2023-04-18 ### Fixed @@ -2098,7 +2120,10 @@ This is the first release! _Capture Lite_ is a cross-platform app adapted from [ - Web - see the demo [here](https://github.com/numbersprotocol/capture-lite#demo-app) - Android - the APK file `app-debug.apk` is attached to this release -[unreleased]: https://github.com/numbersprotocol/capture-lite/compare/0.77.1...HEAD +[unreleased]: https://github.com/numbersprotocol/capture-lite/compare/0.79.0...HEAD +[0.79.0]: https://github.com/numbersprotocol/capture-lite/compare/0.78.0...0.79.0 +[0.78.0]: https://github.com/numbersprotocol/capture-lite/compare/0.77.2...0.78.0 +[0.77.2]: https://github.com/numbersprotocol/capture-lite/compare/0.77.1...0.77.2 [0.77.1]: https://github.com/numbersprotocol/capture-lite/compare/0.77.0...0.77.1 [0.77.0]: https://github.com/numbersprotocol/capture-lite/compare/0.75.2...0.77.0 [0.75.2]: https://github.com/numbersprotocol/capture-lite/compare/0.75.1...0.75.2