You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2016/03/02 11:42:20 UTC

ignite git commit: IGNITE-843 Refactored branding module.

Repository: ignite
Updated Branches:
  refs/heads/ignite-843-rc2 06af6d231 -> 4c23c8e83


IGNITE-843 Refactored branding module.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4c23c8e8
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4c23c8e8
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4c23c8e8

Branch: refs/heads/ignite-843-rc2
Commit: 4c23c8e8303d61a4995530365cbdad5fb2b9b574
Parents: 06af6d2
Author: Andrey <an...@gridgain.com>
Authored: Wed Mar 2 17:42:11 2016 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Wed Mar 2 17:42:11 2016 +0700

----------------------------------------------------------------------
 .../js/app/modules/branding/Logo.provider.js    | 42 ---------
 .../js/app/modules/branding/Terms.provider.js   | 41 --------
 .../js/app/modules/branding/branding.module.js  | 22 +++--
 .../app/modules/branding/branding.provider.js   | 99 ++++++++++++++++++++
 .../app/modules/branding/features.directive.js  | 35 +++++++
 .../js/app/modules/branding/footer.directive.js | 34 +++++++
 .../modules/branding/header-logo.directive.js   | 34 +++++++
 .../js/app/modules/branding/header-logo.jade    | 18 ++++
 .../modules/branding/header-title.directive.js  | 35 +++++++
 .../js/app/modules/branding/logo.directive.js   | 34 -------
 .../src/main/js/app/modules/branding/logo.jade  | 18 ----
 .../branding/powered-by-apache.directive.js     |  4 +-
 .../js/app/modules/branding/terms.directive.js  |  5 +-
 .../js/app/modules/branding/title.directive.js  | 35 -------
 .../main/js/app/modules/states/signin.state.js  |  4 +-
 .../src/main/js/public/stylesheets/style.scss   |  4 +
 .../src/main/js/views/includes/footer.jade      |  3 +-
 .../src/main/js/views/includes/header.jade      |  2 +-
 .../src/main/js/views/reset.jade                |  4 +-
 .../src/main/js/views/signin.jade               | 12 +--
 20 files changed, 285 insertions(+), 200 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/Logo.provider.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/Logo.provider.js b/modules/control-center-web/src/main/js/app/modules/branding/Logo.provider.js
