diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 5854d2b87..02a8ed1b5 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -15,7 +15,7 @@ 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; }; - A9D8C5112B87AF2B00C95FBB /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = A9D8C5102B87AF2B00C95FBB /* GoogleService-Info.plist */; }; + A99931862B9691C4001D9C4F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = A99931852B9691C4001D9C4F /* GoogleService-Info.plist */; }; A9D8C5192B87B08300C95FBB /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9D8C5182B87B08300C95FBB /* ShareViewController.swift */; }; A9D8C51C2B87B08300C95FBB /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9D8C51A2B87B08300C95FBB /* MainInterface.storyboard */; }; A9D8C5202B87B08300C95FBB /* Share.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = A9D8C5162B87B08300C95FBB /* Share.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; @@ -55,7 +55,7 @@ 504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; - A9D8C5102B87AF2B00C95FBB /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../Downloads/GoogleService-Info.plist"; sourceTree = ""; }; + A99931852B9691C4001D9C4F /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../Downloads/GoogleService-Info.plist"; sourceTree = ""; }; A9D8C5162B87B08300C95FBB /* Share.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Share.appex; sourceTree = BUILT_PRODUCTS_DIR; }; A9D8C5182B87B08300C95FBB /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; A9D8C51B2B87B08300C95FBB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; @@ -117,8 +117,8 @@ 504EC3061FED79650016851F /* App */ = { isa = PBXGroup; children = ( + A99931852B9691C4001D9C4F /* GoogleService-Info.plist */, A9D8C5252B888E8300C95FBB /* App.entitlements */, - A9D8C5102B87AF2B00C95FBB /* GoogleService-Info.plist */, 50379B222058CBB4000EE86E /* capacitor.config.json */, 504EC3071FED79650016851F /* AppDelegate.swift */, 504EC30B1FED79650016851F /* Main.storyboard */, @@ -243,7 +243,7 @@ 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, 504EC30D1FED79650016851F /* Main.storyboard in Resources */, 2FAD9763203C412B000D30F8 /* config.xml in Resources */, - A9D8C5112B87AF2B00C95FBB /* GoogleService-Info.plist in Resources */, + A99931862B9691C4001D9C4F /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -489,16 +489,16 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 81; + CURRENT_PROJECT_VERSION = 88; DEVELOPMENT_TEAM = 94BRNM2LSS; ENABLE_USER_SCRIPT_SANDBOXING = NO; INFOPLIST_FILE = App/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.3; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 3.1; + MARKETING_VERSION = 3.8; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = com.gpr.gabinetedigital.teste; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -516,16 +516,16 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 81; + CURRENT_PROJECT_VERSION = 88; DEVELOPMENT_TEAM = 94BRNM2LSS; ENABLE_USER_SCRIPT_SANDBOXING = NO; INFOPLIST_FILE = App/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.3; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 3.1; + MARKETING_VERSION = 3.8; PRODUCT_BUNDLE_IDENTIFIER = com.gpr.gabinetedigital.teste; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; diff --git a/ios/App/App/Info.plist b/ios/App/App/Info.plist index 02e3d1d91..27edf47ff 100644 --- a/ios/App/App/Info.plist +++ b/ios/App/App/Info.plist @@ -62,7 +62,6 @@ This app requires access to the photo library. UIBackgroundModes - processing remote-notification UILaunchStoryboardName diff --git a/package-lock.json b/package-lock.json index fd3d134d0..df3443228 100644 --- a/package-lock.json +++ b/package-lock.json @@ -124,7 +124,7 @@ "cordova-plugin-filepath": "^1.5.8", "cordova-plugin-multiple-documents-picker": "^1.0.0", "cordova-plugin-okhttp": "^2.0.0", - "cordova-plugin-screen-orientation": "^3.0.2", + "cordova-plugin-screen-orientation": "^3.0.4", "cordova-res": "^0.15.3", "cordova-sqlite-storage": "^6.0.0", "cross-env": "^7.0.3", @@ -12878,9 +12878,9 @@ ] }, "node_modules/cordova-plugin-screen-orientation": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.2.tgz", - "integrity": "sha512-2w6CMC+HGvbhogJetalwGurL2Fx8DQCCPy3wlSZHN1/W7WoQ5n9ujVozcoKrY4VaagK6bxrPFih+ElkO8Uqfzg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.4.tgz", + "integrity": "sha512-AswRuUKJ8J3HycUilTJsIB50aa9TLrwndPNBFG+wfAPhHEqIBF0HaD0q3HbAK7ypgmaj0cvbzk84qP51IcTfrQ==", "engines": { "cordovaDependencies": { "4.0.0": { @@ -53547,9 +53547,9 @@ "integrity": "sha512-k8Fr3Zcv2kcsTD7TYrPPBZX/kEDSCjnPQOtaQBOFmCS3IcJNgWQY8LYST57zkIijaTKeQR7JZo4DvW1Oda3o2Q==" }, "cordova-plugin-screen-orientation": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.2.tgz", - "integrity": "sha512-2w6CMC+HGvbhogJetalwGurL2Fx8DQCCPy3wlSZHN1/W7WoQ5n9ujVozcoKrY4VaagK6bxrPFih+ElkO8Uqfzg==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.4.tgz", + "integrity": "sha512-AswRuUKJ8J3HycUilTJsIB50aa9TLrwndPNBFG+wfAPhHEqIBF0HaD0q3HbAK7ypgmaj0cvbzk84qP51IcTfrQ==" }, "cordova-plugin-statusbar": { "version": "2.4.3", diff --git a/package.json b/package.json index 20a04a850..b942356d9 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "cordova-plugin-filepath": "^1.5.8", "cordova-plugin-multiple-documents-picker": "^1.0.0", "cordova-plugin-okhttp": "^2.0.0", - "cordova-plugin-screen-orientation": "^3.0.2", + "cordova-plugin-screen-orientation": "^3.0.4", "cordova-res": "^0.15.3", "cordova-sqlite-storage": "^6.0.0", "cross-env": "^7.0.3", diff --git a/src/app/app.component.ts b/src/app/app.component.ts index a8e9d3c9c..95e5aa059 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -12,6 +12,7 @@ import { Storage } from '@ionic/storage'; import { ChatController } from './controller/chat'; import { register } from 'swiper/element/bundle'; import { DomSanitizer } from '@angular/platform-browser'; +import {ScreenOrientation} from "@ionic-native/screen-orientation/ngx"; const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -41,7 +42,8 @@ export class AppComponent { public ThemeService: ThemeService, private storage: Storage, private ChatSystemService: ChatSystemService, - private sanitizer: DomSanitizer + private sanitizer: DomSanitizer, + private screenOrientation: ScreenOrientation ) { window["sanitizer"] = this.sanitizer @@ -77,9 +79,12 @@ export class AppComponent { if (this.platform.is("tablet")) { window.screen.orientation.unlock(); } else if( this.platform.is("mobile")) { - // window.screen.orientation.lock('portrait'); + if(this.platform.is('ios')){ + this.screenOrientation.lock('portrait') + } else { + window.screen.orientation.lock('portrait'); + } } - }); } } diff --git a/src/app/pages/chat/chat.page.html b/src/app/pages/chat/chat.page.html index 18a568ae9..d058c8ae2 100644 --- a/src/app/pages/chat/chat.page.html +++ b/src/app/pages/chat/chat.page.html @@ -73,33 +73,25 @@
{{room.duration}}
-
+
+
{{room.lastMessage.msg}}
+
está escrever ...
-

{{room.lastMessage.msg}}

-

está escrever...

- - -
- +
+ - audio - + audio - + {{ room.lastMessage.attachments[0].title }} - {{room.lastMessage.file.name || room.lastMessage.file.subject || room.lastMessage.attachments[0].title}}
- - - +
diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index 23de21474..568920ec3 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -34,6 +34,7 @@ import { Camera, CameraResultType, CameraSource } from '@capacitor/camera'; import { RouteService } from 'src/app/services/route.service'; import { FileValidatorService } from "src/app/services/file/file-validator.service" import { sanitize } from "sanitize-filename-ts"; +import { FilePicker } from '@capawesome/capacitor-file-picker'; @Component({ selector: 'app-group-messages', @@ -839,8 +840,47 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { async addFileToChat(types: typeof FileType[]) { + + const roomId = this.roomId + if(this.platform.is('ios')) { + console.log('ios add file ') + + const resultt = await FilePicker.pickFiles({ + types: ['application/pdf'], + multiple: false, + readData: true, + }); + + console.log('RESULT', resultt.files[0]) + + const blobb = this.fileService.base64toBlob(resultt.files[0].data, resultt.files[0].mimeType) + + const formDataa = new FormData(); + formDataa.append('blobFile', blobb); + /* console.log('add file', fileBase64) */ + + this.ChatSystemService.getGroupRoom(roomId).send({ + file: { + "type": resultt.files[0].mimeType, + "guid": '', + }, + attachments: [{ + "title": sanitize(resultt.files[0].name), + "name": sanitize(resultt.files[0].name), + // "text": "description", + "title_link_download": false, + }], + temporaryData: formDataa, + attachmentsModelData: { + fileBase64: '', + } + }) + return + + } + const file: any = await this.fileService.getFileFromDevice(types); diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index fb613e750..2ed64198e 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -29,12 +29,13 @@ import { SessionStore } from 'src/app/store/session.service'; import { ViewMediaPage } from 'src/app/modals/view-media/view-media.page'; import { File } from '@awesome-cordova-plugins/file/ngx'; import { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx'; -import { Filesystem, Directory } from '@capacitor/filesystem'; +import { Filesystem, Directory, Encoding } from '@capacitor/filesystem'; import { NewEventPage } from '../../agenda/new-event/new-event.page'; import { NotificationsService } from 'src/app/services/notifications.service'; import { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service' import { FileValidatorService } from "src/app/services/file/file-validator.service" import { sanitize } from "sanitize-filename-ts"; +import { FilePicker } from '@capawesome/capacitor-file-picker'; import { ChangeDetectorRef } from '@angular/core'; @@ -848,9 +849,46 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } async addFileToChat(types: typeof FileType[]) { - console.log('add file') + console.log('add file ') const roomId = this.roomId + if(this.platform.is('ios')) { + console.log('ios add file ') + + const resultt = await FilePicker.pickFiles({ + types: ['application/pdf'], + multiple: false, + readData: true, + }); + + console.log('RESULT', resultt.files[0]) + + const blobb = this.fileService.base64toBlob(resultt.files[0].data, resultt.files[0].mimeType) + + const formDataa = new FormData(); + formDataa.append('blobFile', blobb); + /* console.log('add file', fileBase64) */ + + this.ChatSystemService.getDmRoom(roomId).send({ + file: { + "type": resultt.files[0].mimeType, + "guid": '', + }, + attachments: [{ + "title": sanitize(resultt.files[0].name), + "name": sanitize(resultt.files[0].name), + // "text": "description", + "title_link_download": false, + }], + temporaryData: formDataa, + attachmentsModelData: { + fileBase64: '', + } + }) + return + + } + const file: any = await this.fileService.getFileFromDevice(types); console.log(file) @@ -1068,11 +1106,8 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } async openFile(pdfString, filename, type) { - const blob = this.b64toBlob(pdfString, type) - console.log(blob) let pathFile = '' const fileName = filename - const contentFile = blob if (this.platform.is('ios')) { pathFile = this.file.documentsDirectory } else { @@ -1084,13 +1119,16 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { await Filesystem.writeFile({ path: fileName, data: pdfString, - directory: Directory.Data, + directory: Directory.Cache, + encoding: Encoding.UTF8, }).then((dir) => { console.log('DIR ', dir) this.fileOpener .open(dir.uri, type) .then(() => console.log()) .catch(e => console.error(e)) + }).catch((error) => { + console.log('error writing the file', error) }); } @@ -1248,6 +1286,17 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { }); } + dataURItoBlobIso(dataURI: any) { + const byteString = window.atob(dataURI); + const arrayBuffer = new ArrayBuffer(byteString.length); + const int8Array = new Uint8Array(arrayBuffer); + for (let i = 0; i < byteString.length; i++) { + int8Array[i] = byteString.charCodeAt(i); + } + const blob = new Blob([int8Array], { type: 'application/pdf' }); + return blob; +} + } diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.scss b/src/app/pages/gabinete-digital/gabinete-digital.page.scss index 760d40f48..274f01222 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.scss +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.scss @@ -315,7 +315,7 @@ ion-list { float: left; display: inline; margin: 0 !important; - padding: 2.5px 10.5px 2.5px 10.5px; + padding: 2.5px 10.5px 2.5px 0px; } } @@ -356,7 +356,7 @@ ion-list { /* border: 1px solid red; */ ion-label { - padding: 2.5px 10.5px 2.5px 10.5px; + padding: 2.5px 10.5px 2.5px 0px; margin: 0 !important; } } @@ -371,7 +371,7 @@ ion-list { //border: 1px solid blue; ion-label { - padding: 2.5px 10.5px 2.5px 10.5px; + padding: 2.5px 10.5px 2.5px 0px; margin: 0 !important; } } @@ -809,4 +809,4 @@ ion-segment-button { height: 11px; min-width: 27px; min-height: 27px; -} \ No newline at end of file +} diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index 0be3a9409..ce39c08b8 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -144,8 +144,18 @@ export class LoginPage implements OnInit { if (attempt.ChatData) { - await this.authService.loginToChatWs(); - this.ChatService.setheader() + try { + + await MessageModel.deleteAll(); + await DeleteMessageModel.deleteAll(); + this.ChatSystemService.clearChat(); + this.NotificationHolderService.clear() + await this.authService.loginToChatWs(); + this.ChatService.setheader() + + } catch(error) { + console.log("faild to clear chat") + } } 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 a091392c3..9ea946437 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.html +++ b/src/app/pages/publications/new-publication/new-publication.page.html @@ -40,7 +40,7 @@