From d2b79856c61391e56009cdf313e332ee950b9081 Mon Sep 17 00:00:00 2001 From: Ole Bertram Date: Thu, 28 Jun 2018 02:59:57 +0200 Subject: Add theme import feature --- src/components/style_switcher/style_switcher.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/components/style_switcher/style_switcher.js') diff --git a/src/components/style_switcher/style_switcher.js b/src/components/style_switcher/style_switcher.js index d5881a31..7ab56ea2 100644 --- a/src/components/style_switcher/style_switcher.js +++ b/src/components/style_switcher/style_switcher.js @@ -52,6 +52,28 @@ export default { document.body.removeChild(e) }, + importTheme () { + const filePicker = document.createElement('input') + filePicker.setAttribute('type', 'file') + filePicker.setAttribute('accept', '.json') + + filePicker.addEventListener('change', event => { + if (event.target.files[0]) { + // eslint-disable-next-line no-undef + const reader = new FileReader() + reader.onload = ({target}) => { + const parsed = JSON.parse(target.result) + this.normalizeLocalState(parsed.colors, parsed.radii) + } + reader.readAsText(event.target.files[0]) + } + }) + + document.body.appendChild(filePicker) + filePicker.click() + document.body.removeChild(filePicker) + }, + setCustomTheme () { if (!this.bgColorLocal && !this.btnColorLocal && !this.linkColorLocal) { // reset to picked themes -- cgit v1.2.3-70-g09d2