+
Available
@@ -737,7 +739,7 @@
return new Promise((resolve, reject) => {
buttons[0].onclick = () => {
hidePopup()
- reject(null);
+ return (null);
}
buttons[1].onclick = () => {
const value = getRef('prompt_input').value;
@@ -769,21 +771,13 @@
}
}
- function getFormattedTime(time, relative) {
+ function getFormattedTime(timeString, relative) {
try {
- if (String(time).indexOf('_'))
- time = String(time).split('_')[0]
- const intTime = parseInt(time)
- if (String(intTime).length < 13)
- time *= 1000
- let timeFrag = new Date(intTime).toString().split(' '),
- day = timeFrag[0],
- month = timeFrag[1],
- date = timeFrag[2],
- year = timeFrag[3],
- minutes = new Date(intTime).getMinutes(),
- hours = new Date(intTime).getHours(),
- currentTime = new Date().toString().split(' ')
+ const [date, time] = timeString.split('T')
+ const [year, month, day] = date.split('-').map(v => parseInt(v))
+ let [hours, minutes] = time.split(':').map(v => parseInt(v))
+ const currentTime = new Date()
+ const currentTimeFrag = currentTime.toString().split(' ')
minutes = minutes < 10 ? `0${minutes}` : minutes
let finalHours = ``;
@@ -797,25 +791,25 @@
finalHours = hours >= 12 ? `${finalHours} PM` : `${finalHours} AM`
if (relative) {
if (year == currentYear) {
- if (currentTime[1] === month) {
- const dateDiff = (parseInt(currentTime[2]) - parseInt(date))
+ if ((currentTime.getMonth() + 1) === month) {
+ const dateDiff = (parseInt(currentTimeFrag[2]) - parseInt(day))
if (dateDiff === 0)
return `${finalHours}`;
else if (dateDiff === 1)
return `Yesterday`;
else if (dateDiff > 1 && dateDiff < 8)
- return currentTime[0];
+ return currentTimeFrag[0];
else
- return ` ${date} ${month}`;
+ return ` ${day} ${month}`;
}
else
- return ` ${date} ${month}`;
+ return ` ${day} ${month}`;
}
else
return `${month} ${year}`;
}
else
- return `${finalHours}, ${month} ${date} ${year}`;
+ return `${finalHours}, ${month} ${day} ${year}`;
} catch (e) {
console.error(e);
return time;
@@ -1064,6 +1058,7 @@
}
getRef('trade_button_wrapper').append(getRef('success_template').content.cloneNode(true))
notify(`Placed ${tradeType} order`, 'success')
+ refresh()
}
catch (err) {
getRef('trade_button_wrapper').append(getRef('failure_template').content.cloneNode(true))
@@ -1086,18 +1081,19 @@
if (e.target.closest('button')) {
const target = e.target.closest('button')
const unitValue = parseFloat(getRef('get_price').value)
- const fraction = parseInt(target.value) / 100
+ const fraction = parseInt(target.value)
if (tradeType === 'buy') {
getRef('get_total').value = parseFloat((fraction * balance.rupee).toFixed(2))
- getRef('get_quantity').value = parseFloat(((balance.rupee * fraction) / unitValue).toFixed(5))
+ getRef('get_quantity').value = parseFloat(((balance.rupee * fraction) / unitValue).toFixed(4))
} else {
- getRef('get_total').value = parseFloat(((fraction * balance.flo) * rate.flo).toFixed(2))
- getRef('get_quantity').value = parseFloat((balance.flo * fraction).toFixed(5))
+ console.log(fraction, balance.flo, floExchangeRate)
+ getRef('get_total').value = parseFloat((fraction * balance.flo * floExchangeRate).toFixed(2))
+ getRef('get_quantity').value = parseFloat((balance.flo * fraction).toFixed(4))
}
}
})
getRef('get_price').addEventListener('keyup', e => {
- const unitValue = parseFloat(getRef('get_price').value) || rate.flo
+ const unitValue = parseFloat(getRef('get_price').value) || floExchangeRate
const quantity = parseFloat(getRef('get_quantity').value) || 0
getRef('get_total').value = parseFloat((quantity * unitValue).toFixed(2)) || 0
})
@@ -1107,7 +1103,7 @@
})
getRef('get_total').addEventListener('keyup', e => {
const unitValue = parseFloat(getRef('get_price').value)
- getRef('get_quantity').value = parseFloat((parseFloat(e.target.value) / unitValue).toFixed(5)) || 0
+ getRef('get_quantity').value = parseFloat((parseFloat(e.target.value) / unitValue).toFixed(4)) || 0
})
getRef('wallet_actions').addEventListener('click', e => {
if (e.target.closest('.button')) {
@@ -1189,9 +1185,9 @@
showWalletResult('success', `Sent ${asset} deposit request`, 'This may take upto 30 mins to reflect in your wallet.')
} else {
if (asset === 'FLO') {
- await withdrawFLO(quantity, await proxy.secret)
+ await withdrawFLO(quantity, proxy.secret)
} else {
- await withdrawRupee(quantity, await proxy.secret)
+ await withdrawRupee(quantity, proxy.secret)
}
showWalletResult('success', `Sent ${asset} withdraw request`, 'This may take upto 30 mins to reflect in your wallet.')
}
@@ -1204,7 +1200,6 @@
}
})
- const selectedOrders = new Map()
const slideInLeft = [
{
opacity: 0,
@@ -1265,6 +1260,8 @@
transform: 'translateY(-1rem)'
},
]
+
+ const selectedOrders = new Map()
getRef('orders_list').addEventListener('change', e => {
const animOptions = {
duration: 150,
@@ -1363,6 +1360,7 @@
target.remove()
}, 200);
}
+ refresh()
})
.catch(err => notify(err.data, 'error'))
}
@@ -1377,7 +1375,7 @@
try {
let proxy_secret = await proxy.secret;
await Promise.all(
- selectedOrders.map((type, id) => cancelOrder(type, id, proxy_secret))
+ [...selectedOrders].map((id, type) => cancelOrder(type, id, proxy_secret))
)
selectedOrders.forEach((type, id) => {
getRef('orders_list').querySelector(`[data-id="${id}"]`).remove()
@@ -1393,12 +1391,12 @@
}
function renderUserOrders() {
- const { buyOrders, sellOrders, transactions } = accountDetails
+ let { buyOrders, sellOrders, transactions } = accountDetails
getRef('orders_list').innerHTML = '';
const frag = document.createDocumentFragment()
const ordersType = getRef('my_orders_category_selector').value
if (ordersType === 'open') {
- const allOpenOrders = [...(buyOrders || myBuyOrders), ...(sellOrders || mySellOrders)].sort((a, b) => b.time_placed - a.time_placed)
+ const allOpenOrders = [...buyOrders, ...sellOrders].sort((a, b) => new Date(b.time_placed).getTime() - new Date(a.time_placed).getTime())
allOpenOrders.forEach(order => {
const { id, quantity, minPrice = undefined, maxPrice = undefined, time_placed } = order
const orderDetails = {
@@ -1446,7 +1444,7 @@
if (ordersType === 'open') {
try {
const [buyOrders, sellOrders] = await Promise.all([getBuyList(), getSellList()])
- const allOpenOrders = [...(buyOrders), ...(sellOrders)].sort((a, b) => b.time_placed - a.time_placed)
+ const allOpenOrders = [...(buyOrders), ...(sellOrders)].sort((a, b) => new Date(b.time_placed).getTime() - new Date(a.time_placed).getTime())
allOpenOrders.forEach(order => {
const { floID, quantity, minPrice = undefined, maxPrice = undefined, time_placed } = order
const orderDetails = {
@@ -1565,7 +1563,6 @@
Reject("Unable to fetch Proxy secret");
}
};
-
let tmp = localStorage.getItem("proxy_secret");
if (typeof tmp !== "string")
Reject("Unable to fetch Proxy secret");
@@ -1580,6 +1577,7 @@
setValues(tmp);
} catch (error) {
Reject("Incorrect Password! Password Required for making transactions");
+
}
}).catch(_ => Reject("Password Required for making transactions"));
} else
@@ -1588,9 +1586,10 @@
}
}
+ let floExchangeRate = 0
function updateRate() {
getRate().then(rate => {
- rate.flo = rate
+ floExchangeRate = parseFloat(rate)
getRef('flo_rate').textContent = formatAmount(parseFloat(rate))
getRef('get_price').value = parseFloat(parseFloat(rate).toFixed(2))
}).catch(error => console.error(error))
@@ -1606,23 +1605,22 @@
account();
}
- function showBalance(containerId, availableBalance = 0, lockedBalance = 0) {
- getRef(containerId).innerHTML = ''
+ function showBalance(type, availableBalance = 0, lockedBalance = 0) {
+ getRef(`${type}_balance`).innerHTML = ''
const templateToClone = lockedBalance ? 'locked_balance_template' : 'net_balance_template';
const card = getRef(templateToClone).content.cloneNode(true)
- card.querySelector('.available-balance').textContent = availableBalance
+ card.querySelector('.available-balance').textContent = type === 'flo' ? parseFloat(availableBalance.toFixed(4)) : formatAmount(availableBalance)
if (lockedBalance) {
- card.querySelector('.locked-balance').textContent = lockedBalance
+ card.querySelector('.locked-balance').textContent = type === 'flo' ? parseFloat(lockedBalance.toFixed(4)) : formatAmount(lockedBalance)
}
- getRef(containerId).className = lockedBalance ? 'grid balance-card__amount-wrapper' : ''
- getRef(containerId).parentNode.className = `balance-card ${lockedBalance ? 'is-locked' : ''}`
- getRef(containerId).append(card)
+ getRef(`${type}_balance`).className = lockedBalance ? 'grid balance-card__amount-wrapper' : ''
+ getRef(`${type}_balance`).parentNode.className = `balance-card ${lockedBalance ? 'is-locked' : ''}`
+ getRef(`${type}_balance`).append(card)
}
const balance = {}
let accountDetails = {}
-
function account() {
getAccount().then(acc => {
getRef("login_form").classList.add('hide-completely')
@@ -1641,14 +1639,14 @@
console.debug("FLO", flo_total, flo_locked, flo_net);
balance.flo = flo_net
- showBalance("flo_balance", flo_net, flo_locked)
+ showBalance("flo", flo_net, flo_locked,)
//Rupee Balance
let rupee_total = acc.rupee_total;
let rupee_locked = acc.buyOrders.reduce((a, x) => a + x.quantity * x.maxPrice, 0);
let rupee_net = rupee_total - rupee_locked;
console.debug("RUPEE", rupee_total, rupee_locked, rupee_net);
balance.rupee = rupee_net
- showBalance("rupee_balance", rupee_net, rupee_locked)
+ showBalance("rupee", rupee_net, rupee_locked)
//My orders
renderUserOrders();
proxy.secret.then(_ => null).catch(_ => null);
@@ -1684,10 +1682,7 @@
},
logout() {
- getConfirmation('Log out?', {
- cancelText: 'Stay',
- confirmText: 'Log out'
- }).then(res => {
+ getConfirmation('Log out?', { cancelText: 'Stay', confirmText: 'Log out' }).then(res => {
if (res) {
logout().then(result => {
console.warn(result);