diff --git a/public/scss/admin/admin.scss b/public/scss/admin/admin.scss index fd9986c6c7..ef6d94a86a 100644 --- a/public/scss/admin/admin.scss +++ b/public/scss/admin/admin.scss @@ -10,10 +10,9 @@ @import "./manage/tags"; @import "./manage/groups"; @import "./appearance/customise"; -// @import "./appearance/themes"; -// @import "./extend/plugins"; -// @import "./extend/rewards"; -// @import "./extend/widgets"; +@import "./extend/plugins"; +@import "./extend/rewards"; +@import "./extend/widgets"; // @import "./advanced/database"; // @import "./advanced/events"; // @import "./advanced/logs"; @@ -118,7 +117,7 @@ body { box-shadow: 0px 1px 3px 0px rgba(165, 165, 165, 0.75); margin-bottom: 20px; - .card-header { + >.card-header { @include acp-panel-heading; background: #fefefe; color: #333; @@ -285,4 +284,14 @@ body { form small { color: $gray-700; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: middle; + border-top: 4px dashed; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } \ No newline at end of file diff --git a/public/scss/admin/extend/plugins.scss b/public/scss/admin/extend/plugins.scss new file mode 100644 index 0000000000..9551085db9 --- /dev/null +++ b/public/scss/admin/extend/plugins.scss @@ -0,0 +1,58 @@ +.plugins { + padding-left: 0px; + + li { + list-style-type: none; + background: rgba(64, 64, 64, 0.05); + padding: 1em; + margin-bottom: 5px; + border-left: 5px solid #08c; + margin-left: -40px; + + h2 { + font-size: 16px; + margin: 0; + } + + p { + font-size: 12px; + } + } + + .plugin-list.ui-sortable { + li { + cursor: pointer; + + .fa-chevron-up { + margin-right: 10px; + } + + .fa-chevron-up, .fa-chevron-down { + border: 1px solid; + border-radius: 50%; + padding: 3px; + vertical-align: 1px; + background-color: white; + } + + &:first-child .fa-chevron-up, &:last-child .fa-chevron-down { + pointer-events: none; + color: $gray-300; + } + } + } + .controls .btn { + display: list-item; + width: 150px; + margin-bottom: 3px; + margin-left: 10px; + } + + .acp-sidebar { + .mdl-switch__label { + margin-left: 24px; + display: block; + left: 0; + } + } +} \ No newline at end of file diff --git a/public/scss/admin/extend/rewards.scss b/public/scss/admin/extend/rewards.scss new file mode 100644 index 0000000000..0a69ddccc8 --- /dev/null +++ b/public/scss/admin/extend/rewards.scss @@ -0,0 +1,45 @@ +#rewards { + ul { + list-style-type: none; + padding: 0px; + margin: 0px; + + > li { + border-bottom: 1px solid #ddd; + margin-bottom: 20px; + &:last-child { + border-bottom: 0; + } + } + } + + .rewards { width: 100%; } + + .card { + border-radius: 2px; + border-width: 2px; + color: #333; + + &.if-block { + border-color: $primary; + max-width: 33%; + } + &.this-block { + border-color: $warning; + max-width: 33%; + } + &.then-block { + border-color: $success; + max-width: 33%; + } + &.reward-block { + border-color: $success; + background-color: lighten($success, 15%); + color: #fff; + a, select, input { color: #fff; } + select > option { color: #333; } + width: 100%; + min-height: 110px; + } + } +} \ No newline at end of file diff --git a/public/scss/admin/extend/widgets.scss b/public/scss/admin/extend/widgets.scss new file mode 100644 index 0000000000..5eca898822 --- /dev/null +++ b/public/scss/admin/extend/widgets.scss @@ -0,0 +1,28 @@ +.page-admin-extend.page-admin-widgets { + [component="clone"] { + display: flex; + align-items: stretch; + align-content: stretch; + + [component="clone/button"] { + flex-grow: 1; + text-align: left; + } + + .dropdown-menu { + max-height: 300px; + overflow-y: scroll; + min-width: 250px; + border-radius: 0; + } + } + .container-hover { + .container-html { + // border: 1px solid red!important; + @extend .border; + @extend .border-2; + @extend .border-primary; + } + } + +} diff --git a/public/src/admin/appearance/skins.js b/public/src/admin/appearance/skins.js index ea1336bd36..eb3574206d 100644 --- a/public/src/admin/appearance/skins.js +++ b/public/src/admin/appearance/skins.js @@ -8,7 +8,7 @@ define('admin/appearance/skins', ['translator', 'alerts'], function (translator, // Populate skins from Bootswatch API $.ajax({ method: 'get', - url: 'https://bootswatch.com/api/3.json', + url: 'https://bootswatch.com/api/5.json', }).done(Skins.render); $('#skins').on('click', function (e) { @@ -69,12 +69,11 @@ define('admin/appearance/skins', ['translator', 'alerts'], function (translator, }, function (html) { themeContainer.html(html); - if (config['theme:src']) { - const skin = config['theme:src'] - .match(/latest\/(\S+)\/bootstrap.min.css/)[1] - .replace(/(^|\s)([a-z])/g, function (m, p1, p2) { return p1 + p2.toUpperCase(); }); - - highlightSelectedTheme(skin); + if (app.config.bootswatchSkin) { + const skin = app.config.bootswatchSkin; + highlightSelectedTheme( + skin.charAt(0).toUpperCase() + skin.slice(1) + ); } }); }; diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 7067133826..2bd96bea56 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -21,6 +21,10 @@ define('admin/extend/plugins', [ return; } + if (window.location.hash) { + $(`.nav-pills button[data-bs-target="${window.location.hash}"]`).trigger('click'); + } + const searchInputEl = document.querySelector('#plugin-search'); searchInputEl.value = ''; diff --git a/public/src/admin/extend/widgets.js b/public/src/admin/extend/widgets.js index 029bdc4a85..dbbfd6c2e6 100644 --- a/public/src/admin/extend/widgets.js +++ b/public/src/admin/extend/widgets.js @@ -12,13 +12,13 @@ define('admin/extend/widgets', [ const Widgets = {}; Widgets.init = function () { - $('#widgets .nav-pills .dropdown-menu a').on('click', function (ev) { + $('#widgets .dropdown .dropdown-menu a').on('click', function (ev) { const $this = $(this); $('#widgets .tab-pane').removeClass('active'); const templateName = $this.attr('data-template'); $('#widgets .tab-pane[data-template="' + templateName + '"]').addClass('active'); $('#widgets .selected-template').text(templateName); - $('#widgets .nav-pills .dropdown').trigger('click'); + $('#widgets .dropdown').trigger('click'); ev.preventDefault(); return false; }); @@ -73,9 +73,9 @@ define('admin/extend/widgets', [ panel.remove(); } }); - }).on('mouseup', '> .panel > .panel-heading', function (evt) { + }).on('mouseup', '> .card > .card-header', function (evt) { if (!($(this).parent().is('.ui-sortable-helper') || $(evt.target).closest('.delete-widget').length)) { - $(this).parent().children('.panel-body').toggleClass('hidden'); + $(this).parent().children('.card-body').toggleClass('hidden'); } }); @@ -176,13 +176,13 @@ define('admin/extend/widgets', [ drop: function (event, ui) { const el = $(this); - el.find('.panel-body .container-html').val(ui.draggable.attr('data-container-html')); - el.find('.panel-body').removeClass('hidden'); + el.find('.card-body .container-html').val(ui.draggable.attr('data-container-html')); + el.find('.card-body').removeClass('hidden'); }, - hoverClass: 'panel-info', + hoverClass: 'container-hover', }) - .children('.panel-heading') - .append('
 
') + .children('.card-header') + .append('
 
') .children('small') .html(''); } @@ -191,7 +191,7 @@ define('admin/extend/widgets', [ function loadWidgetData() { function populateWidget(widget, data) { if (data.title) { - const title = widget.find('.panel-heading strong'); + const title = widget.find('.card-header strong'); title.text(title.text() + ' - ' + data.title); } diff --git a/src/views/admin/appearance/customise.tpl b/src/views/admin/appearance/customise.tpl index 1c8a76b2f4..b171dd724b 100644 --- a/src/views/admin/appearance/customise.tpl +++ b/src/views/admin/appearance/customise.tpl @@ -1,12 +1,12 @@
-