Compare commits
4 Commits
0e40f403e4
...
feature/ca
| Author | SHA1 | Date | |
|---|---|---|---|
| 1e0b4a0a1f | |||
| 17ffbc3db1 | |||
| 0c9e7ed183 | |||
| 4a7c03307d |
@@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
These are the public assets for the [wowtoken.app](https://wowtoken.app) website, served off Amazon S3 behind CloudFront.
|
These are the public assets for the [wowtoken.app](https://wowtoken.app) website, served off Amazon S3 behind CloudFront.
|
||||||
|
|
||||||
This project gets picked up by CodePipline, built via CodeBuild, and deployed.
|
This project gets picked up by CodePipeline, built via CodeBuild, and deployed.
|
||||||
|
|
||||||

|

|
||||||
@@ -70,7 +70,7 @@
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset id="y-start-options">
|
<fieldset id="y-start-options">
|
||||||
<label for="y-start">Start y-axis at 0:</label>
|
<label for="y-start">Start y-axis at 0:</label>
|
||||||
<input type="checkbox" id="y-start" name="y-start" value="enable" disabled/>
|
<input type="checkbox" id="y-start" name="y-start"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
57
src/index.js
57
src/index.js
@@ -28,6 +28,7 @@ Chart.register(
|
|||||||
let currentRegionSelection = '';
|
let currentRegionSelection = '';
|
||||||
let currentTimeSelection = '';
|
let currentTimeSelection = '';
|
||||||
let currentAggregateSelection = '';
|
let currentAggregateSelection = '';
|
||||||
|
let startYAtZero = false;
|
||||||
const currentPriceHash = {
|
const currentPriceHash = {
|
||||||
us: 0,
|
us: 0,
|
||||||
eu: 0,
|
eu: 0,
|
||||||
@@ -80,14 +81,24 @@ function populateChart() {
|
|||||||
scales: {
|
scales: {
|
||||||
x: {
|
x: {
|
||||||
type: 'time',
|
type: 'time',
|
||||||
|
grid: {
|
||||||
|
color: '#625f62',
|
||||||
|
},
|
||||||
ticks: {
|
ticks: {
|
||||||
color: '#a7a4ab',
|
color: '#a7a4ab',
|
||||||
font: {
|
font: {
|
||||||
size: 18,
|
size: 18,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
time: {
|
||||||
|
unit: lookupTimeUnit(currentTimeSelection)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
y: {
|
y: {
|
||||||
|
beginAtZero: startYAtZero,
|
||||||
|
grid: {
|
||||||
|
color: '#2f2c2f',
|
||||||
|
},
|
||||||
ticks: {
|
ticks: {
|
||||||
color: '#a7a4ab',
|
color: '#a7a4ab',
|
||||||
font: {
|
font: {
|
||||||
@@ -100,6 +111,17 @@ function populateChart() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function lookupTimeUnit(query){
|
||||||
|
const lookup = {
|
||||||
|
'h': 'day',
|
||||||
|
'd': 'week',
|
||||||
|
'm': 'month',
|
||||||
|
'y': 'month',
|
||||||
|
'l': 'year'
|
||||||
|
}
|
||||||
|
return lookup[query.charAt(query.length - 1)]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async function callUpdateURL() {
|
async function callUpdateURL() {
|
||||||
let resp = await fetch("https://data.wowtoken.app/token/current.json");
|
let resp = await fetch("https://data.wowtoken.app/token/current.json");
|
||||||
@@ -217,6 +239,14 @@ function toggleAdvancedSetting() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleStartYAtZero(){
|
||||||
|
startYAtZero = document.getElementById('y-start').checked;
|
||||||
|
if (tokenChart){
|
||||||
|
tokenChart.options.scales.y.beginAtZero = startYAtZero;
|
||||||
|
tokenChart.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function urlBuilder() {
|
function urlBuilder() {
|
||||||
let url = "https://data.wowtoken.app/token/history/";
|
let url = "https://data.wowtoken.app/token/history/";
|
||||||
if (currentAggregateSelection !== 'none') {
|
if (currentAggregateSelection !== 'none') {
|
||||||
@@ -258,7 +288,7 @@ function detectRegionQuery(urlSearchParams) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log("An incorrect or malformed region selection was made in the query string");
|
console.warn("An incorrect or malformed region selection was made in the query string");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,7 +306,7 @@ function detectTimeQuery(urlSearchParams) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log("An incorrect or malformed time selection was made in the query string");
|
console.warn("An incorrect or malformed time selection was made in the query string");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,10 +322,20 @@ function detectAggregateQuery(urlSearchParams) {
|
|||||||
}
|
}
|
||||||
aggregateFunctionToggle();
|
aggregateFunctionToggle();
|
||||||
} else {
|
} else {
|
||||||
console.log("An incorrect or malformed aggregate selection was made in the query string");
|
console.warn("An incorrect or malformed aggregate selection was made in the query string");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function detectZeroQuery(urlSearchParams) {
|
||||||
|
startYAtZero = urlSearchParams.get('startAtZero') === 'true';
|
||||||
|
let advOptions = document.getElementById('enable-advanced');
|
||||||
|
let startAtZeroOption = document.getElementById('y-start');
|
||||||
|
advOptions.checked = startYAtZero;
|
||||||
|
startAtZeroOption.checked = startYAtZero;
|
||||||
|
toggleAdvancedSetting();
|
||||||
|
toggleStartYAtZero();
|
||||||
|
}
|
||||||
|
|
||||||
function detectURLQuery() {
|
function detectURLQuery() {
|
||||||
const urlSearchParams = new URLSearchParams(window.location.search);
|
const urlSearchParams = new URLSearchParams(window.location.search);
|
||||||
if (urlSearchParams.has('region')) {
|
if (urlSearchParams.has('region')) {
|
||||||
@@ -307,6 +347,9 @@ function detectURLQuery() {
|
|||||||
if (urlSearchParams.has('aggregate')) {
|
if (urlSearchParams.has('aggregate')) {
|
||||||
detectAggregateQuery(urlSearchParams);
|
detectAggregateQuery(urlSearchParams);
|
||||||
}
|
}
|
||||||
|
if (urlSearchParams.has('startAtZero')) {
|
||||||
|
detectZeroQuery(urlSearchParams)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildDeepLinksURL() {
|
function buildDeepLinksURL() {
|
||||||
@@ -318,7 +361,10 @@ function buildDeepLinksURL() {
|
|||||||
url += `region=${currentRegionSelection}&`
|
url += `region=${currentRegionSelection}&`
|
||||||
}
|
}
|
||||||
if (currentAggregateSelection !== '' && currentAggregateSelection !== 'none'){
|
if (currentAggregateSelection !== '' && currentAggregateSelection !== 'none'){
|
||||||
url += `aggregate=${currentAggregateSelection}`
|
url += `aggregate=${currentAggregateSelection}&`
|
||||||
|
}
|
||||||
|
if (startYAtZero !== false){
|
||||||
|
url += `startAtZero=${startYAtZero}&`
|
||||||
}
|
}
|
||||||
return url
|
return url
|
||||||
}
|
}
|
||||||
@@ -350,6 +396,9 @@ function registerAdvancedHandlers() {
|
|||||||
document.getElementById('enable-advanced').addEventListener('change', () => {
|
document.getElementById('enable-advanced').addEventListener('change', () => {
|
||||||
toggleAdvancedSetting();
|
toggleAdvancedSetting();
|
||||||
})
|
})
|
||||||
|
document.getElementById('y-start').addEventListener('change', () => {
|
||||||
|
toggleStartYAtZero();
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function registerCopyHandlers() {
|
function registerCopyHandlers() {
|
||||||
|
|||||||
Reference in New Issue
Block a user