From 9f536ef0744d75e6c047508877a1185f97910f02 Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Thu, 30 Jun 2022 19:01:39 +0200 Subject: [PATCH] refactor --- .../admin/communication/preview.js | 26 +++++++------------ app/views/admin/application/_preview.html.erb | 6 ++--- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/admin/communication/preview.js b/app/assets/javascripts/admin/communication/preview.js index 8ae8491eb..5a2d11e0d 100644 --- a/app/assets/javascripts/admin/communication/preview.js +++ b/app/assets/javascripts/admin/communication/preview.js @@ -1,17 +1,11 @@ $(function() { - $('.preview__button__mobile').on('click', function(){ - $('.preview__button').removeClass('btn-primary').addClass('btn-light'); - $('.preview__button__mobile').removeClass('btn-light').addClass('btn-primary'); - $('#preview').removeClass('preview--desktop').removeClass('preview--tablet').addClass('preview--mobile'); - }); - $('.preview__button__tablet').on('click', function(){ - $('.preview__button').removeClass('btn-primary').addClass('btn-light'); - $('.preview__button__tablet').removeClass('btn-light').addClass('btn-primary'); - $('#preview').removeClass('preview--mobile').removeClass('preview--desktop').addClass('preview--tablet'); - }); - $('.preview__button__desktop').on('click', function(){ - $('.preview__button').removeClass('btn-primary').addClass('btn-light'); - $('.preview__button__desktop').removeClass('btn-light').addClass('btn-primary'); - $('#preview').removeClass('preview--mobile').removeClass('preview--tablet').addClass('preview--desktop'); - }); - }); \ No newline at end of file + 'use strict'; + var modes = ['mobile', 'tablet', 'desktop'], + mode = ''; + $('.preview__button').on('click', function(){ + mode = $(this).data('mode'); + $('.preview__button').removeClass('btn-primary').addClass('btn-light'); + $(this).removeClass('btn-light').addClass('btn-primary'); + $('#preview').removeClass('preview--desktop').removeClass('preview--tablet').removeClass('preview--mobile').addClass('preview--' + mode); + }); +}); \ No newline at end of file diff --git a/app/views/admin/application/_preview.html.erb b/app/views/admin/application/_preview.html.erb index 2df997249..4a90bc7fe 100644 --- a/app/views/admin/application/_preview.html.erb +++ b/app/views/admin/application/_preview.html.erb @@ -4,15 +4,15 @@ <div class="modal-header"> <h5 class="modal-title h4"><%= t 'preview.title' %></h5> <div class="btn-group m-auto" role="group" aria-label="Basic example"> - <button type="button" class="btn btn-primary preview__button preview__button__mobile"> + <button type="button" class="btn btn-primary preview__button" data-mode="mobile"> <i class="fas fa-mobile"></i> <%= t 'preview.mobile' %> </button> - <button type="button" class="btn btn-light preview__button preview__button__tablet"> + <button type="button" class="btn btn-light preview__button" data-mode="tablet"> <i class="fas fa-tablet"></i> <%= t 'preview.tablet' %> </button> - <button type="button" class="btn btn-light preview__button preview__button__desktop"> + <button type="button" class="btn btn-light preview__button" data-mode="desktop"> <i class="fas fa-desktop"></i> <%= t 'preview.desktop' %> </button> -- GitLab