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..37884141a 100644 --- a/package.json +++ b/package.json @@ -93,6 +93,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-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..bc40a9eab 100644 --- a/src/app/modals/preview-camera/preview-camera.page.html +++ b/src/app/modals/preview-camera/preview-camera.page.html @@ -28,9 +28,9 @@ - + - + @@ -41,15 +41,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..de3ee420c 100644 --- a/src/app/modals/preview-camera/preview-camera.page.scss +++ b/src/app/modals/preview-camera/preview-camera.page.scss @@ -7,9 +7,11 @@ 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; + width: 30px; + height: 30px; } .cardconteudo { @@ -25,4 +27,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/chat.page.ts b/src/app/pages/chat/chat.page.ts index 9056c7ef8..879f56f13 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -32,6 +32,7 @@ import { ThemeService } from 'src/app/services/theme.service' import { DataService } from 'src/app/services/data.service'; + @Component({ selector: 'app-chat', templateUrl: './chat.page.html', @@ -119,6 +120,7 @@ export class ChatPage implements OnInit { public ThemeService: ThemeService, private dataService:DataService, private router: Router, + ){ 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/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 7193e23c3..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 6d8054c2b..8fd4fb4de 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; @@ -129,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, @@ -379,13 +388,12 @@ export class NewPublicationPage implements OnInit { - async selectImage() { const image = await Camera.getPhoto({ quality: 50, allowEditing: false, resultType: CameraResultType.Uri, - source: CameraSource.Photos // Camera, Photos or Prompt! + source: CameraSource.Camera // Camera, Photos or Prompt! }); if (image) { @@ -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); @@ -483,4 +493,9 @@ export class NewPublicationPage implements OnInit { loading.dismiss(); } + + + + + } diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index c0e2309f1..bd155c51f 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -17,6 +17,7 @@ import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-publications', templateUrl: './publications.page.html', @@ -68,7 +69,8 @@ export class PublicationsPage implements OnInit { private sqliteservice: SqliteService, private backgroundservice: BackgroundService, private platform: Platform, - public ThemeService: ThemeService + public ThemeService: ThemeService, + ) { 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/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/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 @@ + + + diff --git a/src/global.scss b/src/global.scss index 23b37489d..e59d967e6 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; } } @@ -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