From b11b2bcb315f3d243d0150d822aa6c2c52904182 Mon Sep 17 00:00:00 2001 From: ivan gomes Date: Mon, 22 Nov 2021 13:53:37 +0100 Subject: [PATCH 1/3] imageWorkaround --- src/app/app-routing.module.ts | 4 ++ .../modals/group-icons/group-icons.page.html | 30 ++------- .../preview-camera/preview-camera.page.html | 11 ++-- .../preview-camera/preview-camera.page.scss | 31 ++++++++- .../preview-camera/preview-camera.page.ts | 7 +- .../video-allowed-routing.module.ts | 17 +++++ .../video-allowed/video-allowed.module.ts | 20 ++++++ .../video-allowed/video-allowed.page.html | 9 +++ .../video-allowed/video-allowed.page.scss | 0 .../video-allowed/video-allowed.page.spec.ts | 24 +++++++ .../video-allowed/video-allowed.page.ts | 25 ++++++++ .../pages/chat/messages/messages.page.html | 2 +- src/app/pages/chat/messages/messages.page.ts | 13 +++- .../new-publication/new-publication.page.html | 2 +- .../new-publication/new-publication.page.ts | 17 ++++- .../group-messages/group-messages.page.html | 2 +- .../group-messages/group-messages.page.ts | 62 +++++++++++++++++- .../shared/chat/messages/messages.page.html | 2 +- src/app/shared/chat/messages/messages.page.ts | 64 +++++++++++++++++-- src/global.scss | 2 +- 20 files changed, 294 insertions(+), 50 deletions(-) create mode 100644 src/app/modals/video-allowed/video-allowed-routing.module.ts create mode 100644 src/app/modals/video-allowed/video-allowed.module.ts create mode 100644 src/app/modals/video-allowed/video-allowed.page.html create mode 100644 src/app/modals/video-allowed/video-allowed.page.scss create mode 100644 src/app/modals/video-allowed/video-allowed.page.spec.ts create mode 100644 src/app/modals/video-allowed/video-allowed.page.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 9db7c1c78..701c78b64 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -211,6 +211,10 @@ const routes = [ path: 'group-icons', loadChildren: () => import('./modals/group-icons/group-icons.module').then( m => m.GroupIconsPageModule) }, + { + path: 'video-allowed', + loadChildren: () => import('./modals/video-allowed/video-allowed.module').then( m => m.VideoAllowedPageModule) + }, diff --git a/src/app/modals/group-icons/group-icons.page.html b/src/app/modals/group-icons/group-icons.page.html index 63c1b2846..e92a1ac13 100644 --- a/src/app/modals/group-icons/group-icons.page.html +++ b/src/app/modals/group-icons/group-icons.page.html @@ -4,33 +4,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + Iniciar Video Chamada? + + Iniciar Video Chamada? + diff --git a/src/app/modals/preview-camera/preview-camera.page.html b/src/app/modals/preview-camera/preview-camera.page.html index 54bd15ae6..1bcfaa040 100644 --- a/src/app/modals/preview-camera/preview-camera.page.html +++ b/src/app/modals/preview-camera/preview-camera.page.html @@ -28,9 +28,10 @@ - + - + + @@ -41,15 +42,15 @@ - + - + - + diff --git a/src/app/modals/preview-camera/preview-camera.page.scss b/src/app/modals/preview-camera/preview-camera.page.scss index 00ca80045..20cee576f 100644 --- a/src/app/modals/preview-camera/preview-camera.page.scss +++ b/src/app/modals/preview-camera/preview-camera.page.scss @@ -8,8 +8,9 @@ ion-slides { .redla{ - color: rgb(255, 38, 0); - // background-color: rgb(255, 72, 0); + color: rgb(250, 248, 248); + background-color: rgb(255, 187, 0); + border-radius: 120px; } .cardconteudo { @@ -25,4 +26,28 @@ float: right; } .center{ clear: both; - } \ No newline at end of file + } + + + circle-xmark-solid{ + + // position: relative; + width: 512px; + height: 515px; + position: absolute; + left: 0%; + right: 0%; + top: 0%; + bottom: 0%; + + background: #FCD13A; + + + } + + + + + +/* Vector */ + diff --git a/src/app/modals/preview-camera/preview-camera.page.ts b/src/app/modals/preview-camera/preview-camera.page.ts index bfd05c403..477e5eda0 100644 --- a/src/app/modals/preview-camera/preview-camera.page.ts +++ b/src/app/modals/preview-camera/preview-camera.page.ts @@ -76,8 +76,11 @@ async getIconGallery(){ }); modal.present(); } + + openChat(){ + + + } } - - diff --git a/src/app/modals/video-allowed/video-allowed-routing.module.ts b/src/app/modals/video-allowed/video-allowed-routing.module.ts new file mode 100644 index 000000000..5c763b55c --- /dev/null +++ b/src/app/modals/video-allowed/video-allowed-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { VideoAllowedPage } from './video-allowed.page'; + +const routes: Routes = [ + { + path: '', + component: VideoAllowedPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class VideoAllowedPageRoutingModule {} diff --git a/src/app/modals/video-allowed/video-allowed.module.ts b/src/app/modals/video-allowed/video-allowed.module.ts new file mode 100644 index 000000000..0c2dc882b --- /dev/null +++ b/src/app/modals/video-allowed/video-allowed.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { VideoAllowedPageRoutingModule } from './video-allowed-routing.module'; + +import { VideoAllowedPage } from './video-allowed.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + VideoAllowedPageRoutingModule + ], + declarations: [VideoAllowedPage] +}) +export class VideoAllowedPageModule {} diff --git a/src/app/modals/video-allowed/video-allowed.page.html b/src/app/modals/video-allowed/video-allowed.page.html new file mode 100644 index 000000000..df2ffe66f --- /dev/null +++ b/src/app/modals/video-allowed/video-allowed.page.html @@ -0,0 +1,9 @@ + + + videoAllowed + + + + + + diff --git a/src/app/modals/video-allowed/video-allowed.page.scss b/src/app/modals/video-allowed/video-allowed.page.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/modals/video-allowed/video-allowed.page.spec.ts b/src/app/modals/video-allowed/video-allowed.page.spec.ts new file mode 100644 index 000000000..d41be6fd1 --- /dev/null +++ b/src/app/modals/video-allowed/video-allowed.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { VideoAllowedPage } from './video-allowed.page'; + +describe('VideoAllowedPage', () => { + let component: VideoAllowedPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ VideoAllowedPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(VideoAllowedPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/modals/video-allowed/video-allowed.page.ts b/src/app/modals/video-allowed/video-allowed.page.ts new file mode 100644 index 000000000..b1d545bc7 --- /dev/null +++ b/src/app/modals/video-allowed/video-allowed.page.ts @@ -0,0 +1,25 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-video-allowed', + templateUrl: './video-allowed.page.html', + styleUrls: ['./video-allowed.page.scss'], +}) +export class VideoAllowedPage implements OnInit { + modalController: any; + + constructor() { } + + ngOnInit() { + } + + dismiss() { + // using the injected ModalController this page + // can "dismiss" itself and optionally pass back data + this.modalController.dismiss({ + 'dismissed': true + }); + } +} + + diff --git a/src/app/pages/chat/messages/messages.page.html b/src/app/pages/chat/messages/messages.page.html index 99a543a95..cf14f59d9 100644 --- a/src/app/pages/chat/messages/messages.page.html +++ b/src/app/pages/chat/messages/messages.page.html @@ -60,7 +60,7 @@ {{msg.msg}}
- image + image
diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index 3e3124daa..b1f719324 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -642,11 +642,22 @@ touchStart(card) { componentProps: { image: msg.attachments[0].image_url, username: msg.u.username, - _updatedAt: msg._updatedAt + _updatedAt: msg._updatedAt, } + + }); modal.present(); } + + imageSize(img){ + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + canvas.width=300 + canvas.height=234 + ctx.drawImage(img.attachments[0].image_url, 0, 0, 300, 234); + document.body.appendChild(canvas); +} } diff --git a/src/app/pages/publications/new-publication/new-publication.page.html b/src/app/pages/publications/new-publication/new-publication.page.html index 86baacc96..1d61c1731 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.html +++ b/src/app/pages/publications/new-publication/new-publication.page.html @@ -29,7 +29,7 @@ - + diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index 3a9cb5eff..8721ef716 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -116,6 +116,15 @@ export class NewPublicationPage implements OnInit { } + imageSize(image){ + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + canvas.width=300 + canvas.height=234 + ctx.drawImage(image, 0, 0, 300, 234); + document.body.appendChild(canvas); + } + convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => { const reader = new FileReader; reader.onerror = reject; @@ -379,7 +388,6 @@ export class NewPublicationPage implements OnInit { - async selectImage() { const image = await Camera.getPhoto({ quality: 50, @@ -393,6 +401,8 @@ export class NewPublicationPage implements OnInit { } } + + // Create a new file from a capture image async saveImage(photo: Photo) { const base64Data = await this.readAsBase64(photo); @@ -475,4 +485,9 @@ export class NewPublicationPage implements OnInit { this.capturedImage = this.images[0].data //} } + + + + + } diff --git a/src/app/shared/chat/group-messages/group-messages.page.html b/src/app/shared/chat/group-messages/group-messages.page.html index e8ba47bdc..0ebc7fdbb 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.html +++ b/src/app/shared/chat/group-messages/group-messages.page.html @@ -44,7 +44,7 @@ A conversa original mantêm-se como chat individual
-
+
diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index 9e57e30e8..aed1437d7 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -1,5 +1,5 @@ -import { Component, OnChanges, OnInit, Input, SimpleChanges, Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked, AfterViewInit, OnDestroy} from '@angular/core'; -import { ActionSheetController, AnimationController, MenuController, ModalController, PopoverController } from '@ionic/angular'; +import { Component, OnChanges, OnInit, Input, SimpleChanges,ChangeDetectorRef,Output, EventEmitter, ViewChild, ElementRef, AfterViewChecked, AfterViewInit, OnDestroy} from '@angular/core'; +import { ActionSheetController, AnimationController, IonSlides, MenuController, ModalController, PopoverController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; @@ -19,6 +19,7 @@ import { ProcessesService } from 'src/app/services/processes.service'; import { FileService } from 'src/app/services/functions/file.service'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; import { ThemeService } from 'src/app/services/theme.service' +import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page'; /* import * as pdfjsLib from 'pdfjs-dist'; @@ -86,7 +87,8 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe private fileToBase64Service: FileToBase64Service, private processesService: ProcessesService, private fileService: FileService, - public ThemeService: ThemeService + public ThemeService: ThemeService, + private changeDetectorRef: ChangeDetectorRef ) { this.loggedUserChat = authService.ValidatedUserChat['data']; this.isGroupCreated = true; @@ -767,7 +769,61 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe } } + + sliderOpts = { + zoom: false, + slidesPerView: 1.5, + spaceBetween: 20, + centeredSlides: true + }; + zoomActive = false; +zoomScale = 1; + +sliderZoomOpts = { + allowSlidePrev: false, + allowSlideNext: false, + zoom: { + maxRatio: 5 + }, + on: { + zoomChange: (scale, imageEl, slideEl) => { + this.zoomActive = true; + this.zoomScale = scale/5; + this.changeDetectorRef.detectChanges(); + } + } +} + +async touchEnd(zoomslides: IonSlides, card) { + // Zoom back to normal + const slider = await zoomslides.getSwiper(); + const zoom = slider.zoom; + zoom.out(); + + // Card back to normal + card.el.style['z-index'] = 9; + + this.zoomActive = false; + this.changeDetectorRef.detectChanges(); +} + +touchStart(card) { + // Make card appear above backdrop + card.el.style['z-index'] = 11; +} + async openPreview(img) { + const modal = await this.modalController.create({ + component: PreviewCameraPage, + cssClass: 'transparent-modal', + componentProps: { + image: img.attachments[0].image_url, + username: img.u.username, + _updatedAt: img._updatedAt + } + }); + modal.present(); + } } diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 53f592363..8f1fe149b 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -37,7 +37,7 @@
-
+
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 8f11f9533..b3eec13c2 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -1,5 +1,5 @@ -import { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core'; -import { AnimationController, GestureController, ModalController, PopoverController } from '@ionic/angular'; +import { AfterViewChecked, AfterViewInit, Component, ElementRef,ChangeDetectorRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core'; +import { AnimationController, GestureController, IonSlides, ModalController, PopoverController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; @@ -16,6 +16,7 @@ import { FileService } from 'src/app/services/functions/file.service'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; import { ThemeService } from 'src/app/services/theme.service' +import { PreviewCameraPage } from 'src/app/modals/preview-camera/preview-camera.page'; @Component({ selector: 'app-messages', @@ -71,7 +72,8 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy private fileService: FileService, private gestureController: GestureController, private http:HttpClient, - public ThemeService: ThemeService + public ThemeService: ThemeService, + private changeDetectorRef: ChangeDetectorRef ) { this.loggedUser = authService.ValidatedUserChat['data']; @@ -553,7 +555,61 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy this.serverLongPull(); }); + }sliderOpts = { + zoom: false, + slidesPerView: 1.5, + spaceBetween: 20, + centeredSlides: true + }; + zoomActive = false; +zoomScale = 1; + +sliderZoomOpts = { + allowSlidePrev: false, + allowSlideNext: false, + zoom: { + maxRatio: 5 + }, + on: { + zoomChange: (scale, imageEl, slideEl) => { + this.zoomActive = true; + this.zoomScale = scale/5; + this.changeDetectorRef.detectChanges(); + } } - +} + +async touchEnd(zoomslides: IonSlides, card) { + // Zoom back to normal + const slider = await zoomslides.getSwiper(); + const zoom = slider.zoom; + zoom.out(); + + // Card back to normal + card.el.style['z-index'] = 9; + + this.zoomActive = false; + this.changeDetectorRef.detectChanges(); +} + +touchStart(card) { + // Make card appear above backdrop + card.el.style['z-index'] = 11; } + async openPreview(msg) { + const modal = await this.modalController.create({ + component: PreviewCameraPage, + cssClass: 'transparent-modal', + componentProps: { + image: msg.attachments[0].image_url, + username: msg.u.username, + _updatedAt: msg._updatedAt + } + }); + modal.present(); + } +} + + + diff --git a/src/global.scss b/src/global.scss index 23b37489d..b12d9d99f 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1339,7 +1339,7 @@ ngx-mat-datetime-content{ --background: #0000005c; ion-content { - --background:transparent; + --background:#2e2121e7; } } From 674f3636b36bcdb7434564a0ad308597b05a4fbf Mon Sep 17 00:00:00 2001 From: ivan gomes Date: Mon, 22 Nov 2021 15:26:04 +0100 Subject: [PATCH 2/3] Merge branch 'developer' of https://bitbucket.org/equilibriumito/gabinete-digital into developer --- .../CordovaPlugins.podspec | 18 -------------- .../CordovaPluginsStatic.podspec | 16 ------------- package-lock.json | 20 ++++++++++++++++ package.json | 2 ++ src/app/app.component.ts | 16 ++++++++++++- src/app/pages/chat/chat.page.ts | 10 +++++++- .../new-publication/new-publication.page.ts | 24 ++++++++++++------- .../pages/publications/publications.page.ts | 14 ++++++++++- src/global.scss | 3 +++ 9 files changed, 78 insertions(+), 45 deletions(-) delete mode 100644 ios/capacitor-cordova-ios-plugins/CordovaPlugins.podspec delete mode 100644 ios/capacitor-cordova-ios-plugins/CordovaPluginsStatic.podspec diff --git a/ios/capacitor-cordova-ios-plugins/CordovaPlugins.podspec b/ios/capacitor-cordova-ios-plugins/CordovaPlugins.podspec deleted file mode 100644 index 79b4ae24e..000000000 --- a/ios/capacitor-cordova-ios-plugins/CordovaPlugins.podspec +++ /dev/null @@ -1,18 +0,0 @@ - - Pod::Spec.new do |s| - s.name = 'CordovaPlugins' - s.version = '3.3.0' - s.summary = 'Autogenerated spec' - s.license = 'Unknown' - s.homepage = 'https://example.com' - s.authors = { 'Capacitor Generator' => 'hi@example.com' } - s.source = { :git => 'https://github.com/ionic-team/does-not-exist.git', :tag => '3.3.0' } - s.source_files = 'sources/**/*.{swift,h,m,c,cc,mm,cpp}' - s.ios.deployment_target = '12.0' - s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1 WK_WEB_VIEW_ONLY=1' } - s.dependency 'CapacitorCordova' - s.swift_version = '5.1' - s.weak_frameworks = 'AudioToolbox', 'SystemConfiguration' - s.frameworks = 'AssetsLibrary', 'MobileCoreServices', 'CoreGraphics', 'CoreTelephony' - s.compiler_flags = '-w -w -DSQLITE_THREADSAFE=1 -DSQLITE_DEFAULT_SYNCHRONOUS=3 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_TEMP_STORE=2 -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_DEFAULT_PAGE_SIZE=4096' - end \ No newline at end of file diff --git a/ios/capacitor-cordova-ios-plugins/CordovaPluginsStatic.podspec b/ios/capacitor-cordova-ios-plugins/CordovaPluginsStatic.podspec deleted file mode 100644 index 424541041..000000000 --- a/ios/capacitor-cordova-ios-plugins/CordovaPluginsStatic.podspec +++ /dev/null @@ -1,16 +0,0 @@ - - Pod::Spec.new do |s| - s.name = 'CordovaPluginsStatic' - s.version = '3.3.0' - s.summary = 'Autogenerated spec' - s.license = 'Unknown' - s.homepage = 'https://example.com' - s.authors = { 'Capacitor Generator' => 'hi@example.com' } - s.source = { :git => 'https://github.com/ionic-team/does-not-exist.git', :tag => '3.3.0' } - s.source_files = 'sourcesstatic/**/*.{swift,h,m,c,cc,mm,cpp}' - s.ios.deployment_target = '12.0' - s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1 WK_WEB_VIEW_ONLY=1' } - s.dependency 'CapacitorCordova' - s.swift_version = '5.1' - s.static_framework = true - end \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d8f24c38a..878a7078f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2958,6 +2958,21 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/crop": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/crop/-/crop-5.36.0.tgz", + "integrity": "sha512-wRO8J9oSHl4klvPMti7MTYjFCl6dYHYlbe56gzImf1pwfKQ7gmusskeedABfZggPV1NHruMBKUNALdatJf603A==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } + }, "@ionic-native/fcm": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/@ionic-native/fcm/-/fcm-5.36.0.tgz", @@ -7842,6 +7857,11 @@ "integrity": "sha1-C8ZXVyduvZIMASzpIOJ0F3V2Nz4=", "dev": true }, + "cordova-plugin-crop": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-crop/-/cordova-plugin-crop-0.4.0.tgz", + "integrity": "sha1-TZ6Jgsz7OOBPqQnIe0vsBuLR2Ss=" + }, "cordova-plugin-dbcopy": { "version": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git#861f585e4313db828d6b8c7d354c32c83373d0d2", "from": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git" diff --git a/package.json b/package.json index 6bc660e48..8affa6bb6 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@fullcalendar/interaction": "^5.3.0", "@ionic-native/camera": "^5.31.1", "@ionic-native/core": "^5.0.7", + "@ionic-native/crop": "^5.36.0", "@ionic-native/fcm": "^5.36.0", "@ionic-native/file": "^5.36.0", "@ionic-native/file-path": "^5.30.0", @@ -93,6 +94,7 @@ "capacitor-voice-recorder": "^2.0.0", "ci": "^2.1.1", "cordova": "^10.0.0", + "cordova-plugin-crop": "^0.4.0", "cordova-plugin-dbcopy": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git", "cordova-plugin-filepath": "^1.5.8", "cordova-plugin-okhttp": "^2.0.0", diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 692c31663..9e8e8372a 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -9,6 +9,7 @@ import { NgxMatDateFormats } from '@angular-material-components/datetime-picker' const moment = _rollupMoment || _moment; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; import { SqliteService } from 'src/app/services/sqlite.service'; +import { BackgroundService } from 'src/app/services/background.service'; import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; @@ -39,7 +40,8 @@ export class AppComponent { /* private splashScreen: SplashScreen, */ private statusBar: StatusBar, private screenOrientation: ScreenOrientation, - private sqliteservice: SqliteService + private sqliteservice: SqliteService, + private backgroundservice: BackgroundService ) { this.initializeApp(); } @@ -65,6 +67,18 @@ export class AppComponent { console.log("Error creating local database: ", error) } } + + window.addEventListener('online', () => { + console.log('Became online') + this.backgroundservice.online() + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + } else { + } + }); + window.addEventListener('offline', () => { + console.log('Became offline') + this.backgroundservice.offline() + }); }); } diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index 9056c7ef8..c864de07c 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -30,6 +30,7 @@ import { environment } from 'src/environments/environment'; import { TimeService } from 'src/app/services/functions/time.service'; import { ThemeService } from 'src/app/services/theme.service' import { DataService } from 'src/app/services/data.service'; +import { Crop } from '@ionic-native/crop/ngx'; @Component({ @@ -119,6 +120,7 @@ export class ChatPage implements OnInit { public ThemeService: ThemeService, private dataService:DataService, private router: Router, + private crop: Crop, ){ this.loggedUserChat = authService.ValidatedUserChat['data']; this.headers = new HttpHeaders(); @@ -549,4 +551,10 @@ hideRefreshButton(){ modal.onDidDismiss(); } -} +// this.crop.crop('path/to/image.jpg', {quality: 75}) +// .then( +// newImage => console.log('new image path is: ' + newImage), +// error => console.error('Error cropping image', error) +// ); + + } diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index 8721ef716..4a347baf5 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -414,7 +414,8 @@ export class NewPublicationPage implements OnInit { directory: Directory.Data }); - this.loadFiles(); + //this.loadFiles(fileName); + this.loadFileData(fileName); } private async readAsBase64(photo: Photo) { @@ -434,7 +435,7 @@ export class NewPublicationPage implements OnInit { } } - async loadFiles() { + async loadFiles(fileName) { this.images = []; const loading = await this.loadingCtrl.create({ @@ -442,11 +443,11 @@ export class NewPublicationPage implements OnInit { }); await loading.present(); - Filesystem.readdir({ - path: IMAGE_DIR, + /* Filesystem.readdir({ + path: `${IMAGE_DIR}/${fileName}`, directory: Directory.Data, }).then(result => { - console.log('ALL RESULTS', result.files[0]) + console.log('ALL RESULTS', result.files) let lastphoto = result.files[result.files.length - 1] this.loadFileData(lastphoto); }, @@ -461,12 +462,17 @@ export class NewPublicationPage implements OnInit { } ).then(_ => { loading.dismiss(); - }); + }); */ } async loadFileData(fileName: string) { console.log('ALL PHOTOT FILE', fileName) - // for (let f of fileNames) { + + const loading = await this.loadingCtrl.create({ + message: 'Loading data...', + }); + await loading.present(); + const filePath = `${IMAGE_DIR}/${fileName}`; const readFile = await Filesystem.readFile({ @@ -483,7 +489,9 @@ export class NewPublicationPage implements OnInit { console.log('ALL IMAGE', this.images) this.capturedImage = this.images[0].data - //} + + loading.dismiss(); + } diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index c0e2309f1..1916b987a 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -16,6 +16,7 @@ import { PublicationTravelFolderStore } from 'src/app/store/publication-travel-f import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { ThemeService } from 'src/app/services/theme.service' +import { Crop } from '@ionic-native/crop/ngx'; @Component({ selector: 'app-publications', @@ -68,7 +69,8 @@ export class PublicationsPage implements OnInit { private sqliteservice: SqliteService, private backgroundservice: BackgroundService, private platform: Platform, - public ThemeService: ThemeService + public ThemeService: ThemeService, + private crop: Crop, ) { this.months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; this.days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"]; @@ -91,6 +93,8 @@ export class PublicationsPage implements OnInit { } + + hideRefreshButton() { window.onresize = (event) => { if (window.innerWidth < 801) { @@ -452,4 +456,12 @@ export class PublicationsPage implements OnInit { }); } + // this.crop.crop('path/to/image.jpg', {quality: 75}) + // .then( + // newImage => console.log('new image path is: ' + newImage), + // error => console.error('Error cropping image', error) + // ); + + + } diff --git a/src/global.scss b/src/global.scss index b12d9d99f..e59d967e6 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1355,4 +1355,7 @@ ngx-mat-datetime-content{ --background:transparent; } + .transparent-modal .modal-wrapper { + --background: rgba(44, 39, 45, 0.7); + } } \ No newline at end of file From 5ebb8ceefef8c39b95ddb67742dd97b3fd78562e Mon Sep 17 00:00:00 2001 From: ivan gomes Date: Mon, 22 Nov 2021 16:37:11 +0100 Subject: [PATCH 3/3] ImageWorkaround --- package.json | 1 - src/app/modals/preview-camera/preview-camera.page.html | 3 +-- src/app/modals/preview-camera/preview-camera.page.scss | 3 ++- src/app/pages/chat/chat.page.ts | 4 ++-- .../publications/new-publication/new-publication.page.html | 4 ---- .../publications/new-publication/new-publication.page.ts | 4 ++-- src/app/pages/publications/publications.page.ts | 4 ++-- src/assets/icon/chat/circle-xmark-solid 1.svg | 3 +++ 8 files changed, 12 insertions(+), 14 deletions(-) create mode 100644 src/assets/icon/chat/circle-xmark-solid 1.svg diff --git a/package.json b/package.json index 8affa6bb6..37884141a 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,6 @@ "@fullcalendar/interaction": "^5.3.0", "@ionic-native/camera": "^5.31.1", "@ionic-native/core": "^5.0.7", - "@ionic-native/crop": "^5.36.0", "@ionic-native/fcm": "^5.36.0", "@ionic-native/file": "^5.36.0", "@ionic-native/file-path": "^5.30.0", diff --git a/src/app/modals/preview-camera/preview-camera.page.html b/src/app/modals/preview-camera/preview-camera.page.html index 1bcfaa040..bc40a9eab 100644 --- a/src/app/modals/preview-camera/preview-camera.page.html +++ b/src/app/modals/preview-camera/preview-camera.page.html @@ -30,8 +30,7 @@ - - + diff --git a/src/app/modals/preview-camera/preview-camera.page.scss b/src/app/modals/preview-camera/preview-camera.page.scss index 20cee576f..de3ee420c 100644 --- a/src/app/modals/preview-camera/preview-camera.page.scss +++ b/src/app/modals/preview-camera/preview-camera.page.scss @@ -7,10 +7,11 @@ ion-slides { } .redla{ - color: rgb(250, 248, 248); background-color: rgb(255, 187, 0); border-radius: 120px; + width: 30px; + height: 30px; } .cardconteudo { diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index c864de07c..879f56f13 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -30,7 +30,7 @@ import { environment } from 'src/environments/environment'; import { TimeService } from 'src/app/services/functions/time.service'; import { ThemeService } from 'src/app/services/theme.service' import { DataService } from 'src/app/services/data.service'; -import { Crop } from '@ionic-native/crop/ngx'; + @Component({ @@ -120,7 +120,7 @@ export class ChatPage implements OnInit { public ThemeService: ThemeService, private dataService:DataService, private router: Router, - private crop: Crop, + ){ this.loggedUserChat = authService.ValidatedUserChat['data']; this.headers = new HttpHeaders(); diff --git a/src/app/pages/publications/new-publication/new-publication.page.html b/src/app/pages/publications/new-publication/new-publication.page.html index c934ab530..1d61c1731 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.html +++ b/src/app/pages/publications/new-publication/new-publication.page.html @@ -29,11 +29,7 @@ -<<<<<<< HEAD -======= - ->>>>>>> 6dcc59980c0116ee04582f93d3d44cc985659ce6 diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index 4a347baf5..8fd4fb4de 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -138,7 +138,7 @@ export class NewPublicationPage implements OnInit { async laodPicture() { const capturedImage = await Camera.getPhoto({ resultType: CameraResultType.Uri, - source: CameraSource.Photos, + source: CameraSource.Camera, quality: 90, width: 1080, height: 720, @@ -393,7 +393,7 @@ export class NewPublicationPage implements OnInit { quality: 50, allowEditing: false, resultType: CameraResultType.Uri, - source: CameraSource.Photos // Camera, Photos or Prompt! + source: CameraSource.Camera // Camera, Photos or Prompt! }); if (image) { diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index 1916b987a..bd155c51f 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -16,7 +16,7 @@ import { PublicationTravelFolderStore } from 'src/app/store/publication-travel-f import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { ThemeService } from 'src/app/services/theme.service' -import { Crop } from '@ionic-native/crop/ngx'; + @Component({ selector: 'app-publications', @@ -70,7 +70,7 @@ export class PublicationsPage implements OnInit { private backgroundservice: BackgroundService, private platform: Platform, public ThemeService: ThemeService, - private crop: Crop, + ) { this.months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; this.days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"]; diff --git a/src/assets/icon/chat/circle-xmark-solid 1.svg b/src/assets/icon/chat/circle-xmark-solid 1.svg new file mode 100644 index 000000000..dbc039351 --- /dev/null +++ b/src/assets/icon/chat/circle-xmark-solid 1.svg @@ -0,0 +1,3 @@ + + +