Browse Source

Don't wait for DOM

pull/2/head
Luke Childs 6 years ago
parent
commit
545f2bf10a
  1. 2
      website/index.html
  2. 57
      website/index.js
  3. 3
      website/package.json
  4. 5
      website/yarn.lock

2
website/index.html

@ -109,6 +109,6 @@
</div> </div>
</footer> </footer>
<script async src="./index.js"></script> <script src="./index.js"></script>
</body> </body>
</html> </html>

57
website/index.js

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

3
website/package.json

@ -17,7 +17,6 @@
"dependencies": { "dependencies": {
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
"modern-normalize": "^0.5.0", "modern-normalize": "^0.5.0",
"nouislider": "^12.1.0", "nouislider": "^12.1.0"
"when-dom-ready": "^1.2.12"
} }
} }

5
website/yarn.lock

@ -4943,11 +4943,6 @@ wcwidth@^1.0.1:
dependencies: dependencies:
defaults "^1.0.3" defaults "^1.0.3"
when-dom-ready@^1.2.12:
version "1.2.12"
resolved "https://registry.yarnpkg.com/when-dom-ready/-/when-dom-ready-1.2.12.tgz#99f46f02ef65dbb2bb2f4b58c44588234e724c98"
integrity sha1-mfRvAu9l27K7L0tYxEWII05yTJg=
whet.extend@~0.9.9: whet.extend@~0.9.9:
version "0.9.9" version "0.9.9"
resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"

Loading…
Cancel
Save