diff --git a/package.json b/package.json index abeae7daf6..65ec9a9fcb 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "connect-multiparty": "^2.0.0", "connect-redis": "~3.1.0", "cookie-parser": "^1.3.3", - "cookieconsent": "^3.0.1", "cron": "^1.0.5", "csurf": "^1.6.1", "daemon": "~1.1.0", @@ -63,8 +62,8 @@ "nodebb-plugin-spam-be-gone": "0.4.10", "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "3.0.15", - "nodebb-theme-persona": "4.1.85", - "nodebb-theme-vanilla": "5.1.55", + "nodebb-theme-persona": "4.1.86", + "nodebb-theme-vanilla": "5.1.56", "nodebb-widget-essentials": "2.0.13", "nodemailer": "2.6.4", "nodemailer-sendmail-transport": "1.0.0", diff --git a/public/src/app.js b/public/src/app.js index abe9e0d334..665a705649 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -627,31 +627,21 @@ app.cacheBuster = null; } else if (window.location.pathname.startsWith(config.relative_path + '/admin')) { // No need to show cookie consent warning in ACP return; + } else if (window.localStorage.getItem('cookieconsent') === '1') { + return; } - var consentConfig = { - "palette": { - "popup": { - "background": config.cookies.palette.background, - "text": config.cookies.palette.text - }, - "button": { - "background": config.cookies.palette.button, - "text": config.cookies.palette.buttonText - } - }, - "theme": config.cookies.style, - "position": config.cookies.position, - "content": { - "dismiss": config.cookies.dismiss, - "link": config.cookies.link - } - }; + templates.parse('partials/cookie-consent', config.cookies, function(html) { + $(document.body).append(html); - if (config.cookies.message) { - consentConfig.content.message = config.cookies.message; - } - - window.cookieconsent.initialise(consentConfig); + var warningEl = $('.cookie-consent'); + var dismissEl = warningEl.find('button'); + dismissEl.on('click', function() { + // Save consent cookie and remove warning element + var now = new Date(); + window.localStorage.setItem('cookieconsent', '1'); + warningEl.remove(); + }); + }); }; }()); diff --git a/src/controllers/api.js b/src/controllers/api.js index d904f7f331..cd877aea7d 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -65,17 +65,9 @@ apiController.getConfig = function (req, res, next) { config.cookies = { enabled: parseInt(meta.config.cookieConsentEnabled, 10) === 1, - position: meta.config.cookieConsentPosition || 'bottom', - style: meta.config.cookieConsentStyle || 'edgeless', message: meta.config.cookieConsentMessage || '[[global:cookies.message]]', dismiss: meta.config.cookieConsentDismiss || '[[global:cookies.accept]]', - link: meta.config.cookieConsentLink || '[[global:cookies.learn_more]]', - palette: { - background: meta.config.cookieConsentPaletteBackground || '#edeff5', - text: meta.config.cookieConsentPaletteText || '#838391', - button: meta.config.cookieConsentPaletteButton || '#59b3d0', - buttonText: meta.config.cookieConsentPaletteButtonText || '#ffffff', - } + link: meta.config.cookieConsentLink || '[[global:cookies.learn_more]]' }; async.waterfall([ diff --git a/src/meta/css.js b/src/meta/css.js index 24f932f90e..d33245f5bb 100644 --- a/src/meta/css.js +++ b/src/meta/css.js @@ -68,7 +68,6 @@ module.exports = function (Meta) { source += '\n@import (inline) "..' + path.sep + '..' + path.sep + 'public/vendor/jquery/css/smoothness/jquery-ui.css";'; source += '\n@import (inline) "..' + path.sep + '..' + path.sep + 'public/vendor/jquery/bootstrap-tagsinput/bootstrap-tagsinput.css";'; - source += '\n@import (inline) "..' + path.sep + '..' + path.sep + 'node_modules/cookieconsent/build/cookieconsent.min.css";'; source += '\n@import (inline) "..' + path.sep + 'public/vendor/colorpicker/colorpicker.css";'; source += '\n@import "..' + path.sep + '..' + path.sep + 'public/less/flags.less";'; source += '\n@import "..' + path.sep + '..' + path.sep + 'public/less/blacklist.less";'; diff --git a/src/meta/js.js b/src/meta/js.js index f836d2e5f3..cfb588125d 100644 --- a/src/meta/js.js +++ b/src/meta/js.js @@ -38,8 +38,7 @@ module.exports = function (Meta) { 'public/src/ajaxify.js', 'public/src/overrides.js', 'public/src/widgets.js', - "./node_modules/promise-polyfill/promise.js", - "./node_modules/cookieconsent/build/cookieconsent.min.js" + "./node_modules/promise-polyfill/promise.js" ], // files listed below are only available client-side, or are bundled in to reduce # of network requests on cold load diff --git a/src/views/admin/settings/cookies.tpl b/src/views/admin/settings/cookies.tpl index de0e17970a..8717d63729 100644 --- a/src/views/admin/settings/cookies.tpl +++ b/src/views/admin/settings/cookies.tpl @@ -37,49 +37,6 @@ -
-
Display
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
-
-
Settings