deleted file mode 100644
index fcefc7c..0000000
--- a/modules/control-center-web/src/main/js/app/modules/branding/Logo.provider.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-export default ['IgniteLogo', [function() {
-    let poweredBy = false;
-
-    let url = '/images/ignite-logo.png';
-
-    let title = 'Management console for Apache Ignite';
-
-    this.url = (_url) => {
-        url = _url;
-
-        poweredBy = true;
-    };
-
-    this.title = (_title) => {
-        title = _title;
-    };
-
-    this.$get = [() => {
-        return {
-            url,
-            poweredBy,
-            title
-        };
-    }];
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/Terms.provider.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/Terms.provider.js b/modules/control-center-web/src/main/js/app/modules/branding/Terms.provider.js
deleted file mode 100644
index c9c6009..0000000
--- a/modules/control-center-web/src/main/js/app/modules/branding/Terms.provider.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-export default ['IgniteTerms', [function() {
-    let _rows = [
-        'Apache Ignite Web Console',
-        '© 2016 The Apache Software Foundation.',
-        'Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation.'
-    ];
-
-    let _state;
-
-    this.footerRows = function(rows) {
-        _rows = rows;
-    };
-
-    this.termsState = function(state) {
-        _state = state;
-    };
-
-    this.$get = [function() {
-        return {
-            footerRows: _rows,
-            termsState: _state
-        };
-    }];
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js b/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js
index dc65efc..5a3e843 100644
--- a/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js
+++ b/modules/control-center-web/src/main/js/app/modules/branding/branding.module.js
@@ -17,22 +17,24 @@
 
 import angular from 'angular';
 
-import IgniteLogo from './Logo.provider';
-import IgniteTerms from './Terms.provider';
+import IgniteBranding from './branding.provider';
 
-import ignitePoweredByApache from './powered-by-apache.directive';
-import igniteLogo from './logo.directive';
-import igniteTitle from './title.directive';
+import igniteHeaderLogo from './header-logo.directive';
+import igniteHeaderTitle from './header-title.directive';
 import igniteTerms from './terms.directive';
+import igniteFeatures from './features.directive';
+import igniteFooter from './footer.directive';
+import ignitePoweredByApache from './powered-by-apache.directive';
 
 angular
 .module('ignite-console.branding', [
 
 ])
-.provider(...IgniteLogo)
-.provider(...IgniteTerms)
+.provider(...IgniteBranding)
 .directive(...ignitePoweredByApache)
-.directive(...igniteLogo)
-.directive(...igniteTitle)
-.directive(...igniteTerms);
+.directive(...igniteHeaderLogo)
+.directive(...igniteHeaderTitle)
+.directive(...igniteTerms)
+.directive(...igniteFeatures)
+.directive(...igniteFooter);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/branding.provider.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/branding.provider.js b/modules/control-center-web/src/main/js/app/modules/branding/branding.provider.js
new file mode 100644
index 0000000..d4c12a4
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/branding/branding.provider.js
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export default ['IgniteBranding', [function() {
+    let headerLogo = '/images/ignite-logo.png';
+
+    let headerText = 'Management console for Apache Ignite';
+
+    let showIgniteLogo = false;
+
+    let footerHtml = [
+        '<p>Apache Ignite Web Console</p>',
+        '<p>© 2016 The Apache Software Foundation.</p>',
+        '<p>Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation.</p>'
+    ];
+
+    let termsState;
+
+    let featuresHtml = [
+        '<p>Web Console is an interactive management tool which allows to:</p>',
+        '<ul>',
+        '   <li>Create and download cluster configurations</li>',
+        '   <li>Automatically import domain model from any RDBMS</li>',
+        '   <li>Connect to cluster and run SQL analytics on it</li>',
+        '</ul>'
+    ];
+
+    /**
+     * Change logo in header.
+     *
+     * @param {String} url Logo path.
+     */
+    this.headerLogo = (url) => {
+        headerLogo = url;
+
+        showIgniteLogo = true;
+    };
+
+    /**
+     * Change text in header.
+     *
+     * @param {String} text Header text.
+     */
+    this.headerText = (text) => {
+        headerText = text;
+    };
+
+    /**
+     * Change text in features.
+     *
+     * @param {Array.<String>} rows Features text.
+     */
+    this.featuresHtml = (rows) => {
+        featuresHtml = rows;
+    };
+
+    /**
+     * Change text in footer.
+     *
+     * @param {Array.<String>} rows Footer text.
+     */
+    this.footerHtml = (rows) => {
+        footerHtml = rows;
+    };
+
+    /**
+     * Set terms and conditions stage.
+     *
+     * @param {String} state
+     */
+    this.termsState = (state) => {
+        termsState = state;
+    };
+
+    this.$get = [() => {
+        return {
+            headerLogo,
+            headerText,
+            featuresHtml: featuresHtml.join('\n'),
+            footerHtml: footerHtml.join('\n'),
+            showIgniteLogo,
+            termsState
+        };
+    }];
+}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/features.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/features.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/features.directive.js
new file mode 100644
index 0000000..0477be6
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/branding/features.directive.js
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const template = `<div class='features' ng-bind-html='features.html'></div>`;
+
+export default ['igniteFeatures', ['IgniteBranding', (branding) => {
+    function controller() {
+        const ctrl = this;
+
+        ctrl.html = branding.featuresHtml;
+    }
+
+    return {
+        restrict: 'E',
+        template,
+        controller,
+        controllerAs: 'features',
+        replace: true
+    };
+}]];
+

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/footer.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/footer.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/footer.directive.js
new file mode 100644
index 0000000..1312f98
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/branding/footer.directive.js
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const template = `<div class='footer' ng-bind-html='footer.html'></div>`;
+
+export default ['igniteFooter', ['IgniteBranding', (branding) => {
+    function controller() {
+        const ctrl = this;
+
+        ctrl.html = branding.footerHtml;
+    }
+
+    return {
+        restrict: 'E',
+        template,
+        controller,
+        controllerAs: 'footer',
+        replace: true
+    };
+}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/header-logo.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/header-logo.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/header-logo.directive.js
new file mode 100644
index 0000000..1bfbc45
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/branding/header-logo.directive.js
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import template from './header-logo.jade!';
+
+export default ['igniteHeaderLogo', ['IgniteBranding', (branding) => {
+    function controller() {
+        const ctrl = this;
+
+        ctrl.url = branding.headerLogo;
+    }
+
+    return {
+        restrict: 'E',
+        template,
+        controller,
+        controllerAs: 'logo',
+        replace: true
+    };
+}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/header-logo.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/header-logo.jade b/modules/control-center-web/src/main/js/app/modules/branding/header-logo.jade
new file mode 100644
index 0000000..b807921
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/branding/header-logo.jade
@@ -0,0 +1,18 @@
+//-
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+a(href='/')
+    img.navbar-brand(ng-src='{{logo.url}}' height='40')

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/header-title.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/header-title.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/header-title.directive.js
new file mode 100644
index 0000000..60b9f2f
--- /dev/null
+++ b/modules/control-center-web/src/main/js/app/modules/branding/header-title.directive.js
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const template = `<label class='title'>{{::title.text}}</label>`;
+
+export default ['igniteHeaderTitle', ['IgniteBranding', (branding) => {
+    function controller() {
+        const ctrl = this;
+
+        ctrl.text = branding.headerText;
+    }
+
+    return {
+        restrict: 'E',
+        template,
+        controller,
+        controllerAs: 'title',
+        replace: true
+    };
+}]];
+

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js
deleted file mode 100644
index ff46945..0000000
--- a/modules/control-center-web/src/main/js/app/modules/branding/logo.directive.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import templateLogo from './logo.jade!';
-
-export default ['igniteLogo', ['IgniteLogo', (IgniteLogo) => {
-    function controller() {
-        const ctrl = this;
-
-        ctrl.url = IgniteLogo.url;
-    }
-
-    return {
-        restrict: 'E',
-        template: templateLogo,
-        controller,
-        controllerAs: 'logo',
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/logo.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/logo.jade b/modules/control-center-web/src/main/js/app/modules/branding/logo.jade
deleted file mode 100644
index b807921..0000000
--- a/modules/control-center-web/src/main/js/app/modules/branding/logo.jade
+++ /dev/null
@@ -1,18 +0,0 @@
-//-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
-a(href='/')
-    img.navbar-brand(ng-src='{{logo.url}}' height='40')

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js
index fd2ab98..37f1dec 100644
--- a/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js
+++ b/modules/control-center-web/src/main/js/app/modules/branding/powered-by-apache.directive.js
@@ -17,11 +17,11 @@
 
 import templatePoweredByApache from './powered-by-apache.jade!';
 
-export default ['ignitePoweredByApache', ['IgniteLogo', (IgniteLogo) => {
+export default ['ignitePoweredByApache', ['IgniteBranding', (branding) => {
     function controller() {
         const ctrl = this;
 
-        ctrl.show = IgniteLogo.poweredBy;
+        ctrl.show = branding.showIgniteLogo;
     }
 
     return {

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js
index 22f2977..0207745 100644
--- a/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js
+++ b/modules/control-center-web/src/main/js/app/modules/branding/terms.directive.js
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-export default ['igniteTerms', ['IgniteTerms', (IgniteTerms) => {
+export default ['igniteTerms', ['IgniteBranding', (branding) => {
     function controller() {
         const ctrl = this;
 
-        ctrl.footerRows = IgniteTerms.footerRows;
-        ctrl.termsState = IgniteTerms.termsState;
+        ctrl.termsState = branding.termsState;
     }
 
     return {

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js b/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js
deleted file mode 100644
index 83b8a7b..0000000
--- a/modules/control-center-web/src/main/js/app/modules/branding/title.directive.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-const templateTitle = `<label class= 'title'>{{::title.text}}</label>`;
-
-export default ['igniteTitle', ['IgniteLogo', (IgniteLogo) => {
-    function controller() {
-        const ctrl = this;
-
-        ctrl.text = IgniteLogo.title;
-    }
-
-    return {
-        restrict: 'E',
-        template: templateTitle,
-        controller,
-        controllerAs: 'title',
-        replace: true
-    };
-}]];
-

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/app/modules/states/signin.state.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app/modules/states/signin.state.js b/modules/control-center-web/src/main/js/app/modules/states/signin.state.js
index feaf76a..bf5baa9 100644
--- a/modules/control-center-web/src/main/js/app/modules/states/signin.state.js
+++ b/modules/control-center-web/src/main/js/app/modules/states/signin.state.js
@@ -36,9 +36,9 @@ angular
         }
     });
 }])
-.run(['$rootScope', '$state', 'Auth', 'IgniteTerms', function($root, $state, Auth, IgniteTerms) {
+.run(['$rootScope', '$state', 'Auth', 'IgniteBranding', function($root, $state, Auth, branding) {
     $root.$on('$stateChangeStart', function(event, toState) {
-        if (toState.name === IgniteTerms.termsState)
+        if (toState.name === branding.termsState)
             return;
 
         if (!Auth.authorized && (toState.name !== 'signin' && !_.startsWith(toState.name, 'password.'))) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/public/stylesheets/style.scss b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
index 4f2cf28..500d60c 100644
--- a/modules/control-center-web/src/main/js/public/stylesheets/style.scss
+++ b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
@@ -95,6 +95,10 @@ hr {
     font-size: 22px;
 }
 
+.theme-line .footer {
+    text-align: center;
+}
+
 ul.navbar-nav, .sidebar-nav {
     li.active > a {
         color: $link-color;

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/views/includes/footer.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/includes/footer.jade b/modules/control-center-web/src/main/js/views/includes/footer.jade
index d057835..4ef3bf6 100644
--- a/modules/control-center-web/src/main/js/views/includes/footer.jade
+++ b/modules/control-center-web/src/main/js/views/includes/footer.jade
@@ -17,8 +17,7 @@
 .container.container-footer
     footer
         .col-md-offset-1.col-md-10
-            center(ignite-terms)
-                p(ng-repeat='item in terms.footerRows' ng-bind-html='item')
+            ignite-footer
         .col-md-1
             .pull-right
                 ignite-powered-by-apache

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/views/includes/header.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/includes/header.jade b/modules/control-center-web/src/main/js/views/includes/header.jade
index 3ed39b3..b4e095a 100644
--- a/modules/control-center-web/src/main/js/views/includes/header.jade
+++ b/modules/control-center-web/src/main/js/views/includes/header.jade
@@ -20,7 +20,7 @@ header#header.header
     table.container
         tr
             td.col-xs-3.col-sm-3.col-md-2
-                ignite-logo
+                ignite-header-logo
             td(ng-if='$root.user' style='padding-top: 20px')
                 ul.nav.navbar-nav(ignite-sidebar ignite-navbar)
                     li(ng-class='{active: $state.includes("base.configuration")}')

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/views/reset.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/reset.jade b/modules/control-center-web/src/main/js/views/reset.jade
index 468a493..e5b8f12 100644
--- a/modules/control-center-web/src/main/js/views/reset.jade
+++ b/modules/control-center-web/src/main/js/views/reset.jade
@@ -18,9 +18,9 @@ header#header.header
     table.container
         tr
             td.col-xs-3.col-sm-3.col-md-2
-                ignite-logo
+                ignite-header-logo
             td
-                ignite-title
+                ignite-header-title
 
 .container.body-container
     .main-content(ng-controller='resetPassword')

http://git-wip-us.apache.org/repos/asf/ignite/blob/4c23c8e8/modules/control-center-web/src/main/js/views/signin.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/signin.jade b/modules/control-center-web/src/main/js/views/signin.jade
index 663b77b..9ec8dfd 100644
--- a/modules/control-center-web/src/main/js/views/signin.jade
+++ b/modules/control-center-web/src/main/js/views/signin.jade
@@ -24,9 +24,9 @@ header#header.header
     table.container
         tr
             td.col-xs-3.col-sm-3.col-md-2
-                ignite-logo
+                ignite-header-logo
             td
-                ignite-title
+                ignite-header-title
 
 .container.body-container
     .main-content(ng-controller='auth')
@@ -34,7 +34,7 @@ header#header.header
             .signin-greedy
                 .col-xs-12.col-md-6
                     form(name='form' novalidate)
-                        .modal-body.row(style='padding-bottom: 10px; margin: 0')
+                        .modal-body.row(style='padding: 0 0 10px 0; margin: 0')
                             .settings-row(ng-if='action == "signup"')
                                 h3.login-header Sign Up
                             .settings-row(ng-if='action == "signin"')
@@ -89,11 +89,7 @@ header#header.header
                                 button#login.btn.btn-primary(ng-click='auth(action, user_info)' ng-disabled='form.$invalid') Sign In
 
                     .col-xs-12.col-md-11.home-panel
-                        p Web Console is an interactive management tool which allows to:
-                        ul
-                            li Create and download cluster configurations
-                            li Automatically import domain model from any RDBMS
-                            li Connect to cluster and run SQL analytics on it
+                        ignite-features
                 .col-xs-12.col-md-6
                     #carousel.carousel.slide
                         // Indicators