Browse Source

Keep XO happy

pull/1/head
Luke Childs 6 years ago
parent
commit
ec961b0067
  1. 67
      website/index.js

67
website/index.js

@ -1,52 +1,53 @@
/* eslint-env browser */
import 'babel-polyfill'; import 'babel-polyfill';
import whenDomReady from 'when-dom-ready'; import whenDomReady from 'when-dom-ready';
import dogeSeed from '../';
import noUiSlider from 'nouislider'; import noUiSlider from 'nouislider';
import {version} from '../package.json'; import dogeSeed from '..';
import {version} from '../package';
const bitsToWords = { const bitsToWords = {
128: 12, 128: 12,
160: 15, 160: 15,
192: 18, 192: 18,
224: 21, 224: 21,
256: 24 256: 24
}; };
const main = async () => { const main = async () => {
await whenDomReady(); await whenDomReady();
document.querySelector('.version').innerText = `v${version}`; document.querySelector('.version').innerText = `v${version}`;
const seedText = document.querySelector('.seed-text'); const seedText = document.querySelector('.seed-text');
const regenerateSeedButton = document.querySelector('.regenerate-seed'); const regenerateSeedButton = document.querySelector('.regenerate-seed');
const bitSlider = noUiSlider.create(document.querySelector('.bit-slider'), { const bitSlider = noUiSlider.create(document.querySelector('.bit-slider'), {
range: {min: 128, max: 256}, range: {min: 128, max: 256},
step: 32, step: 32,
start: 256, start: 256,
pips: { pips: {
mode: 'steps', mode: 'steps',
density: 1, density: 1,
format: {to: bits => bitsToWords[bits]}, format: {to: bits => bitsToWords[bits]},
filter: (value, step) => step === 0 ? -1 : 1 filter: (value, step) => step === 0 ? -1 : 1
} }
}); });
const generateSeed = () => { const generateSeed = () => {
const bits = Number(bitSlider.get()); const bits = Number(bitSlider.get());
const seedPhraseWords = dogeSeed(bits).split(' '); const seedPhraseWords = dogeSeed(bits).split(' ');
const wrappedSeedPhrase = seedPhraseWords.map(word => `<span>${word}</span>`).join(' '); const wrappedSeedPhrase = seedPhraseWords.map(word => `<span>${word}</span>`).join(' ');
const wordCount = seedPhraseWords.length; const wordCount = seedPhraseWords.length;
seedText.dataset.wordCount = wordCount; seedText.dataset.wordCount = wordCount;
seedText.innerHTML = wrappedSeedPhrase; seedText.innerHTML = wrappedSeedPhrase;
}; };
regenerateSeedButton.addEventListener('click', generateSeed); regenerateSeedButton.addEventListener('click', generateSeed);
bitSlider.on('update', generateSeed); bitSlider.on('update', generateSeed);
generateSeed(); generateSeed();
}; };
main(); main();

Loading…
Cancel
Save