diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..001aa19 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,120 @@ +{ + "parserOptions": { + "ecmaVersion": 6 + }, + "rules": { + "quotes": [ + 2, + "single", + { + "allowTemplateLiterals": true + } + ], + "curly": [ + 2, + "all" + ], + "keyword-spacing": [ + 2, + { + "overrides": { + "else": { + "before": true + }, + "catch": { + "before": true, + "after": false + } + } + } + ], + "space-before-blocks": [ + 2, + "always" + ], + "wrap-iife": [ + 2, + "inside" + ], + "space-before-function-paren": [ + 2, + "never" + ], + "one-var": [ + 2, + "never" + ], + "vars-on-top": 0, + "no-empty": [ + 2, + { + "allowEmptyCatch": true + } + ], + "array-bracket-spacing": [ + 2, + "never" + ], + "space-in-parens": [ + 2, + "never" + ], + "no-underscore-dangle": 0, + "comma-style": [ + 2, + "last" + ], + "comma-spacing": [ + 2, + { + "before": false, + "after": true + } + ], + "space-unary-ops": [ + 2, + { + "words": false, + "nonwords": false + } + ], + "no-multi-spaces": 2, + "space-infix-ops": 2, + "no-with": 2, + "indent": [ + 2, + "tab", + { + "SwitchCase": 1, + "FunctionExpression": { + "body": 1, + "parameters": 1 + }, + "MemberExpression": 0 + } + ], + "no-mixed-spaces-and-tabs": 2, + "no-trailing-spaces": 2, + "comma-dangle": [ + 2, + "never" + ], + "semi": [2, "always"], + "brace-style": [ + 2, + "1tbs", + { + "allowSingleLine": true + } + ], + "eol-last": 2, + "dot-notation": 0, + "no-multi-str": 2, + "key-spacing": [ + 2, + { + "afterColon": true + } + ] + } +} diff --git a/src/popup/pwgen.css b/src/popup/pwgen.css index 718675f..d520448 100644 --- a/src/popup/pwgen.css +++ b/src/popup/pwgen.css @@ -1,74 +1,74 @@ body { - margin: 15px; + margin: 15px; } div { - margin-top: 5px; + margin-top: 5px; } input[type="number"] { - -moz-appearance: none; - color: var(--in-content-text-color); - border: 1px solid var(--in-content-box-border-color); - -moz-border-top-colors: none !important; - -moz-border-right-colors: none !important; - -moz-border-bottom-colors: none !important; - -moz-border-left-colors: none !important; - border-radius: 2px; - background-color: var(--in-content-box-background); + -moz-appearance: none; + color: var(--in-content-text-color); + border: 1px solid var(--in-content-box-border-color); + -moz-border-top-colors: none !important; + -moz-border-right-colors: none !important; + -moz-border-bottom-colors: none !important; + -moz-border-left-colors: none !important; + border-radius: 2px; + background-color: var(--in-content-box-background); - font-family: inherit; - font-size: inherit; - padding: 5px 10px; + font-family: inherit; + font-size: inherit; + padding: 5px 10px; - width: 50px; + width: 50px; } #length-min { - margin-right: 10px; + margin-right: 10px; } input[type="checkbox"] { - margin-bottom: -7px; + margin-bottom: -7px; } #pw { - border: 2px black solid; - width: 250px; + border: 2px black solid; + width: 250px; } #copy { - margin-left: 0px; + margin-left: 0px; } #exclude { - width: 183px; + width: 183px; } .copied { - pointer-events: none; - height: 26px; - width: 100%; - background-color: #FFF8DC; - position: absolute; - padding-right: 0; - padding-left: 0; - padding-top: 5px; - padding-bottom: 5px; - text-align: center; - margin-right: -15px; - margin-left: -19px; - margin-top: -27px; + pointer-events: none; + height: 26px; + width: 100%; + background-color: #FFF8DC; + position: absolute; + padding-right: 0; + padding-left: 0; + padding-top: 5px; + padding-bottom: 5px; + text-align: center; + margin-right: -15px; + margin-left: -19px; + margin-top: -27px; } .fadein { - visibility: visible; - opacity: 1; - transition: opacity 1s linear; + visibility: visible; + opacity: 1; + transition: opacity 1s linear; } .fadeout { - visibility: hidden; - opacity: 0; - transition: visibility 0s 1s, opacity 1s linear; + visibility: hidden; + opacity: 0; + transition: visibility 0s 1s, opacity 1s linear; } diff --git a/src/popup/pwgen.html b/src/popup/pwgen.html index e4d1e7e..04e0e50 100644 --- a/src/popup/pwgen.html +++ b/src/popup/pwgen.html @@ -1,50 +1,50 @@ - - - - - + + + + + - - + + -
-
- -
+ +
+ +
-
- - - -
+
+ + + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- -
+
+ +
-
+
-
- - - -
+
+ + + +
-
- + + diff --git a/src/popup/pwgen.js b/src/popup/pwgen.js index f052fbf..df2aac7 100644 --- a/src/popup/pwgen.js +++ b/src/popup/pwgen.js @@ -1,114 +1,113 @@ function randPassword(length, includeSpecial, exclude) { - let pwdChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - if (includeSpecial) { - pwdChars += '!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~'; - } + let pwdChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + if (includeSpecial) { + pwdChars += '!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~'; + } - if (exclude) { - exclude.split('').forEach(c => { - pwdChars = pwdChars.split(c).join(''); - }); - } + if (exclude) { + exclude.split('').forEach(c => { + pwdChars = pwdChars.split(c).join(''); + }); + } - let randValues = new Uint32Array(length); - let randPwd = ''; - window.crypto.getRandomValues(randValues); - for(i=0; i { - clone.className += ' fadeout'; - }, 500); + setTimeout(() => { + clone.className += ' fadeout'; + }, 500); - setTimeout(() => { - clone.remove(); - }, 1600); + setTimeout(() => { + clone.remove(); + }, 1600); } document.addEventListener('DOMContentLoaded', function() { - document.getElementById('new').addEventListener('click', (ev) => { - ev.preventDefault(); - var params = getParams(); - document.getElementById('pw').value = randPassword(generateLength(), params.special, params.exclude); + document.getElementById('new').addEventListener('click', (ev) => { + ev.preventDefault(); + var params = getParams(); + document.getElementById('pw').value = randPassword(generateLength(), params.special, params.exclude); - if (params.directcopy) { - copypasstoclippboard(); - } - }); + if (params.directcopy) { + copypasstoclippboard(); + } + }); - document.getElementById('copy').addEventListener('click', (ev) => { - ev.preventDefault(); - copypasstoclippboard(); - }); + document.getElementById('copy').addEventListener('click', (ev) => { + ev.preventDefault(); + copypasstoclippboard(); + }); - var list = document.getElementsByTagName('input'); - for (var i = 0; i < list.length; i++) { - list[i].addEventListener('change', (ev) => { - saveOptions(getParams()); - }); - } + var list = document.getElementsByTagName('input'); + for (var i = 0; i < list.length; i++) { + list[i].addEventListener('change', (ev) => { + saveOptions(getParams()); + }); + } - loadOptions().then((options) => { - document.getElementById('length-min').value = options.lengthMin; - document.getElementById('length-max').value = options.lengthMax; - document.getElementById('special').checked = options.special; - document.getElementById('exclude').value = options.exclude; - document.getElementById('directcopy').checked = options.directcopy; - document.getElementById('pw').value = randPassword(generateLength(), getParams().special, getParams().exclude); + loadOptions().then((options) => { + document.getElementById('length-min').value = options.lengthMin; + document.getElementById('length-max').value = options.lengthMax; + document.getElementById('special').checked = options.special; + document.getElementById('exclude').value = options.exclude; + document.getElementById('directcopy').checked = options.directcopy; + document.getElementById('pw').value = randPassword(generateLength(), getParams().special, getParams().exclude); - if (options.directcopy) { - copypasstoclippboard(); - } - }); + if (options.directcopy) { + copypasstoclippboard(); + } + }); });