diff --git a/gulpfile.js b/gulpfile.js
index 3401661..5d65eed 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -58,6 +58,7 @@ gulp.task('minify-css', ['minify-404-css', 'minify-auth-css'], function () {
var imgSrc = [
'src/assets/img/*',
'src/assets/pictures/*',
+ 'src/app/lookAndFeel/thumbs/*',
'src/app/pages/dashboard/widgets/timeline/img/*',
'src/app/pages/profile/img/*',
'src/app/pages/icons/widgets/kameleon-img/*',
diff --git a/src/app/components/contentTop/_contentTop.scss b/src/app/components/contentTop/_contentTop.scss
index f87f06e..267c520 100644
--- a/src/app/components/contentTop/_contentTop.scss
+++ b/src/app/components/contentTop/_contentTop.scss
@@ -24,4 +24,13 @@ h1.al-title {
font-size: 18px;
font-weight: 100;
}
+}
+
+.al-look {
+ float: right;
+ margin-right: 10px;
+ padding-top: 10px;
+ > a {
+ font-size: 19px;
+ }
}
\ No newline at end of file
diff --git a/src/app/components/contentTop/contentTop.html b/src/app/components/contentTop/contentTop.html
index 10304c7..1aec116 100644
--- a/src/app/components/contentTop/contentTop.html
+++ b/src/app/components/contentTop/contentTop.html
@@ -6,4 +6,8 @@
Home
{{ activePageTitle }}
+
\ No newline at end of file
diff --git a/src/app/tplSkin/thumbs/01_default.jpg b/src/app/tplSkin/thumbs/01_default.jpg
new file mode 100644
index 0000000..67bb1a8
Binary files /dev/null and b/src/app/tplSkin/thumbs/01_default.jpg differ
diff --git a/src/app/tplSkin/thumbs/02_transparent.jpg b/src/app/tplSkin/thumbs/02_transparent.jpg
new file mode 100644
index 0000000..bf253ad
Binary files /dev/null and b/src/app/tplSkin/thumbs/02_transparent.jpg differ
diff --git a/src/app/tplSkin/thumbs/03_blue.jpg b/src/app/tplSkin/thumbs/03_blue.jpg
new file mode 100644
index 0000000..1a16f0e
Binary files /dev/null and b/src/app/tplSkin/thumbs/03_blue.jpg differ
diff --git a/src/app/tplSkin/thumbs/04_peachy.jpg b/src/app/tplSkin/thumbs/04_peachy.jpg
new file mode 100644
index 0000000..004f409
Binary files /dev/null and b/src/app/tplSkin/thumbs/04_peachy.jpg differ
diff --git a/src/app/tplSkin/thumbs/05_material.jpg b/src/app/tplSkin/thumbs/05_material.jpg
new file mode 100644
index 0000000..cb9d6f4
Binary files /dev/null and b/src/app/tplSkin/thumbs/05_material.jpg differ
diff --git a/src/app/tplSkin/thumbs/06_transblue.jpg b/src/app/tplSkin/thumbs/06_transblue.jpg
new file mode 100644
index 0000000..355c260
Binary files /dev/null and b/src/app/tplSkin/thumbs/06_transblue.jpg differ
diff --git a/src/app/tplSkin/thumbs/07_grey.jpg b/src/app/tplSkin/thumbs/07_grey.jpg
new file mode 100644
index 0000000..7655371
Binary files /dev/null and b/src/app/tplSkin/thumbs/07_grey.jpg differ
diff --git a/src/app/tplSkin/tplSkin.constants.js b/src/app/tplSkin/tplSkin.constants.js
new file mode 100644
index 0000000..69ec7c6
--- /dev/null
+++ b/src/app/tplSkin/tplSkin.constants.js
@@ -0,0 +1,52 @@
+/**
+ * @author v.lugovsky
+ * created on 18.11.2015
+ */
+(function() {
+ 'use strict';
+
+ var SKIN_CLASS_PREFIX = 'badmin';
+
+ var ADMIN_STYLES = [
+ {
+ name: 'Default',
+ bodyClass: '',
+ thumbnailUrl: 'img/01_default.jpg'
+ },
+ {
+ name: 'Transparent',
+ bodyClass: SKIN_CLASS_PREFIX + '-transparent',
+ thumbnailUrl: 'img/02_transparent.jpg'
+ },
+ {
+ name: 'Blue',
+ bodyClass: SKIN_CLASS_PREFIX + '-blue',
+ thumbnailUrl: 'img/03_blue.jpg'
+ },
+ {
+ name: 'Peachy',
+ bodyClass: SKIN_CLASS_PREFIX + '-peachy',
+ thumbnailUrl: 'img/04_peachy.jpg'
+ },
+ {
+ name: 'Material',
+ bodyClass: SKIN_CLASS_PREFIX + '-material',
+ thumbnailUrl: 'img/05_material.jpg'
+ },
+ {
+ name: 'Transblue',
+ bodyClass: SKIN_CLASS_PREFIX + '-transblue',
+ thumbnailUrl: 'img/06_transblue.jpg'
+ },
+ {
+ name: 'Grey',
+ bodyClass: SKIN_CLASS_PREFIX + '-grey',
+ thumbnailUrl: 'img/07_grey.jpg'
+ }
+ ];
+
+ blurAdminApp
+ .constant('tplSkinClassPrefix', SKIN_CLASS_PREFIX)
+ .constant('tplSkinEnum', ADMIN_STYLES);
+
+})();
diff --git a/src/app/tplSkin/tplSkinManager.service.js b/src/app/tplSkin/tplSkinManager.service.js
new file mode 100644
index 0000000..1868df6
--- /dev/null
+++ b/src/app/tplSkin/tplSkinManager.service.js
@@ -0,0 +1,39 @@
+/**
+ * @author v.lugovsky
+ * created on 18.11.2015
+ */
+(function() {
+ 'use strict';
+
+ blurAdminApp
+ .service('tplSkinManager', tplSkinManager);
+
+ tplSkinManager.$inject = ['$document', 'tplSkinClassPrefix'];
+ function tplSkinManager($document, tplSkinClassPrefix) {
+
+ var activeSkin = null;
+
+ this.setActiveSkin = function(skin) {
+ activeSkin = skin;
+ if (activeSkin) {
+ _removeSkinBodyClassIfPresent();
+ _addSkinBodyClass(activeSkin);
+ }
+ };
+
+ function _removeSkinBodyClassIfPresent() {
+ var body = $document[0].body;
+ var $body = angular.element(body);
+ body.className.split(/\s+/).forEach(function(className) {
+ if (className.indexOf(tplSkinClassPrefix) === 0) {
+ $body.removeClass(className);
+ }
+ });
+ }
+
+ function _addSkinBodyClass(skin) {
+ angular.element($document[0].body).addClass(skin.bodyClass);
+ }
+ }
+
+})();
diff --git a/src/app/tplSkin/tplSkinPanel.directive.js b/src/app/tplSkin/tplSkinPanel.directive.js
new file mode 100644
index 0000000..ee279de
--- /dev/null
+++ b/src/app/tplSkin/tplSkinPanel.directive.js
@@ -0,0 +1,25 @@
+/**
+ * @author v.lugovsky
+ * created on 18.11.2015
+ */
+(function() {
+ 'use strict';
+
+ blurAdminApp
+ .directive('tplSkinPanel', tplSkinPanel);
+
+ tplSkinPanel.$inject = ['tplSkinEnum', 'tplSkinManager'];
+ function tplSkinPanel(tplSkinEnum, tplSkinManager) {
+ return {
+ templateUrl: 'app/tplSkin/tplSkinPanel.html',
+ link: function(scope) {
+ scope.skins = tplSkinEnum;
+
+ scope.setActiveSkin = function(option) {
+ tplSkinManager.setActiveSkin(option);
+ };
+ }
+ };
+ }
+
+})();
diff --git a/src/app/tplSkin/tplSkinPanel.html b/src/app/tplSkin/tplSkinPanel.html
new file mode 100644
index 0000000..76906f8
--- /dev/null
+++ b/src/app/tplSkin/tplSkinPanel.html
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/tplSkin/tplSkinPanel.scss b/src/app/tplSkin/tplSkinPanel.scss
new file mode 100644
index 0000000..67dff89
--- /dev/null
+++ b/src/app/tplSkin/tplSkinPanel.scss
@@ -0,0 +1,19 @@
+.tpl-skin-panel {
+ width: 300px;
+ .tpl-skin-option {
+ padding: 10px;
+ line-height: 83px;
+
+ &:hover {
+ cursor: pointer;
+ background-color: $primary;
+ color: white;
+ }
+ + .tpl-skin-option {
+ border-top: 1px solid #999;
+ }
+ }
+ .skin-thumbnail {
+ width: 100%;
+ }
+}
\ No newline at end of file
diff --git a/src/assets/css/_variables.scss b/src/assets/css/_variables.scss
index ddc5f8d..f4b013c 100644
--- a/src/assets/css/_variables.scss
+++ b/src/assets/css/_variables.scss
@@ -1,11 +1,11 @@
$font-family: 'Lato', sans-serif;
-$primary: #41bee9;
-$info: #5bc0de;
-$success: #348779;
-$warning: #bbcb50;
-$danger: #9d498c;
-$default: #e9e9e9;
+$primary: #41bee9!default;
+$info: #5bc0de!default;
+$success: #348779!default;
+$warning: #bbcb50!default;
+$danger: #9d498c!default;
+$default: #e9e9e9!default;
$primary-dark: #1694bf;
$success-dark: #1c4a42;
diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss
index 10a7eaa..bff6c86 100644
--- a/src/assets/css/main.scss
+++ b/src/assets/css/main.scss
@@ -1,5 +1,6 @@
@import "variables.scss",
"mixins.scss",
+"skins/skins.scss",
"../../app/pages/typography/typography.scss",
"preloader.scss",
"socicon.scss",
@@ -7,6 +8,7 @@
"table.scss",
"layout.scss",
"icons.scss",
+"../../app/tplSkin/tplSkinPanel.scss",
"../../app/components/widgets/widgets.scss",
"../../app/pages/buttons/buttonsPage.scss",
"../../app/pages/icons/iconsPage.scss",
diff --git a/src/assets/css/skins/_02_transparent.scss b/src/assets/css/skins/_02_transparent.scss
new file mode 100644
index 0000000..6799831
--- /dev/null
+++ b/src/assets/css/skins/_02_transparent.scss
@@ -0,0 +1,6 @@
+body.badmin-transparent {
+ .panel, .panel:hover {
+ border-color: rgba(80, 80, 80, 0.5);
+ background-color: rgba(0, 0, 0, 0.5);
+ }
+}
\ No newline at end of file
diff --git a/src/assets/css/skins/_03_blue.scss b/src/assets/css/skins/_03_blue.scss
new file mode 100644
index 0000000..d48f65f
--- /dev/null
+++ b/src/assets/css/skins/_03_blue.scss
@@ -0,0 +1,6 @@
+body.badmin-blue {
+ background-image: url(../img/blue-bg.jpg);
+ .page-top {
+ background-color: rgba(0,0,0,.5);
+ }
+}
\ No newline at end of file
diff --git a/src/assets/css/skins/_04_peachy.scss b/src/assets/css/skins/_04_peachy.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/assets/css/skins/_05_material.scss b/src/assets/css/skins/_05_material.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/assets/css/skins/_06_transblue.scss b/src/assets/css/skins/_06_transblue.scss
new file mode 100644
index 0000000..1e96468
--- /dev/null
+++ b/src/assets/css/skins/_06_transblue.scss
@@ -0,0 +1,12 @@
+body.badmin-transblue {
+ background-image: url(../img/transblue-bg.jpg);
+
+ .page-top {
+ background-color: rgba(0,0,0,.5);
+ }
+
+ .panel, .panel:hover {
+ border-color: rgba(80, 80, 80, 0.5);
+ background-color: rgba(0, 0, 0, 0.5);
+ }
+}
\ No newline at end of file
diff --git a/src/assets/css/skins/_07_grey.scss b/src/assets/css/skins/_07_grey.scss
new file mode 100644
index 0000000..c36b690
--- /dev/null
+++ b/src/assets/css/skins/_07_grey.scss
@@ -0,0 +1,3 @@
+body.badmin-grey {
+ background: #bdbdbd;
+}
\ No newline at end of file
diff --git a/src/assets/css/skins/skins.scss b/src/assets/css/skins/skins.scss
new file mode 100644
index 0000000..08b25ef
--- /dev/null
+++ b/src/assets/css/skins/skins.scss
@@ -0,0 +1,6 @@
+@import '02_transparent';
+@import '03_blue';
+@import '04_peachy';
+@import '05_material';
+@import '06_transblue';
+@import '07_grey';
\ No newline at end of file
diff --git a/src/assets/img/blue-bg.jpg b/src/assets/img/blue-bg.jpg
new file mode 100644
index 0000000..56596da
Binary files /dev/null and b/src/assets/img/blue-bg.jpg differ
diff --git a/src/assets/img/transblue-bg.jpg b/src/assets/img/transblue-bg.jpg
new file mode 100644
index 0000000..dcd64ec
Binary files /dev/null and b/src/assets/img/transblue-bg.jpg differ