Skip to content
Snippets Groups Projects
Commit 6643b1d0 authored by Jeremy Guiselin's avatar Jeremy Guiselin
Browse files

add in app paymeny

parent 43e7e727
No related branches found
No related tags found
No related merge requests found
...@@ -10,3 +10,6 @@ www/dist ...@@ -10,3 +10,6 @@ www/dist
resources/android resources/android
resources/ios resources/ios
.idea/ .idea/
.vscode/
.settings/
jsconfig.json
\ No newline at end of file
<?xml version='1.0' encoding='utf-8'?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.jeremyguiselin.betskills" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <widget id="com.jeremyguiselin.betskills" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Betskills</name> <name>Betskills</name>
<description> <description>
...@@ -32,6 +32,12 @@ ...@@ -32,6 +32,12 @@
<plugin name="cordova-plugin-device" spec="~1.1.3"/> <plugin name="cordova-plugin-device" spec="~1.1.3"/>
<plugin name="cordova-plugin-file-transfer" spec="~1.6.1"/> <plugin name="cordova-plugin-file-transfer" spec="~1.6.1"/>
<plugin name="cordova-plugin-inapppurchase" spec="~1.1.0"/> <plugin name="cordova-plugin-inapppurchase" spec="~1.1.0"/>
<plugin name="cordova-plugin-x-toast" spec="https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git"/>
<plugin name="cordova-plugin-badge" spec="https://github.com/katzer/cordova-plugin-badge.git"/>
<plugin name="cordova-plugin-facebook4" spec="~1.7.4">
<variable name="APP_ID" value="1830882820517971"/>
<variable name="APP_NAME" value="Betskills"/>
</plugin>
<platform name="ios"> <platform name="ios">
<preference name="FadeSplashScreen" value="false"/> <preference name="FadeSplashScreen" value="false"/>
<preference name="FadeSplashScreenDuration" value="1000"/> <preference name="FadeSplashScreenDuration" value="1000"/>
...@@ -46,24 +52,24 @@ ...@@ -46,24 +52,24 @@
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768"/> <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768"/>
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640"/> <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640"/>
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320"/> <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320"/>
<icon height="57" src="resources/ios/icon/icon.png" width="57" /> <icon src="resources/ios/icon/icon.png" width="57" height="57"/>
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" /> <icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/>
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" /> <icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" /> <icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/>
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" /> <icon src="resources/ios/icon/icon-40@3x.png" width="120" height="120"/>
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" /> <icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" /> <icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/>
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" /> <icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" /> <icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/>
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" /> <icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/>
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" /> <icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" /> <icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/>
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" /> <icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" /> <icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/>
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" /> <icon src="resources/ios/icon/icon-83.5@2x.png" width="167" height="167"/>
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" /> <icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" /> <icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/>
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" /> <icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/>
</platform> </platform>
<platform name="android"> <platform name="android">
<preference name="android-minSdkVersion" value="22"/> <preference name="android-minSdkVersion" value="22"/>
...@@ -84,16 +90,14 @@ ...@@ -84,16 +90,14 @@
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png"/> <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png"/>
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png"/> <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png"/>
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png"/> <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png"/>
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<access origin="cdvfile://*"/> <access origin="cdvfile://*"/>
<allow-intent href="cdvfile://*"/> <allow-intent href="cdvfile://*"/>
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
</platform> </platform>
<icon src="resources/android/icon/drawable-xhdpi-icon.png"/> <icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
<plugin name="cordova-plugin-x-toast" spec="https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git" />
<plugin name="cordova-plugin-badge" spec="https://github.com/katzer/cordova-plugin-badge.git" />
</widget> </widget>
\ No newline at end of file
resources/icon.png

41.8 KiB | W: | H:

resources/icon.png

15 KiB | W: | H:

resources/icon.png
resources/icon.png
resources/icon.png
resources/icon.png
  • 2-up
  • Swipe
  • Onion skin
