sportsbet-mobile
Version:
Sportsbet mobile
78 lines (70 loc) • 1.68 kB
text/typescript
interface Templates {
deposit: Template;
}
var qrValue;
var $qrContainer;
function showQrCode(){
if (!qrValue || !$qrContainer) {
return;
}
$qrContainer.html('');
$qrContainer.qrcode({
size: 200,
text: qrValue,
quiet: 1
});
}
Template.deposit.helpers({
address: function(){
var address = Banking.Bitcoin.Address.db.findOne({}, {sort: {time: -1}});
if (!address) {
Banking.Bitcoin.AddressClient.createFirst();
}
else {
qrValue = address.address;
showQrCode();
}
return address;
},
deposits: function(){
var method = Banking.Methods.BitcoinMethodClient.db.findOne();
var wallet = Banking.WalletClient.db.findOne({currency: 'BTC'});
if (!method || !wallet) {
return;
}
return Banking.Transaction.db.find({
wallet: wallet,
'reference.id': method._id,
referenceType: Banking.TransactionType.DEPOSIT
}, {sort: {createTime: -1}});
}
});
Template.deposit.events({
// 'touchstart .deposit-address': function() {
// $('.deposit-address').select();
// }
});
Template.deposit.rendered = function() {
$qrContainer = $('.qrCode');
showQrCode();
};
Template.deposit.created = function() {
this.subscribe('Banking.Method');
this.autorun(() => {
var method = Banking.Methods.BitcoinMethodClient.db.findOne();
var wallet = Banking.WalletClient.db.findOne({currency: 'BTC'});
if (!method || !wallet) {
return;
}
this._txSub = Meteor.subscribe('Banking/userTransactions', {
wallet: wallet._id,
'reference.id': method._id,
referenceType: Banking.TransactionType.DEPOSIT
}, {sort: {createTime: -1}});
});
};
Template.deposit.destroyed = function() {
if (this._txSub) {
this._txSub.stop();
}
};