From dc844017160ec0a0ed0d640d25bf0519dce5ed2c Mon Sep 17 00:00:00 2001 From: ivan gomes Date: Fri, 3 Dec 2021 17:27:10 +0100 Subject: [PATCH] save --- capacitor.config.ts | 2 +- package-lock.json | 31 ++++-- package.json | 5 +- .../preview-camera/preview-camera.page.html | 90 ++++++------------ .../preview-camera/preview-camera.page.scss | 83 ++++++++++++---- .../preview-camera/preview-camera.page.ts | 8 +- src/app/pages/agenda/agenda.page.ts | 2 +- .../group-messages/group-messages.page.ts | 2 +- src/app/pages/chat/messages/messages.page.ts | 4 +- .../publication-detail.page.ts | 1 - src/app/services/functions/file.service.ts | 46 +++++++-- src/assets/any.pdf | Bin 0 -> 30811 bytes src/global.scss | 4 +- 13 files changed, 165 insertions(+), 113 deletions(-) create mode 100644 src/assets/any.pdf diff --git a/capacitor.config.ts b/capacitor.config.ts index 35aed5d7f..d0412a5fa 100644 --- a/capacitor.config.ts +++ b/capacitor.config.ts @@ -7,7 +7,7 @@ import { CapacitorConfig } from '@capacitor/cli'; const config: CapacitorConfig = { appId: 'com.capacitorjs.app.testapp', appName: 'capacitor-testapp', - webDir: 'build', + webDir: 'www', plugins: { SplashScreen: { launchAutoHide: false, diff --git a/package-lock.json b/package-lock.json index c0cec9246..6cb2ceb05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2030,6 +2030,14 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@byteowls/capacitor-filesharer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@byteowls/capacitor-filesharer/-/capacitor-filesharer-3.0.0.tgz", + "integrity": "sha512-7/ZL7eyK/7aZx7A5q2PtKc8s9jWAlHXmPOpINkEeoQ09xZNuKUFR/lxruPDgSJE+4/4wM5M4uxUBYCndmwXOSA==", + "requires": { + "file-saver": "^2.0.5" + } + }, "@capacitor-community/camera-preview": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@capacitor-community/camera-preview/-/camera-preview-1.2.1.tgz", @@ -2069,9 +2077,9 @@ "integrity": "sha512-NAIGWnyHBGQ/dgla/D4KDkAeQ2f3fzw+D+DIkGNH3f1ciX4bXC7lNbDVU67SMOuNt+CmcTJF64q3nVXcpv5JvQ==" }, "@capacitor/cli": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.3.0.tgz", - "integrity": "sha512-BkxagJhHG11+0ivFwUOnAhhdwQ1WXoX0WEzqzzGVL9k63hStuIOvPUusp34+G4EcNU01BAJlBt+dgefSvDhOFw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.3.2.tgz", + "integrity": "sha512-LmH3DzuwNL3k995CgAs20KXjQhDWrQCQgur3M8nqIKecZk0xCoSGghht+rEK8/Gqn0XqdBGdgUgop+nep17edg==", "dev": true, "requires": { "@ionic/cli-framework-output": "^2.2.1", @@ -2173,9 +2181,9 @@ } }, "@capacitor/core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.3.0.tgz", - "integrity": "sha512-bKkg/IGALz5OKJPGwtGXoqi4JUXWbuILnZ9J12Mv21fPMFBoszYOiMfm7FqdcCwqcyJWCdG3SQDxCz0Q3e2y8Q==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.3.2.tgz", + "integrity": "sha512-pyI3dQdQjA1L5iEw0jkeKCogx9t5d5kIFTB5M3CJRg9Uj5MIpU2J5CRj+74A7BflvZJo8IBd6IfMJaOArRumaw==", "requires": { "tslib": "^2.1.0" } @@ -10210,6 +10218,11 @@ "escape-string-regexp": "^1.0.5" } }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -16194,9 +16207,9 @@ } }, "bplist-parser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", - "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", "dev": true, "requires": { "big-integer": "1.6.x" diff --git a/package.json b/package.json index d2b3d0859..9c61f4260 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,13 @@ "@angular/platform-browser": "~12.1.2", "@angular/platform-browser-dynamic": "~12.1.2", "@angular/router": "~12.1.2", + "@byteowls/capacitor-filesharer": "^3.0.0", "@capacitor-community/camera-preview": "^1.2.1", "@capacitor/android": "^3.3.2", "@capacitor/app": "^1.0.5", "@capacitor/browser": "1.0.6", "@capacitor/camera": "^1.2.0", - "@capacitor/core": "^3.3.0", + "@capacitor/core": "^3.3.2", "@capacitor/device": "^1.1.0", "@capacitor/filesystem": "^1.0.6", "@capacitor/haptics": "^1.1.2", @@ -150,7 +151,7 @@ "@angular/compiler": "^12.1.2", "@angular/compiler-cli": "^12.1.2", "@angular/language-service": "^12.1.2", - "@capacitor/cli": "^3.3.0", + "@capacitor/cli": "^3.3.2", "@ionic/angular-toolkit": "^4.0.0", "@ionic/lab": "3.1.7", "@types/jasmine": "~3.6.0", diff --git a/src/app/modals/preview-camera/preview-camera.page.html b/src/app/modals/preview-camera/preview-camera.page.html index 1f853c4d8..f4a96098a 100644 --- a/src/app/modals/preview-camera/preview-camera.page.html +++ b/src/app/modals/preview-camera/preview-camera.page.html @@ -1,70 +1,34 @@ + + + + +
+
+ +
+
+
{{name}}
+ {{_updatedAt | date}}
+ + +
+
+ +
+
+ + + + + + +
- - - - - - - {{username}} {{_updatedAt | date}}
- -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/src/app/modals/preview-camera/preview-camera.page.scss b/src/app/modals/preview-camera/preview-camera.page.scss index f1d3a917e..617ad8cd0 100644 --- a/src/app/modals/preview-camera/preview-camera.page.scss +++ b/src/app/modals/preview-camera/preview-camera.page.scss @@ -36,25 +36,76 @@ float: right; } - circle-xmark-solid{ - - // position: relative; - width: 512px; - height: 515px; - position: absolute; - left: 0%; - right: 0%; - top: 0%; - bottom: 0%; - - background: #FCD13A; - + ion-icon { + width: 500px; + height: 500px; } - - - + .Rectangle { + width: 400px; + height: 666px; + margin: 0px; + padding: 0px; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.49); + background-color: var(--white); + + } /* Vector */ + + .digitalizacao_001pd { + width: 238px; + height: 29px; + margin: 3px 3px 3px 0; + font-family: Roboto; + font-size: 20px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: var(--black); + + } + .iconsarrowarrow-left { + width: 36px; + height: 35px; + padding: 9px 14px 8px 13px; + object-fit: contain; + } + + +CSS +.Rectangle-Copy-5 { + width: 400px; + height: 60px; + margin: 43px 0 0; + background-color: #f9f9f9; +} + +CSS +.Bitmap { + width: 358px; + height: 506px; + margin: 100px; +} + +.inside{ + background-color: var(--very-light-grey); +} +.place{ +float : left; +font-size: 14px; + +} +.footer{ + background-color:transparent; +} + +.distance{ + margin-left: 100px; +} \ No newline at end of file diff --git a/src/app/modals/preview-camera/preview-camera.page.ts b/src/app/modals/preview-camera/preview-camera.page.ts index ae2dac286..6a32f3d6b 100644 --- a/src/app/modals/preview-camera/preview-camera.page.ts +++ b/src/app/modals/preview-camera/preview-camera.page.ts @@ -22,7 +22,7 @@ export class PreviewCameraPage implements OnInit { @ViewChild(IonSlides) slides : IonSlides image: any; - username: string + name: string _updatedAt: string @@ -40,7 +40,7 @@ export class PreviewCameraPage implements OnInit { ngOnInit() { this.image = this.navParams.get('image') - this.username = this.navParams.get('username') + this.name = this.navParams.get('username') this._updatedAt = this.navParams.get('_updatedAt') console.log(this.image) // this.image = this.myimage @@ -109,8 +109,6 @@ async getIconGallery(){ } } - - async getIconShare(){ @@ -118,7 +116,7 @@ async getIconShare(){ await Share.share({ title: 'See cool stuff', text: 'Really awesome thing you need to see right meow', - url: this.image, + url: "https://www.google.com/search?q=joao+louren%C3%A7o&rlz=1C1SQJL_pt-PTAO977AO977&sxsrf=AOaemvIEvXz_WiqNNapjaoE42Q8b71jtiA:1638355797910&source=lnms&tbm=isch&sa=X&sqi=2&ved=2ahUKEwjo9uX6tsL0AhXTlWoFHX1XAtcQ_AUoAXoECAMQAw&biw=1920&bih=937&dpr=1#imgrc=lH5UYZyhPKBhHM", dialogTitle: 'Share with buddies', }); diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 136a6a819..159098d14 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -816,7 +816,7 @@ export class AgendaPage implements OnInit { case "Oficial": if (this.profile == "mdgpr" && this.loggeduser.Profile == 'MDGPR') { - this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, {}) + this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, {segment: this.segment, selectedDate: this.eventSelectedDate}) } else { this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) 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 4f6cbab0b..e571c6e4e 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -633,7 +633,7 @@ touchStart(card) { cssClass: 'transparent-modal', componentProps: { image: img.attachments[0].image_url, - username: img.u.username, + username: img.u.name, _updatedAt: img._updatedAt } }); diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index 011e867f9..55a687601 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -643,10 +643,10 @@ touchStart(card) { async openPreview(msg) { const modal = await this.modalController.create({ component: PreviewCameraPage, - cssClass: 'transparent-modal', + cssClass: 'modal modal-desktop', componentProps: { image: msg.attachments[0].image_url, - username: msg.u.username, + username: msg.u.name, _updatedAt: msg._updatedAt, } diff --git a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts index d79e7f34a..7806b556e 100644 --- a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts +++ b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts @@ -126,7 +126,6 @@ export class PublicationDetailPage implements OnInit { } - async editPost(publicationType:any) { console.log(this.publication); const modal = await this.modalController.create({ diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index 146f8cb91..78f5c0a43 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -10,11 +10,15 @@ import { SearchList } from 'src/app/models/search-document'; import { ProcessesService } from '../processes.service'; import { ToastService } from '../toast.service'; import { Camera, CameraResultType, CameraSource, Photo} from '@capacitor/camera'; - +import { +FileSharer} from '@byteowls/capacitor-filesharer'; import { Filesystem, Directory } from '@capacitor/filesystem'; +import { Share } from '@capacitor/share'; +import { HttpClient } from '@angular/common/http'; const IMAGE_DIR = 'stored-images'; + interface LocalFile { name: string; path: string; @@ -45,7 +49,8 @@ export class FileService { private processesService: ProcessesService, private toastService: ToastService, private platform: Platform, - private loadingCtrl: LoadingController + private loadingCtrl: LoadingController, + private http: HttpClient ) { } async takePicture() { @@ -230,15 +235,11 @@ export class FileService { if (image) { await this.saveImage(image,roomId) } -/* const response = await fetch(capturedImage.webPath!); - const blob = await response.blob(); - this.photos.unshift({ - filepath: "soon...", - webviewPath: capturedImage.webPath - }); */ - - //this.capturedImage = this.capturedImage; + await Share.share({ + title: 'Check my image', + url: image.path + }) } @@ -256,6 +257,13 @@ export class FileService { if (capturedImage) { await this.saveImage(capturedImage,roomId) } + + await Share.share({ + title: 'Check my image', + url: capturedImage.path + }) + + /* const response = await fetch(capturedImage.webPath!); const blob = await response.blob(); @@ -289,6 +297,24 @@ export class FileService { //loader.remove(); }); */ } + async shareLocalFile(){ + this.http.get('./assets/any.svg', {responseType: 'blob'}).subscribe(res=>{ + const reader = new FileReader() + reader.onloadend=()=>{ + const result = reader.result as string + const base64Data = result.split(',')[1] + + FileSharer.share({ + filename:'any.pdf', + base64Data, + contentType: "application/pdf", + }) + reader.readAsDataURL(res) + } + + }) + +} addPictureToChat(roomId) { diff --git a/src/assets/any.pdf b/src/assets/any.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e24412c45203c3180d244842389d289d9fb9eb2e GIT binary patch literal 30811 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