.info-icon { .info-icon {
width: auto; width: auto;
height: 80%; max-height: 30px;
margin-top: 2px;
margin-right: 20px; margin-right: 20px;
} }
......
...@@ -19,24 +19,6 @@ ...@@ -19,24 +19,6 @@
<script src="dist/project.js"></script> <script src="dist/project.js"></script>
</head> </head>
<body ng-app="starter"> <body ng-app="starter">
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '1830882820517971',
xfbml : true,
version : 'v2.8'
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<ion-nav-bar></ion-nav-bar> <ion-nav-bar></ion-nav-bar>
<ion-nav-view name="content"></ion-nav-view> <ion-nav-view name="content"></ion-nav-view>
</body> </body>
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
"all_predictions": "All the predictions", "all_predictions": "All the predictions",
"unlock": "Unlock", "unlock": "Unlock",
"predictions": "Predictions", "predictions": "Predictions",
"games": "Game(s)" "games": "Game(s)",
"currency": "£"
}, },
"fr": { "fr": {
"info_title_1": "Comment resté connecté ?", "info_title_1": "Comment resté connecté ?",
...@@ -46,7 +47,8 @@ ...@@ -46,7 +47,8 @@
"all_predictions": "Toutes les prédictions", "all_predictions": "Toutes les prédictions",
"unlock": "Dévérouiller", "unlock": "Dévérouiller",
"predictions": "Prédictions", "predictions": "Prédictions",
"games": "Match(s)" "games": "Match(s)",
"currency": ""
} }
}; };
......
...@@ -33,25 +33,37 @@ ...@@ -33,25 +33,37 @@
module.constant('purchaseConfig', { module.constant('purchaseConfig', {
'tennis': [ 'tennis': [
'tennis', 'tennis',
'tennis-full-1', 'tennis_full_1',
'tennis-full-2', 'tennis_full_2',
'tennis-full-3', 'tennis_full_3',
'tennis-full-4', 'tennis_full_4',
'tennis-full-5' 'tennis_full_5'
], ],
'football': [ 'football': [
'ligue-1', 'ligue_1',
'premiere-league', 'premiere_league',
'bundesliga', 'bundesliga',
'liga-bbva', 'liga_bbva',
'liga-nos', 'liga_nos',
'serie-a', 'serie_a',
'champions-league', 'champions_league',
'football-full-3', 'football_full_3',
'football-full-4', 'football_full_4',
'football-full-5', 'football_full_5',
'football-full-6' 'football_full_6',
] 'eredivisie'
],
'mock' : {
'tennis': [
{ productId: 'tennis', 'title': 'Tennis 1', description: 'Tennis 1 pack', price: '0.99€' },
{ productId: 'tennis_full_1', 'title': 'Tennis 2', description: 'Tennis 2 pack', price: '1.99€' },
{ productId: 'tennis_full_2', 'title': 'Tennis 3', description: 'Tennis 3 pack', price: '1.99€' },
{ productId: 'tennis_full_3', 'title': 'Tennis 4', description: 'Tennis 4 pack', price: '2.99€' },
{ productId: 'tennis_full_4', 'title': 'Tennis 5', description: 'Tennis 5 pack', price: '3.99€' },
{ productId: 'tennis_full_5', 'title': 'Tennis 6', description: 'Tennis 6 pack', price: '4.99€' }
],
'football': {}
}
}) })
})(angular); })(angular);
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
* *
* @ngInject * @ngInject
*/ */
function PurchaseService($http, $cordovaToast, constantConfig, purchaseConfig) { function PurchaseService($http, $state, ToastService, constantConfig, purchaseConfig) {
var service = { return {
getProducts: function (sport) { getProducts: function (sport) {
if (window.cordova) { if (window.cordova) {
...@@ -22,22 +22,54 @@ ...@@ -22,22 +22,54 @@
products = storeProducts; products = storeProducts;
}) })
.catch(function (err) { .catch(function (err) {
$cordovaToast ToastService.show(err, 'long', 'bottom');
.showLongBottom(err)
.then(function(success) {
// success
}, function (error) {
console.log(error);
}); });
return products;
} else {
return purchaseConfig['mock'][sport];
}
},
buyContent : function (uuid, purchaseId, leagues) {
var self = this;
var transactionData = {};
if (window.cordova) {
inAppPurchase
.buy(purchaseId)
.then(function (data) {
transactionData = {
transactionId: data.transactionId,
uuid: uuid,
leagues: leagues
};
self.savePurchase(transactionData);
})
.catch(function (err) {
ToastService.show('purchase_payment_error', 'long', 'center');
}); });
} else {
transactionData = {
transactionId: Math.random().toString(36).substring(7),
uuid: uuid,
leagues: leagues
};
self.savePurchase(transactionData);
} }
return []; },
savePurchase: function (transactionData) {
$http.post(constantConfig.apiUrl + 'save-purchase', transactionData)
.then(function successCallback() {
$state.reload();
ToastService.show('purchase_ok', 'long', 'center');
}, function errorCallback() {
ToastService.show('purchase_internal_error', 'long', 'center');
});
} }
}; };
return service;
} }
angular.module('starter') angular.module('starter')
......
/**
* Created by jeremyguiselin on 17/01/2017.
*/
(function (angular) {
"use strict";
/**
* @ngdoc service
* @name starter.ToastService
*
* @description
*
* A service for toast message (mock for browser)
*
* @ngInject
*/
function ToastService($cordovaToast, $translate) {
return {
show : function (message, duration, location) {
if (window.cordova) {
$cordovaToast.show($translate(message), duration, location).then(function(success) {
// success
}, function (error) {
console.log(error);
});
} else {
console.log($translate(message))
}
}
};
}
angular.module('starter')
.service('ToastService', ToastService)
;
})(angular);
...@@ -20,13 +20,17 @@ ...@@ -20,13 +20,17 @@
$http, $http,
$q, $q,
$ionicLoading, $ionicLoading,
constantConfig PurchaseService,
constantConfig,
ToastService
) { ) {
/** /**
Static variables Static variables
**/ **/
var deregistrationCallbackList = []; var deregistrationCallbackList = [];
var products = PurchaseService.getProducts('football');
var self = this; var self = this;
var uuid = window.cordova ? ionic.Platform.device().uuid : '7f4a6a40e5c87157'; var uuid = window.cordova ? ionic.Platform.device().uuid : '7f4a6a40e5c87157';
...@@ -54,30 +58,37 @@ ...@@ -54,30 +58,37 @@
$scope.isBought = function (league) { $scope.isBought = function (league) {
return league.device_status === 'unlock'; return league.device_status === 'unlock';
} };
$scope.getLink = function (league) { $scope.getLink = function (league) {
if (league.device_status === 'unlock') { if (league.device_status === 'unlock') {
return 'details({leagueId:' + league.id + '})'; return 'details({leagueId:' + league.id + '})';
} }
return '-'; return '-';
} };
$scope.isSelected = function (league) { $scope.isSelected = function (league) {
return $scope.selected.indexOf(league) !== -1; return $scope.selected.indexOf(league) !== -1;
} };
$scope.select = function (league) { $scope.select = function (league) {
if (!$scope.isBought(league.id)) { if (!$scope.isBought(league.id)) {
if ($scope.selected.indexOf(league) !== -1) { if ($scope.selected.indexOf(league) !== -1) {
$scope.selected.splice($scope.selected.indexOf(league), 1); $scope.selected.splice($scope.selected.indexOf(league), 1);
$scope.predictionsNumber -= league.predictions_number; $scope.predictionsNumber -= league.predictions_number;
$scope.price = self.findPrice($scope.selected.length);
} else { } else {
$scope.selected.push(league); $scope.selected.push(league);
$scope.predictionsNumber += league.predictions_number; $scope.predictionsNumber += league.predictions_number;
} }
} }
} };
$scope.buyContent = function () {
var pack = self.findPack($scope.selected.length);
PurchaseService.buyContent(uuid, pack, $scope.selected);
};
$scope.getPredictionClass = function (prediction, value) { $scope.getPredictionClass = function (prediction, value) {
var percentages = [prediction.prediction_win_first, prediction.prediction_win_second, prediction.prediction_draw]; var percentages = [prediction.prediction_win_first, prediction.prediction_win_second, prediction.prediction_draw];
...@@ -89,7 +100,7 @@ ...@@ -89,7 +100,7 @@
} }
return ''; return '';
} };
$scope.getTick = function (prediction) { $scope.getTick = function (prediction) {
var percentages = [ var percentages = [
...@@ -119,7 +130,7 @@ ...@@ -119,7 +130,7 @@
} }
return null; return null;
} };
$scope.parseDate = function (date) { $scope.parseDate = function (date) {
var locale = window.navigator.language.split('-')[0]; var locale = window.navigator.language.split('-')[0];
...@@ -130,7 +141,7 @@ ...@@ -130,7 +141,7 @@
} else { } else {
return date[1] + '/' + date[2] + '/' + date[0].substr(-2); return date[1] + '/' + date[2] + '/' + date[0].substr(-2);
} }
} };
/** /**
End Scope functions End Scope functions
...@@ -143,11 +154,66 @@ ...@@ -143,11 +154,66 @@
this.parseScore = function (prediction) { this.parseScore = function (prediction) {
if (prediction.score) { if (prediction.score) {
var score = prediction.score; var score = prediction.score;
var scores = score.split('-'); prediction.score = score.split('-');
prediction.score = scores; }
};
this.isAllChampionsLeague = function () {
return $scope.selected[0].unitary_pack_name === 'champions_league'
&& $scope.selected[1].unitary_pack_name === 'champions_league';
};
this.containsChampionsLeague = function () {
var contains = false;
$scope.selected.forEach(function (league) {
if (league.unitary_pack_name === 'champions_league') {
contains = true;
}
});
return contains;
};
this.findPrice = function (length) {
var packToGet = self.findPack(length);
if (packToGet !== '') {
var price = '';
products.forEach(function (el) {
if (el.productId === packToGet) {
price = el.price;
}
});
return price;
} else {
ToastService.show('selection_not_ok', 'long', 'bottom');
}
};
this.findPack = function (length) {
var packToGet = '';
if (length === 1) {
packToGet = $scope.selected[0].unitary_pack_name;
} else if (length == 2) {
if (self.isAllChampionsLeague()) {
packToGet = 'full_champions_league';
} else if (self.containsChampionsLeague()) {
ToastService.show('selection_not_ok', 'long', 'bottom');
} else {
packToGet = 'football_full_2';
}
} else if (length <= 6) {
if (!self.containsChampionsLeague()) {
packToGet = 'football_full_' + length;
} else {
ToastService.show('selection_not_ok', 'long', 'bottom');
} }
} }
return packToGet;
};
/** /**
End Controller functions End Controller functions
**/ **/
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
$scope.isBought = function (league) { $scope.isBought = function (league) {
return league.device_status === 'unlock'; return league.device_status === 'unlock';
} };
$scope.getLink = function (league) { $scope.getLink = function (league) {
if (league.device_status === 'unlock') { if (league.device_status === 'unlock') {
...@@ -65,11 +65,11 @@ ...@@ -65,11 +65,11 @@
} }
return '-'; return '-';
} };
$scope.isSelected = function (league) { $scope.isSelected = function (league) {
return $scope.selected.indexOf(league) !== -1; return $scope.selected.indexOf(league) !== -1;
} };
$scope.select = function (league) { $scope.select = function (league) {
if (!$scope.isBought(league.id)) { if (!$scope.isBought(league.id)) {
...@@ -80,8 +80,9 @@ ...@@ -80,8 +80,9 @@
$scope.selected.push(league); $scope.selected.push(league);
$scope.predictionsNumber += league.predictions_number; $scope.predictionsNumber += league.predictions_number;
} }
$scope.price = self.findPrice($scope.selected.length);
} }
} };
$scope.getPredictionClass = function (prediction, value) { $scope.getPredictionClass = function (prediction, value) {
var percentages = [ var percentages = [
...@@ -94,16 +95,21 @@ ...@@ -94,16 +95,21 @@
} }
return ''; return '';
} };
$scope.buyContent = function () { $scope.buyContent = function () {
var selectedPack = ''; var selectedPack = '';
if ($scope.selected.length === 1) { if ($scope.selected.length === 1) {
selectedPack = 'tennis'; selectedPack = 'tennis';
} else if($scope.selected.length > 1) { } else if($scope.selected.length > 1 && $scope.selected.length <= 6) {
selectedPack = 'tennis-full-'+ $scope.selected.length; var packNumber = $scope.selected.length - 1;
selectedPack = 'tennis_full_'+ packNumber;
} }
if (selectedPack !== '') {
PurchaseService.buyContent(uuid, selectedPack, $scope.selected);
} }
};
$scope.getTick = function (prediction) { $scope.getTick = function (prediction) {
var percentages = [ var percentages = [
...@@ -127,7 +133,7 @@ ...@@ -127,7 +133,7 @@
} }
return null; return null;
} };
$scope.parseDate = function (date) { $scope.parseDate = function (date) {
var locale = window.navigator.language.split('-')[0]; var locale = window.navigator.language.split('-')[0];
...@@ -138,7 +144,7 @@ ...@@ -138,7 +144,7 @@
} else { } else {
return date[1] + '/' + date[2] + '/' + date[0].substr(-2); return date[1] + '/' + date[2] + '/' + date[0].substr(-2);
} }
} };
/** /**
End Scope functions End Scope functions
...@@ -155,10 +161,29 @@ ...@@ -155,10 +161,29 @@
var scores = []; var scores = [];
sets.forEach(function (set) { sets.forEach(function (set) {
scores.push(set.split('-')); scores.push(set.split('-'));
}) });
prediction.score = scores; prediction.score = scores;
} }
};
this.findPrice = function (length) {
var packToGet = '';
if (length === 1) {
packToGet = 'tennis';
} else if (length > 1 && length <= 6) {
packToGet = 'tennis_full_' + (length - 1);
}
if (packToGet !== '') {
var price = '';
products.forEach(function (el) {
if (el.productId === packToGet) {
price = el.price;
}
});
return price;
} }
};
/** /**
End Controller functions End Controller functions
...@@ -187,7 +212,7 @@ ...@@ -187,7 +212,7 @@
$ionicLoading.show({ $ionicLoading.show({
template: '<ion-spinner icon="ripple" class="spinner-assertive"></ion-spinner>', template: '<ion-spinner icon="ripple" class="spinner-assertive"></ion-spinner>',
animation: 'fade-in', animation: 'fade-in',
showBackdrop: true, showBackdrop: true
}); });
var freePredictionsPromise = $http.get(constantConfig.apiUrl + 'predictions/tennis/free'); var freePredictionsPromise = $http.get(constantConfig.apiUrl + 'predictions/tennis/free');
......
...@@ -38,8 +38,8 @@ ...@@ -38,8 +38,8 @@
</div> </div>
<div class="score-container" ng-hide="freePrediction.score === null"> <div class="score-container" ng-hide="freePrediction.score === null">
<div class="tick"></div> <div class="tick"></div>
<div ng-if="freePrediction.league.sport === 'football'" ng-include="'/partials/score/football.html'" class="score football-score"></div> <div ng-if="freePrediction.league.sport === 'football'" ng-include="'partials/score/football.html'" class="score football-score"></div>
<div ng-if="freePrediction.league.sport === 'tennis'" ng-include="'/partials/score/tennis.html'" class="score tennis-score"></div> <div ng-if="freePrediction.league.sport === 'tennis'" ng-include="'partials/score/tennis.html'" class="score tennis-score"></div>
<div class="tick"> <div class="tick">
<img src="img/{{getTick(freePrediction)}}.png" alt=""> <img src="img/{{getTick(freePrediction)}}.png" alt="">
</div> </div>
......
...@@ -25,6 +25,6 @@ ...@@ -25,6 +25,6 @@
</ion-list> </ion-list>
<div class="unlock" ng-class="{active : selected.length > 0}"> <div class="unlock" ng-class="{active : selected.length > 0}">
<a class="content" ng-click="buyContent()"> <a class="content" ng-click="buyContent()">
{{"unlock" | translate}} {{predictionsNumber}} {{"predictions" | translate}} <span>{{price / 100}}</span> {{"unlock" | translate}} {{predictionsNumber}} {{"predictions" | translate}} <span>{{price}}</span>
</div> </div>
</div> </div>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment