From 31a83d4edb22923dd8c2ea73923e0d015b0b1757 Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Wed, 15 Mar 2017 16:29:03 +0100 Subject: [PATCH] - add new ubuntu platform - fix #400 - Ubuntu build: keep large screen code, allow camera enable or not, ... - Blockchain (advanced) search: avoid row-header to be display twice during loading - Index: add 'apple-touch-icon' head for icon in web build --- config.xml | 11 +++--- resources/ubuntu/img/logo_57px.png | Bin 0 -> 5021 bytes www/i18n/locale-en-GB.json | 3 +- www/i18n/locale-en.json | 3 +- www/i18n/locale-fr-FR.json | 1 + www/img/logo_57px.png | Bin 0 -> 5021 bytes www/index.html | 1 + www/js/app.js | 18 ++++++---- www/js/config.js | 18 +++++----- www/js/controllers/app-controllers.js | 4 +-- www/js/controllers/login-controllers.js | 4 +-- www/js/controllers/wot-controllers.js | 4 +-- www/js/services/device-services.js | 34 ++++++++++++++---- www/js/services/wallet-services.js | 8 +++-- www/js/services/wot-services.js | 2 +- .../es/js/controllers/user-controllers.js | 2 +- .../es/templates/blockchain/items_blocks.html | 21 ++++------- www/templates/menu.html | 2 +- www/templates/wot/lookup.html | 1 + www/templates/wot/modal_lookup.html | 2 +- 20 files changed, 83 insertions(+), 56 deletions(-) create mode 100644 resources/ubuntu/img/logo_57px.png create mode 100644 www/img/logo_57px.png diff --git a/config.xml b/config.xml index d10778f69..a98bf4b67 100644 --- a/config.xml +++ b/config.xml @@ -8,10 +8,10 @@ > <name>Cesium</name> <description> - An simple App for Duniter + An simple App for Duniter </description> - <author email="contact@duniter.fr" href="http://www.duniter.fr"> - Duniter team + <author email="contact@e-is.pro"> + E-IS PRO </author> <content src="index.html" /> <access origin="*" /> @@ -88,7 +88,10 @@ <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" /> </platform> <platform name="firefoxos"> - <icon height="128" src="resources/firefoxos/img/logo_128.png" width="128" /> + <icon height="128" src="resources/firefoxos/img/logo_128px.png" width="128" /> <icon height="60" src="resources/firefoxos/img/logo_60.png" width="60" /> </platform> + <platform name="ubuntu"> + <icon height="57" src="resources/ubuntu/img/logo_57px.png" width="57"/> + </platform> </widget> diff --git a/resources/ubuntu/img/logo_57px.png b/resources/ubuntu/img/logo_57px.png new file mode 100644 index 0000000000000000000000000000000000000000..4adb392cbe5cf91b106c79dd1fd341fa2d0aeee7 GIT binary patch literal 5021 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 literal 0 HcmV?d00001 diff --git a/www/i18n/locale-en-GB.json b/www/i18n/locale-en-GB.json index 27bf18038..53c0f096e 100644 --- a/www/i18n/locale-en-GB.json +++ b/www/i18n/locale-en-GB.json @@ -326,7 +326,8 @@ "WAITING_MEMBERSHIP": "Membership request sent. Waiting validation.", "WAITING_CERTIFICATIONS": "You need {{needCertificationCount}} certification(s) to become a member", "WILL_MISSING_CERTIFICATIONS": "You will <b>lack certifications</b> soon (at least {{willNeedCertificationCount}} more are needed)", - "WILL_NEED_RENEW_MEMBERSHIP": "Your membership <b>will expire {{membershipExpiresIn|formatDurationTo}}</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renewing your membership</a> before then.", + "WILL_NEED_RENEW_MEMBERSHIP": "Your membership <b>will expire {{membershipExpiresIn|formatDurationTo}}</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a> before then.", + "NEED_RENEW_MEMBERSHIP": "You are no longer a member because your membership <b>has expired</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a>.", "CERTIFICATION_COUNT": "Received certifications", "CERTIFICATION_COUNT_SHORT": "Certifications", "SIG_STOCK": "Stock of certifications to give", diff --git a/www/i18n/locale-en.json b/www/i18n/locale-en.json index a9dcc9286..bf6b93721 100644 --- a/www/i18n/locale-en.json +++ b/www/i18n/locale-en.json @@ -326,7 +326,8 @@ "WAITING_MEMBERSHIP": "Membership request sent. Waiting validation.", "WAITING_CERTIFICATIONS": "You need {{needCertificationCount}} certification(s) to become a member", "WILL_MISSING_CERTIFICATIONS": "You will <b>lack certifications</b> soon (at least {{willNeedCertificationCount}} more are needed)", - "WILL_NEED_RENEW_MEMBERSHIP": "Your membership <b>will expire {{membershipExpiresIn|formatDurationTo}}</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renewing your membership</a> before then.", + "WILL_NEED_RENEW_MEMBERSHIP": "Your membership <b>will expire {{membershipExpiresIn|formatDurationTo}}</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a> before then.", + "NEED_RENEW_MEMBERSHIP": "You are no longer a member because your membership <b>has expired</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a>.", "CERTIFICATION_COUNT": "Received certifications", "CERTIFICATION_COUNT_SHORT": "Certifications", "SIG_STOCK": "Stock of certifications to give", diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json index b492f1da8..3e54b3fcd 100644 --- a/www/i18n/locale-fr-FR.json +++ b/www/i18n/locale-fr-FR.json @@ -327,6 +327,7 @@ "WAITING_CERTIFICATIONS": "Vous devez obtenir {{needCertificationCount}} certification(s) pour devenir membre.", "WILL_MISSING_CERTIFICATIONS": "Vous allez bientôt <b>manquer de certification</b> (au moins {{willNeedCertificationCount}} est nécessaire)", "WILL_NEED_RENEW_MEMBERSHIP": "Votre adhésion comme membre <b>va expirer {{membershipExpiresIn|formatDurationTo}}</b>. Pensez à <a ng-click=\"doQuickFix('renew')\">renouveler votre adhésion</a> d'ici là.", + "NEED_RENEW_MEMBERSHIP": "Vous n'êtes plus membre, car votre adhésion <b>a expiré</b>. Pensez à <a ng-click=\"doQuickFix('renew')\">renouveler votre adhésion</a>.", "CERTIFICATION_COUNT": "Certifications reçues", "CERTIFICATION_COUNT_SHORT": "Certifications", "SIG_STOCK": "Certifications envoyées", diff --git a/www/img/logo_57px.png b/www/img/logo_57px.png new file mode 100644 index 0000000000000000000000000000000000000000..4adb392cbe5cf91b106c79dd1fd341fa2d0aeee7 GIT binary patch literal 5021 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 literal 0 HcmV?d00001 diff --git a/www/index.html b/www/index.html index b22e78549..18dad2743 100644 --- a/www/index.html +++ b/www/index.html @@ -6,6 +6,7 @@ <meta name="apple-mobile-web-app-capable" content="yes"> <title>Cesium</title> <link rel="icon" href="./img/favicon.ico"> + <link rel="apple-touch-icon" href="./img/logo_57px.png"> <link rel="manifest" href="/manifest.json"> <!-- build:css dist_css/cesium.css --> <link href="css/ionic.app.css" rel="stylesheet"> diff --git a/www/js/app.js b/www/js/app.js index 1bbfe6941..2dbd8086f 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -315,8 +315,10 @@ angular.module('cesium', ['ionic', 'ionic-material', 'ngMessages', 'pascalprecht $rootScope.rootPath = (hashIndex != -1) ? $window.location.href.substr(0, hashIndex) : $window.location.href; console.debug('[app] Detecting root path: ' + $rootScope.rootPath); - // removeIf(device) - // Automatic redirection to large state (if define) + // removeIf(android) + // removeIf(ios) + // removeIf(firefoxos) + // Automatic redirection to large state (if define) (keep this code for platforms web and ubuntu build) $rootScope.$on('$stateChangeStart', function (event, next, nextParams, fromState) { if (next.data.large && !UIUtils.screen.isSmall()) { var redirect = !$rootScope.tour && !event.currentScope.tour; // disabled for help tour @@ -326,7 +328,11 @@ angular.module('cesium', ['ionic', 'ionic-material', 'ngMessages', 'pascalprecht } } }); + // endRemoveIf(firefoxos) + // endRemoveIf(ios) + // endRemoveIf(android) + // removeIf(device) // Automatic redirection to HTTPS if ((csConfig.httpsMode === true || csConfig.httpsMode == 'true' ||csConfig.httpsMode === 'force') && $window.location.protocol != 'https:') { @@ -370,21 +376,21 @@ angular.module('cesium', ['ionic', 'ionic-material', 'ngMessages', 'pascalprecht .then(function() { // Keyboard - if (window.cordova && window.cordova.plugins.Keyboard) { + if (Device.keyboard.enable) { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard // for form inputs) - cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); + Device.keyboard.hideKeyboardAccessoryBar(true); // iOS: do not push header up when opening keyboard // (see http://ionicframework.com/docs/api/page/keyboard/) if (ionic.Platform.isIOS()) { - cordova.plugins.Keyboard.disableScroll(true); + Device.keyboard.disableScroll(true); } } // Ionic Platform Grade is not A, disabling views transitions if (ionic.Platform.grade.toLowerCase()!='a') { - console.log('Disable UI effects - plateform\'s grade is not [a] but [' + ionic.Platform.grade + ']'); + console.log('[app] Disabling UI effects, because plateform\'s grade is [' + ionic.Platform.grade + ']'); UIUtils.setEffects(false); } diff --git a/www/js/config.js b/www/js/config.js index fc82d1666..d4a810825 100644 --- a/www/js/config.js +++ b/www/js/config.js @@ -16,26 +16,24 @@ angular.module("cesium.config", []) "timeout": 10000, "timeWarningExpireMembership": 5184000, "timeWarningExpire": 7776000, - "useLocalStorage": false, + "useLocalStorage": true, "useRelative": false, - "initPhase": false, - "expertMode": false, - "decimalCount": 2, - "httpsMode": false, + "expertMode": true, + "decimalCount": 4, "helptip": { "enable": true, "installDocUrl": "https://github.com/duniter/duniter/blob/master/doc/install-a-node.md" }, "node": { - "host": "g1.duniter.org", - "port": "443" + "host": "gtest.duniter.org", + "port": 10900 }, "plugins": { "es": { "enable": true, "askEnable": false, - "host": "g1.data.duniter.fr", - "port": "443", + "host": "data.gtest.duniter.fr", + "port": 80, "notifications": { "txSent": true, "txReceived": true, @@ -45,7 +43,7 @@ angular.module("cesium.config", []) } }, "version": "0.11.6", - "build": "2017-03-14T16:13:13.246Z", + "build": "2017-03-15T07:26:50.512Z", "newIssueUrl": "https://github.com/duniter/cesium/issues/new?labels=bug" }) diff --git a/www/js/controllers/app-controllers.js b/www/js/controllers/app-controllers.js index 62866dbf1..e2384e581 100644 --- a/www/js/controllers/app-controllers.js +++ b/www/js/controllers/app-controllers.js @@ -105,10 +105,10 @@ function AppController($scope, $rootScope, $state, $ionicSideMenuDelegate, $q, $ //////////////////////////////////////// $scope.scanQrCodeAndGo = function() { - if (!Device.enable) { + if (!Device.barcode.enable) { return; } - Device.camera.scan() + Device.barcode.scan() .then(function(uri) { if (!uri) { return; diff --git a/www/js/controllers/login-controllers.js b/www/js/controllers/login-controllers.js index 611796945..27854b8d0 100644 --- a/www/js/controllers/login-controllers.js +++ b/www/js/controllers/login-controllers.js @@ -27,9 +27,7 @@ function LoginModalController($scope, $timeout, CryptoUtils, UIUtils, Modals, cs return; } // removeIf(no-device) - if (window.cordova && cordova.plugins.Keyboard) { - cordova.plugins.Keyboard.close(); - } + Device.keyboard.close(); // endRemoveIf(no-device) UIUtils.loading.show(); diff --git a/www/js/controllers/wot-controllers.js b/www/js/controllers/wot-controllers.js index 5690ed8df..194a710b7 100644 --- a/www/js/controllers/wot-controllers.js +++ b/www/js/controllers/wot-controllers.js @@ -382,10 +382,10 @@ function WotLookupController($scope, $state, $timeout, $focus, $ionicPopover, $i }; $scope.scanQrCode = function(){ - if (!Device.enable) { + if (!Device.barcode.enable) { return; } - Device.camera.scan() + Device.barcode.scan() .then(function(result) { if (!result) { return; diff --git a/www/js/services/device-services.js b/www/js/services/device-services.js index 6e2598e69..573e1ecb9 100644 --- a/www/js/services/device-services.js +++ b/www/js/services/device-services.js @@ -38,7 +38,7 @@ angular.module('cesium.device.services', ['ngResource', 'cesium.utils.services', // endRemoveIf(device) function getPicture(options) { - if (!exports.enable) { + if (!exports.camera.enable) { return $q.reject("Camera not enable. Please call 'Device.ready()' once before use (e.g in app.js)."); } @@ -133,19 +133,41 @@ angular.module('cesium.device.services', ['ngResource', 'cesium.utils.services', exports.clipboard = {copy: copy}; exports.camera = { getPicture : getPicture, - scan: scan + scan: function(n){ + console.log('Deprecated use of Device.camera.scan(). Use Device.barcode.scan() instead'); + return scan(n); + } }; + exports.barcode = { + enable : false, + scan: scan + }; + exports.keyboard = { + enable: false, + close: function() { + if (!exports.keyboard.enable) return; + cordova.plugins.Keyboard.close(); + } + }; var started = false; var startPromise = ionicReady().then(function(){ - var enableCamera = !!navigator.camera; - exports.enable = enableCamera; + exports.enable = cordova && cordova.plugins; + + console.info('TODO'); if (exports.enable){ - var enableBarcodeScanner = cordova && cordova.plugins && !!cordova.plugins.barcodeScanner; + exports.camera.enable = !!navigator.camera; + exports.keyboard.enable = cordova && cordova.plugins && !!cordova.plugins.Keyboard; + exports.barcode.enable = cordova && cordova.plugins && !!cordova.plugins.barcodeScanner; + + if (exports.keyboard.enable) { + angular.extend(exports.keyboard, cordova.plugins.Keyboard); + } - console.debug('[device] Ionic platform ready, with [barcodescanner={0}] [camera={1}]'.format(enableBarcodeScanner, enableCamera)); + console.debug('[device] Ionic platform ready, with [camera: {0}] [barcode scanner: {1}] [keyboard: {2}]' + .format(exports.camera.enable, exports.barcode.enable, exports.keyboard.enable)); if (cordova.InAppBrowser) { console.debug('[device] Enabling InAppBrowser'); diff --git a/www/js/services/wallet-services.js b/www/js/services/wallet-services.js index 602aa1d31..d4f4fd2f0 100644 --- a/www/js/services/wallet-services.js +++ b/www/js/services/wallet-services.js @@ -360,7 +360,7 @@ angular.module('cesium.wallet.services', ['ngResource', 'ngApi', 'cesium.bma.ser // - same wallet uid // - is member // - has a pending membership - // - is not expired + // - is not expired (in sandbox) // - is not outdistanced // - if has certifications // max(count(certification) @@ -388,7 +388,8 @@ angular.module('cesium.wallet.services', ['ngResource', 'ngApi', 'cesium.bma.ser idty.needSelf = false; idty.needMembership = (idty.membershipExpiresIn <= 0 && idty.membershipPendingExpiresIn <= 0 ); idty.needRenew = (!idty.needMembership && - idty.membershipExpiresIn <= csSettings.data.timeWarningExpireMembership && idty.membershipPendingExpiresIn <= 0); + idty.membershipExpiresIn <= csSettings.data.timeWarningExpireMembership && + idty.membershipPendingExpiresIn <= 0); idty.canMembershipOut = (idty.membershipExpiresIn > 0); idty.pendingMembership = (idty.membershipExpiresIn <= 0 && idty.membershipPendingExpiresIn > 0); idty.certificationCount = (idty.certifications) ? idty.certifications.length : 0; @@ -701,6 +702,9 @@ angular.module('cesium.wallet.services', ['ngResource', 'ngApi', 'cesium.bma.ser if (data.requirements.needRenew) { addEvent({type:'warn', message: 'ACCOUNT.WILL_NEED_RENEW_MEMBERSHIP', messageParams: data.requirements, context: 'requirements'}); } + else if (data.requirements.wasMember && data.requirements.needMembership) { + addEvent({type:'warn', message: 'ACCOUNT.NEED_RENEW_MEMBERSHIP', messageParams: data.requirements, context: 'requirements'}); + } }, loadSigStock = function() { diff --git a/www/js/services/wot-services.js b/www/js/services/wot-services.js index c77edffff..e408f6d91 100644 --- a/www/js/services/wot-services.js +++ b/www/js/services/wot-services.js @@ -69,7 +69,7 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic // - same wallet uid // - is member // - has a pending membership - // - is not expired + // - is not expired (in sandbox) // - is not outdistanced // - if has certifications // max(count(certification) diff --git a/www/plugins/es/js/controllers/user-controllers.js b/www/plugins/es/js/controllers/user-controllers.js index ba76816c2..82280fc82 100644 --- a/www/plugins/es/js/controllers/user-controllers.js +++ b/www/plugins/es/js/controllers/user-controllers.js @@ -241,7 +241,7 @@ function ProfileController($scope, $rootScope, $timeout, $state, $focus, $transl }; $scope.showAvatarModal = function() { - if (Device.enable) { + if (Device.camera.enable) { return Device.camera.getPicture() .then(function(imageData) { $scope.avatar = {src: "data:image/png;base64," + imageData}; diff --git a/www/plugins/es/templates/blockchain/items_blocks.html b/www/plugins/es/templates/blockchain/items_blocks.html index 7fceae146..8479ab0fd 100644 --- a/www/plugins/es/templates/blockchain/items_blocks.html +++ b/www/plugins/es/templates/blockchain/items_blocks.html @@ -1,18 +1,5 @@ - -<div class="item row row-header done in hidden-xs hidden-sm" ng-if=":rebind:!expertMode"> - <!-- compact --> - <a class="button button-text button-small ink" - ng-class="{'button-text-positive': compactMode, 'button-text-stable': !compactMode}" - ng-click="toggleCompactMode()" > - <i class="icon ion-navicon"></i> - <b class="ion-arrow-down-b" style="position: absolute; top: -2px; left: 4px; font-size: 8px;"></b> - <b class="ion-arrow-up-b" style="position: absolute; top: 10px; left: 4px; font-size: 8px;"></b> - <span>{{'BLOCKCHAIN.LOOKUP.BTN_COMPACT'|translate}}</span> - </a> -</div> - -<div class="item row row-header done in hidden-xs hidden-sm" ng-if=":rebind:expertMode"> +<div class="item row row-header done in hidden-xs hidden-sm"> <!-- compact --> <a class="pull-left gray button button-text button-small no-margin no-padding" @@ -25,18 +12,22 @@ </a> <a class="no-padding dark col col-header" + ng-if=":rebind:expertMode" ng-click="toggleSort('medianTime')"> <cs-sort-icon asc="search.asc" sort="search.sort" toggle="'medianTime'"></cs-sort-icon> {{'BLOCKCHAIN.LOOKUP.HEADER_MEDIAN_TIME' | translate}} </a> <a class="no-padding dark col col-header" + ng-if=":rebind:expertMode" ng-click="toggleSort('issuer')"> <cs-sort-icon asc="search.asc" sort="search.sort" toggle="'issuer'"></cs-sort-icon> {{'BLOCKCHAIN.LOOKUP.HEADER_ISSUER' | translate}} </a> <div class="col col-20"> </div> - <a class="no-padding dark col col-20 col-header" ng-click="toggleSort('number')"> + <a class="no-padding dark col col-20 col-header" + ng-if=":rebind:expertMode" + ng-click="toggleSort('number')"> <cs-sort-icon asc="search.asc" sort="search.sort" toggle="'number'"></cs-sort-icon> {{'BLOCKCHAIN.LOOKUP.HEADER_BLOCK' | translate}} </a> diff --git a/www/templates/menu.html b/www/templates/menu.html index 22b8b1538..39ef5fcaf 100644 --- a/www/templates/menu.html +++ b/www/templates/menu.html @@ -167,7 +167,7 @@ </ion-item> <!-- scan QR code --> - <ion-item menu-close class="item item-button-right" ng-if="$root.device.enable"> + <ion-item menu-close class="item item-button-right" ng-if="$root.device.barcode.enable"> <span translate>Scan</span> <button class="button button-stable ink" ng-click="scanQrCodeAndGo()"> <i class="icon ion-qr-scanner"></i> diff --git a/www/templates/wot/lookup.html b/www/templates/wot/lookup.html index 3e0b66e68..a4ffcfbd7 100644 --- a/www/templates/wot/lookup.html +++ b/www/templates/wot/lookup.html @@ -5,6 +5,7 @@ <ion-nav-buttons side="secondary"> <button class="button button-icon button-clear icon ion-qr-scanner hidden-no-device" + ng-if="$root.device.barcode.enable" ng-click="scanQrCode()"> </button> <button class="button button-icon button-clear visible-xs visible-sm" diff --git a/www/templates/wot/modal_lookup.html b/www/templates/wot/modal_lookup.html index adfff54a0..4716864fd 100644 --- a/www/templates/wot/modal_lookup.html +++ b/www/templates/wot/modal_lookup.html @@ -20,7 +20,7 @@ <div class="visible-xs visible-sm text-right stable-bg stable"> <button class="button button-icon button-small-padding dark hidden-no-device ink" - ng-if="::$root.device.enable" + ng-if="$root.device.barcode.enable" ng-click="scanQrCode()"> <i class="icon ion-qr-scanner"></i> </button> -- GitLab