Commit 4e090275 authored by Eriksson Monteiro's avatar Eriksson Monteiro

update millix bar message to show total ad received in the last 24h

parent eee84579
......@@ -37,6 +37,7 @@ cr.define('millix_bar', function () {
let reloadTimeout = undefined;
let fetchAdvertisementTimeout = undefined;
let transactionTimestampUpdateTimeout = undefined;
let totalAdvertisementPaymentTimeout = undefined;
const ADVERTISEMENT_ROTATION_TIME = 30000;
const ADVERTISEMENT_ROTATION_TIME_EMPTY = 5000;
let walletLocked = true;
......@@ -46,6 +47,7 @@ cr.define('millix_bar', function () {
let advertisementRenderingTimestampStart = undefined;
let advertisementRenderingTimestampPaused = undefined;
let advertisementPaymentTimestampLast = undefined;
let advertisementPaymentTotal = undefined;
let sessionStart = undefined;
let isDarkTheme = false;
......@@ -127,9 +129,9 @@ cr.define('millix_bar', function () {
$headline.text('searching for ads...');
if (aMinuteAgo > sessionStart && (!!advertisementPaymentTimestampLast && twoMinutesAgo > advertisementPaymentTimestampLast)) {
$targetPhrase.text(`your last ad payment was received ${moment(new Date(advertisementPaymentTimestampLast)).fromNow()}`);
$targetPhrase.text(`your last ad payment was received ${moment(new Date(advertisementPaymentTimestampLast)).fromNow()}` + (advertisementPaymentTotal ? `, you have earned ${advertisementPaymentTotal} in the past 24 hours.` : ''));
} else {
$targetPhrase.text('');
$targetPhrase.text(advertisementPaymentTotal ? `you have earned ${advertisementPaymentTotal} in the past 24 hours.` : '');
}
}
......@@ -239,6 +241,18 @@ cr.define('millix_bar', function () {
transactionTimestampUpdateTimeout = setTimeout(() => updateLastTransactionTimestamp(), 10000);
}
function updateTotalAdvertisementPayment(scheduleOnly) {
clearTimeout(totalAdvertisementPaymentTimeout);
if (!scheduleOnly) {
millixAPIFrame.contentWindow.postMessage({
type: 'get_total_advertisement_payment'
}, CHILD_FRAME_ID);
}
totalAdvertisementPaymentTimeout = setTimeout(() => updateTotalAdvertisementPayment(), 60000);
}
function activateWallet() {
if (!walletLocked) {
return;
......@@ -246,8 +260,10 @@ cr.define('millix_bar', function () {
sessionStart = Date.now();
advertisementPaymentTimestampLast = Date.now();
advertisementPaymentTotal = null;
updateLastTransactionTimestamp();
updateTotalAdvertisementPayment();
$('#wallet_unlock').addClass('hidden');
......@@ -419,6 +435,11 @@ cr.define('millix_bar', function () {
updateLastTransactionTimestamp(true);
}
function onTotalAdvertisementPaymentUpdate(data) {
advertisementPaymentTotal = data.total;
updateTotalAdvertisementPayment(true);
}
function changeVolume(data) {
let volume;
if (data) {
......@@ -496,6 +517,7 @@ cr.define('millix_bar', function () {
onApiFrameReady,
onLastTransactionUpdate,
onLastTransactionTimestampUpdate,
onTotalAdvertisementPaymentUpdate,
refreshThemeStyles,
expandView,
onTransaction,
......@@ -513,6 +535,9 @@ window.addEventListener('message', ({ data }) => {
case 'last_transaction_timestamp':
millix_bar.onLastTransactionTimestampUpdate(data.data);
break;
case 'total_advertisment_payment':
millix_bar.onTotalAdvertisementPaymentUpdate(data.data);
break;
case 'new_transaction':
millix_bar.onTransaction(data.data);
break;
......
......@@ -176,13 +176,24 @@ class _API {
getLastTransactionTimestamp() {
try {
return fetch(this.getTangledURL() + `/AQ82j88MiEyoe3zi`)
return fetch(this.getTangledURL() + `/AQ82j88MiEyoe3zi`)
.then(response => response.json());
}
catch (e) {
return Promise.reject(e);
}
}
getTotalAdvertismentPayment() {
try {
return fetch(this.getTangledURL() + `/JXPRrbJlwOMnDzjr`)
.then(response => response.json());
}
catch (e) {
return Promise.reject(e);
}
}
}
const API = new _API();
......@@ -259,7 +270,12 @@ window.addEventListener('message', ({ data }) => {
break;
case 'get_last_transaction_timestamp':
API.getLastTransactionTimestamp()
.then(data => window.parent.postMessage({ type: 'last_transaction_timestamp', data }, _API.PARENT_FRAME_ID))
.then(data => window.parent.postMessage({ type: 'last_transaction_timestamp', data }, _API.PARENT_FRAME_ID));
break;
case 'get_total_advertisement_payment':
API.getTotalAdvertismentPayment()
.then(data => window.parent.postMessage({ type: 'total_advertisment_payment', data }, _API.PARENT_FRAME_ID));
break;
case 'read_stat_start':
if (!readStatHandlerID) {
readStat();
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment