diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 7893113..246dee4 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -353,6 +353,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 4RW9XSSSMV; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -373,6 +374,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 4RW9XSSSMV; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; diff --git a/ios/App/App/Info.plist b/ios/App/App/Info.plist index e993906..0b50182 100644 --- a/ios/App/App/Info.plist +++ b/ios/App/App/Info.plist @@ -29,6 +29,26 @@ + NSExtensionAttributes + + NSExtensionActivationRule + SUBQUERY ( + extensionItems, + $extensionItem, + SUBQUERY ( + $extensionItem.attachments, + $attachment, + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" || + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.spreadsheet" || + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.presentation" || + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "org.openxmlformats.wordprocessingml.document" || + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.adobe.pdf" || + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.png" || + ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.compuserve.gif" + ).@count == $extensionItem.attachments.@count + ).@count == 1 + + CFBundleVersion $(CURRENT_PROJECT_VERSION) LSRequiresIPhoneOS diff --git a/package-lock.json b/package-lock.json index 24649d5..f994520 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@angular/platform-browser-dynamic": "^15.0.0", "@angular/router": "^15.0.0", "@awesome-cordova-plugins/file-opener": "^6.3.0", + "@awesome-cordova-plugins/social-sharing": "^6.3.0", "@capacitor/android": "4.6.3", "@capacitor/app": "^4.1.1", "@capacitor/core": "4.6.3", @@ -31,8 +32,10 @@ "@fortawesome/free-solid-svg-icons": "^6.3.0", "@ionic/angular": "^6.5.4", "angular-oauth2-oidc": "^15.0.1", + "capacitor-share-extension": "^2.0.0", "cordova-plugin-file-opener2": "^4.0.0", "cordova-plugin-inappbrowser": "^5.0.0", + "cordova-plugin-x-socialsharing": "^6.0.4", "ionicons": "^6.1.3", "keycloak-angular": "^13.0.0", "keycloak-js": "^20.0.5", @@ -838,6 +841,18 @@ "rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0" } }, + "node_modules/@awesome-cordova-plugins/social-sharing": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/social-sharing/-/social-sharing-6.3.0.tgz", + "integrity": "sha512-gvj8gAU3tIwQnMHiZfnwfQ27MZRAlspT3x1eTI4y6id5AAq2UMnWAxoFAPZvyCHOhKYDNckbu9Axh5ile6Jy7g==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@awesome-cordova-plugins/core": "^6.0.1", + "rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -6141,6 +6156,11 @@ } ] }, + "node_modules/capacitor-share-extension": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capacitor-share-extension/-/capacitor-share-extension-2.0.0.tgz", + "integrity": "sha512-sOxfRKe9Gu7hq1zqRa8F6tmaSUnG5Efi7XG0MshbZ4Y6zCy9coiOd4LQObwHa0ym1ASZ21quUTOEylxnzueTiA==" + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -6636,6 +6656,17 @@ } } }, + "node_modules/cordova-plugin-x-socialsharing": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/cordova-plugin-x-socialsharing/-/cordova-plugin-x-socialsharing-6.0.4.tgz", + "integrity": "sha512-+ak6rN9i2xf/PARA/T3Hss09s0QhpFrOWvrYowy+PkCjGWx/ZVt9RkW+7yKemfyTXSgTp0YkyAAR4r6hPAfBGQ==", + "engines": [ + { + "name": "cordova", + "version": ">=3.0.0" + } + ] + }, "node_modules/core-js-compat": { "version": "3.28.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.28.0.tgz", diff --git a/package.json b/package.json index e60beb4..ae20cd0 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@angular/platform-browser-dynamic": "^15.0.0", "@angular/router": "^15.0.0", "@awesome-cordova-plugins/file-opener": "^6.3.0", + "@awesome-cordova-plugins/social-sharing": "^6.3.0", "@capacitor/android": "4.6.3", "@capacitor/app": "^4.1.1", "@capacitor/core": "4.6.3", @@ -36,8 +37,10 @@ "@fortawesome/free-solid-svg-icons": "^6.3.0", "@ionic/angular": "^6.5.4", "angular-oauth2-oidc": "^15.0.1", + "capacitor-share-extension": "^2.0.0", "cordova-plugin-file-opener2": "^4.0.0", "cordova-plugin-inappbrowser": "^5.0.0", + "cordova-plugin-x-socialsharing": "^6.0.4", "ionicons": "^6.1.3", "keycloak-angular": "^13.0.0", "keycloak-js": "^20.0.5", diff --git a/src/app/d4sauth.service.ts b/src/app/d4sauth.service.ts index 64501f4..fb1709a 100644 --- a/src/app/d4sauth.service.ts +++ b/src/app/d4sauth.service.ts @@ -9,7 +9,7 @@ import { KeycloakEventType, KeycloakService } from 'keycloak-angular'; }) export class D4sAuthService { - redirectUrl: string = 'http://localhost:8100/'; //'d4sworkspace://org.gcube.workspace/'; // + redirectUrl: string = 'd4sworkspace://org.gcube.workspace/'; //'http://localhost:8100/'; // umaUrl: string = " https://accounts.dev.d4science.org/auth/realms/d4science/protocol/openid-connect/token"; @@ -25,7 +25,12 @@ export class D4sAuthService { async login() { if (!this.isAuthorized()) { await this.keycloak.login({ - redirectUri: this.redirectUrl + redirectUri: this.redirectUrl, + cordovaOptions: { + hidenavigationbuttons: "yes", + toolbar:"no", + footer: "no" + } }); } diff --git a/src/app/login/login.page.ts b/src/app/login/login.page.ts index 20d6452..d247288 100644 --- a/src/app/login/login.page.ts +++ b/src/app/login/login.page.ts @@ -2,6 +2,9 @@ import { AfterViewInit, Component, } from '@angular/core'; import { Router } from '@angular/router'; import { D4sAuthService } from '../d4sauth.service'; + +declare var cordova:any; + @Component({ selector: 'app-login', templateUrl: './login.page.html', @@ -11,7 +14,6 @@ export class LoginPage implements AfterViewInit { constructor(private auth: D4sAuthService, private router : Router) { } - ngAfterViewInit(): void{ this.auth.login().then(ret => { console.log("logged in - trying to navigates to tabs "+ret);