diff --git a/package-lock.json b/package-lock.json index 6ada54b0..7ca70951 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nighttab", - "version": "4.26.0", + "version": "4.27.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2408e139..d934335e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nighttab", - "version": "4.26.0", + "version": "4.27.0", "description": "A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.", "main": "index.js", "scripts": { diff --git a/src/js/theme.js b/src/js/theme.js index ca720339..f4d5763e 100644 --- a/src/js/theme.js +++ b/src/js/theme.js @@ -1705,22 +1705,40 @@ var theme = (function() { options = helper.applyOptions(options, override); }; var form = helper.node("form|class:group-form"); - var fieldset = helper.node("fieldset"); - var inputWrap = helper.node("div|class:form-wrap"); - var label = helper.node("label:Name|for:theme-name"); - var input = helper.node("input|id:theme-name,class:theme-name mb-0,type:text,tabindex:1,placeholder:Example theme,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false"); - inputWrap.appendChild(label); - inputWrap.appendChild(input); - fieldset.appendChild(inputWrap); - form.appendChild(fieldset); + + var nameFieldset = helper.node("fieldset"); + var nameFormWrap = helper.node("div|class:form-wrap"); + var nameLabel = helper.node("label:Name|for:theme-name"); + var nameInput = helper.node("input|id:theme-name,class:theme-name mb-0,type:text,tabindex:1,placeholder:Example theme,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false"); + + var randomFormWrap = helper.node("div|class:form-wrap"); + var randomButton = helper.node("button:Random Theme name|class:button,type:button,tabindex:1"); + + randomFormWrap.appendChild(randomButton); + + nameFormWrap.appendChild(nameLabel); + nameFormWrap.appendChild(nameInput); + nameFieldset.appendChild(nameFormWrap); + nameFieldset.appendChild(randomFormWrap); + + form.appendChild(nameFieldset); if (options.useStagedTheme) { - input.value = stagedThemeCustom.theme.name; + nameInput.value = stagedThemeCustom.theme.name; }; - input.addEventListener("input", function() { + nameInput.addEventListener("input", function() { stagedThemeCustom.theme.name = this.value; }, false); + + randomButton.addEventListener("click", function(event) { + var randomName = helper.randomString({ + mix: true + }); + stagedThemeCustom.theme.name = randomName; + nameInput.value = randomName; + }, false); + form.addEventListener("keydown", function(event) { if (event.keyCode == 13) { event.preventDefault(); diff --git a/src/js/version.js b/src/js/version.js index 7fb81bfc..0c22e451 100644 --- a/src/js/version.js +++ b/src/js/version.js @@ -1,6 +1,6 @@ var version = (function() { - var current = "4.26.0"; + var current = "4.27.0"; var name = "Naughty Goose"; diff --git a/src/manifest.json b/src/manifest.json index 865cf39e..223d7c18 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,7 +2,7 @@ "name": "nightTab", "short_name": "nightTab", "description": "A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.", - "version": "4.26.0", + "version": "4.27.0", "manifest_version": 2, "chrome_url_overrides": { "newtab": "index.html"