summaryrefslogtreecommitdiff
path: root/frontend/gamma
Unidiff
Diffstat (limited to 'frontend/gamma') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/css/web.css56
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js4
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js32
3 files changed, 85 insertions, 7 deletions
diff --git a/frontend/gamma/css/web.css b/frontend/gamma/css/web.css
index 011831a..7d1745b 100644
--- a/frontend/gamma/css/web.css
+++ b/frontend/gamma/css/web.css
@@ -845,181 +845,231 @@ Color list:
845- login box: 845- login box:
846 light#ff9955 846 light#ff9955
847 dark#ff6622 847 dark#ff6622
848- login button: 848- login button:
849 regular#dd5500 849 regular#dd5500
850 hover#773311 850 hover#773311
851- login translations: 851- login translations:
852 box: #cc6622; 852 box: #cc6622;
853 not-selected: 853 not-selected:
854 color: #ddaa99 854 color: #ddaa99
855 background:#994422 855 background:#994422
856 selected: #772211; 856 selected: #772211;
857*/ 857*/
858html { 858html {
859 height: 100%; 859 height: 100%;
860} 860}
861body { 861body {
862 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif; 862 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
863 margin: 0px; 863 margin: 0px;
864} 864}
865div.modalDialogMask.userInfoBoxMask { 865div.modalDialogMask.userInfoBoxMask {
866 -moz-opacity: 0.0; 866 -moz-opacity: 0.0;
867 opacity: .0; 867 opacity: .0;
868 filter: alpha(opacity=0); 868 filter: alpha(opacity=0);
869 z-index: 19000; 869 z-index: 19000;
870} 870}
871.reset-margin { 871.reset-margin {
872 margin: 0px; 872 margin: 0px;
873 padding: 0px; 873 padding: 0px;
874 border: 0px; 874 border: 0px;
875} 875}
876.clear { 876.clear {
877 clear: both; 877 clear: both;
878} 878}
879.hidden_none { 879.hidden_none {
880 display: none; 880 display: none;
881 visibility: hidden; 881 visibility: hidden;
882} 882}
883.keepTogether { 883.keepTogether {
884 display: inline-block; 884 display: inline-block;
885 white-space: nowrap; 885 white-space: nowrap;
886} 886}
887#mainDiv { 887#mainDiv {
888 margin: 0 auto; 888 margin: 0 auto;
889} 889}
890div.userInfoBox { 890div.userInfoBox {
891 position: absolute; 891 position: absolute;
892 width: 160px; 892 width: 160px;
893 height: 120px; 893 height: 200px;
894 top: 100px; 894 top: 100px;
895 left: 15px; 895 left: 15px;
896 color: white; 896 color: white;
897 background-color: #ff9955; 897 background-color: #ff9955;
898 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723)); 898 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
899 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56); 899 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
900 background: linear-gradient(0deg, #ff6723, #ff9a56); 900 background: linear-gradient(0deg, #ff6723, #ff9a56);
901 border-radius: 10px; 901 border-radius: 10px;
902 -moz-border-radius: 10px; 902 -moz-border-radius: 10px;
903 -webkit-border-radius: 10px; 903 -webkit-border-radius: 10px;
904 -webkit-box-shadow: 2px 2px 9px #333333; 904 -webkit-box-shadow: 2px 2px 9px #333333;
905 -moz-box-shadow: 2px 2px 9px #333333; 905 -moz-box-shadow: 2px 2px 9px #333333;
906 box-shadow: 2px 2px 9px #333333; 906 box-shadow: 2px 2px 9px #333333;
907} 907}
908div.userInfoBox.locked { 908div.userInfoBox.locked {
909 z-index: 19001; 909 z-index: 19001;
910} 910}
911div.userInfoBox.locked div.header a.lockButton { 911div.userInfoBox.locked div.header a.lockButton {
912 background: url(./images/old/lock/locked.png) no-repeat -5px -2px; 912 background: url(./images/old/lock/locked.png) no-repeat -5px -2px;
913} 913}
914div.userInfoBox.locked div.header a.lockButton:hover { 914div.userInfoBox.locked div.header a.lockButton:hover {
915 background: url(./images/old/lock/locked_hover.png) no-repeat -5px -2px; 915 background: url(./images/old/lock/locked_hover.png) no-repeat -5px -2px;
916} 916}
917div.userInfoBox.locked div.body a { 917div.userInfoBox.locked div.body a {
918 display: none; 918 display: none;
919} 919}
920div.userInfoBox div.header { 920div.userInfoBox div.header {
921 height: 30px; 921 height: 30px;
922} 922}
923div.userInfoBox div.header h1 { 923div.userInfoBox div.header h1 {
924 font-size: 8pt; 924 font-size: 8pt;
925 font-weight: normal; 925 font-weight: normal;
926 margin: 0px; 926 margin: 0px;
927 padding-top: 12px; 927 padding-top: 12px;
928 padding-left: 12px; 928 padding-left: 12px;
929} 929}
930div.userInfoBox div.header a.lockButton { 930div.userInfoBox div.header a.lockButton {
931 position: absolute; 931 position: absolute;
932 top: 8px; 932 top: 8px;
933 right: 12px; 933 right: 12px;
934 display: block; 934 display: block;
935 width: 15px; 935 width: 15px;
936 height: 20px; 936 height: 20px;
937 text-decoration: none; 937 text-decoration: none;
938 background: url(./images/old/lock/unlocked.png) no-repeat -5px -2px; 938 background: url(./images/old/lock/unlocked.png) no-repeat -5px -2px;
939} 939}
940div.userInfoBox div.header a.lockButton:hover { 940div.userInfoBox div.header a.lockButton:hover {
941 background: url(./images/old/lock/unlocked_hover.png) no-repeat -5px -2px; 941 background: url(./images/old/lock/unlocked_hover.png) no-repeat -5px -2px;
942} 942}
943div.userInfoBox div.body { 943div.userInfoBox div.body {
944 padding: 0px 12px; 944 padding: 0px 12px;
945} 945}
946div.userInfoBox div.body h3 { 946div.userInfoBox div.body h3 {
947 font-size: 11pt; 947 font-size: 11pt;
948 font-weight: bold; 948 font-weight: bold;
949 margin: 0px; 949 margin: 0px;
950} 950}
951div.userInfoBox div.body ul { 951div.userInfoBox div.body ul {
952 font-size: 8pt; 952 font-size: 8pt;
953 padding: 0px; 953 padding: 0px;
954 margin: 4px 0px; 954 margin: 4px 0px;
955 list-style-position: inside; 955 list-style-position: inside;
956} 956}
957div.userInfoBox div.body ul li span.number { 957div.userInfoBox div.body ul li span.number {
958 font-weight: bold; 958 font-weight: bold;
959 padding-right: 3px; 959 padding-right: 3px;
960} 960}
961div.userInfoBox div.body div.accountInfo {
962 margin-top: 6px;
963 border-top: 1px solid white;
964 border-color: #f4aa84;
965}
966div.userInfoBox div.body div.accountInfo h5 {
967 margin: 0px;
968 padding-top: 8px;
969 padding-bottom: 8px;
970 font-size: 8pt;
971 font-weight: normal;
972}
973div.userInfoBox div.body div.accountInfo span.label {
974 font-size: 9pt;
975 font-weight: normal;
976 padding-right: 4px;
977 display: inline-block;
978 width: 45px;
979}
980div.userInfoBox div.body div.accountInfo span.label:after {
981 content: ":";
982}
983div.userInfoBox div.body div.accountInfo span.status {
984 font-size: 10pt;
985}
986div.userInfoBox div.body div.accountInfo span.expriation {
987 font-size: 9pt;
988}
989div.userInfoBox div.body div.accountInfo div.payButton {
990 float: right;
991 padding-top: 6px;
992 text-align: right;
993}
994div.userInfoBox div.body div.accountInfo div.payButton a {
995 border: 0px;
996 margin-top: 0px;
997 padding: 0px;
998 color: white;
999 display: inline-block;
1000 padding: 2px 5px 2px 5px;
1001 border-radius: 4px;
1002 -moz-border-radius: 4px;
1003 -webkit-border-radius: 4px;
1004 font-size: 9pt;
1005 font-weight: normal;
1006 background-color: #d15a22;
1007}
1008div.userInfoBox div.body div.accountInfo div.payButton a:hover {
1009 background-color: #8c3b15;
1010}
961div.userInfoBox div.body a { 1011div.userInfoBox div.body a {
962 display: block; 1012 display: block;
963 margin-top: 8px; 1013 margin-top: 4px;
964 border-top: 1px solid white; 1014 border-top: 1px solid white;
965 padding-top: 6px; 1015 padding-top: 6px;
966 font-size: 10pt; 1016 font-size: 10pt;
967 font-weight: bold; 1017 font-weight: bold;
968 color: #d15a22; 1018 color: #d15a22;
969 border-color: #fe9a5f; 1019 border-color: #fe9a5f;
970 text-decoration: none; 1020 text-decoration: none;
971} 1021}
972div.userInfoBox div.body a:hover { 1022div.userInfoBox div.body a:hover {
973 color: #8c3b15; 1023 color: #8c3b15;
974} 1024}
975div.sidePanels { 1025div.sidePanels {
976 float: left; 1026 float: left;
977 margin-top: 106px; 1027 margin-top: 186px;
978 margin-left: 20px; 1028 margin-left: 20px;
979 width: 160px; 1029 width: 160px;
980} 1030}
981div.sidePanels div.tabSidePanel { 1031div.sidePanels div.tabSidePanel {
982 margin-right: -10px; 1032 margin-right: -10px;
983} 1033}
984div.sidePanels div.tabSidePanel ul { 1034div.sidePanels div.tabSidePanel ul {
985 margin: 0px; 1035 margin: 0px;
986 padding-left: 0px; 1036 padding-left: 0px;
987 list-style-type: none; 1037 list-style-type: none;
988 color: #f78b46; 1038 color: #f78b46;
989} 1039}
990div.sidePanels div.tabSidePanel ul.mainTabs { 1040div.sidePanels div.tabSidePanel ul.mainTabs {
991 margin: 0px; 1041 margin: 0px;
992} 1042}
993div.sidePanels div.tabSidePanel ul.mainTabs li a { 1043div.sidePanels div.tabSidePanel ul.mainTabs li a {
994 display: block; 1044 display: block;
995 line-height: 30px; 1045 line-height: 30px;
996 height: 43px; 1046 height: 43px;
997 padding-left: 40px; 1047 padding-left: 40px;
998 color: #ff6621; 1048 color: #ff6621;
999 margin: 0px; 1049 margin: 0px;
1000 font-weight: normal; 1050 font-weight: normal;
1001 font-size: 13pt; 1051 font-size: 13pt;
1002 text-decoration: none; 1052 text-decoration: none;
1003} 1053}
1004div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter { 1054div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter {
1005 display: none; 1055 display: none;
1006} 1056}
1007div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add { 1057div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add {
1008 font-size: 14pt; 1058 font-size: 14pt;
1009 font-weight: bold; 1059 font-weight: bold;
1010 position: relative; 1060 position: relative;
1011 top: -34px; 1061 top: -34px;
1012 right: 16px; 1062 right: 16px;
1013 background: none; 1063 background: none;
1014 color: #c0531b; 1064 color: #c0531b;
1015 padding-left: 15px; 1065 padding-left: 15px;
1016} 1066}
1017div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add:hover { 1067div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add:hover {
1018 color: white; 1068 color: white;
1019} 1069}
1020div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add span { 1070div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add span {
1021 font-size: 8pt; 1071 font-size: 8pt;
1022 vertical-align: middle; 1072 vertical-align: middle;
1023} 1073}
1024div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add h3 { 1074div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add h3 {
1025 display: inline; 1075 display: inline;
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js
index 5e49fb5..3c57f67 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js
@@ -4,108 +4,108 @@ Copyright 2008-2013 Clipperz Srl
4 4
5This file is part of Clipperz, the online password manager. 5This file is part of Clipperz, the online password manager.
6For further information about its features and functionalities please 6For further information about its features and functionalities please
7refer to http://www.clipperz.com. 7refer to http://www.clipperz.com.
8 8
9* Clipperz is free software: you can redistribute it and/or modify it 9* Clipperz is free software: you can redistribute it and/or modify it
10 under the terms of the GNU Affero General Public License as published 10 under the terms of the GNU Affero General Public License as published
11 by the Free Software Foundation, either version 3 of the License, or 11 by the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version. 12 (at your option) any later version.
13 13
14* Clipperz is distributed in the hope that it will be useful, but 14* Clipperz is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of 15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17 See the GNU Affero General Public License for more details. 17 See the GNU Affero General Public License for more details.
18 18
19* You should have received a copy of the GNU Affero General Public 19* You should have received a copy of the GNU Affero General Public
20 License along with Clipperz. If not, see http://www.gnu.org/licenses/. 20 License along with Clipperz. If not, see http://www.gnu.org/licenses/.
21 21
22*/ 22*/
23 23
24Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); 24Clipperz.Base.module('Clipperz.PM.UI.Web.Components');
25 25
26Clipperz.PM.UI.Web.Components.PageHeader = function(args) { 26Clipperz.PM.UI.Web.Components.PageHeader = function(args) {
27 args = args || {}; 27 args = args || {};
28 28
29 Clipperz.PM.UI.Web.Components.PageHeader.superclass.constructor.apply(this, arguments); 29 Clipperz.PM.UI.Web.Components.PageHeader.superclass.constructor.apply(this, arguments);
30 this._newsIsOpen = args.newsIsOpen || false; 30 this._newsIsOpen = args.newsIsOpen || false;
31 this._animationDuration = args.animationDuration || 0.5; 31 this._animationDuration = args.animationDuration || 0.5;
32 32
33 this._offset = 82; 33 this._offset = 82;
34 34
35 return this; 35 return this;
36} 36}
37 37
38//============================================================================= 38//=============================================================================
39 39
40Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PageHeader, Clipperz.PM.UI.Common.Components.BaseComponent, { 40Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PageHeader, Clipperz.PM.UI.Common.Components.BaseComponent, {
41 41
42 //------------------------------------------------------------------------- 42 //-------------------------------------------------------------------------
43 43
44 'toString': function () { 44 'toString': function () {
45 return "Clipperz.PM.UI.Web.Components.PageHeader component"; 45 return "Clipperz.PM.UI.Web.Components.PageHeader component";
46 }, 46 },
47 47
48 //------------------------------------------------------------------------- 48 //-------------------------------------------------------------------------
49 49
50 'iframeURL': function () { 50 'iframeURL': function () {
51 // return './rss_view.html'; 51 // return './rss_view.html';
52 return 'http://www.clipperz.com/files/clipperz.com/appTips/index.html'; 52 return 'https://www.clipperz.com/tips/index.html';
53 }, 53 },
54 54
55 //------------------------------------------------------------------------- 55 //-------------------------------------------------------------------------
56 56
57 'renderSelf': function(/*aContainer, aPosition*/) { 57 'renderSelf': function(/*aContainer, aPosition*/) {
58 this.append(this.element(), [ 58 this.append(this.element(), [
59 {tag:'div', id:'miscLinks', children:[ 59 {tag:'div', id:'miscLinks', children:[
60 {tag:'ul', children:[ 60 {tag:'ul', children:[
61 {tag:'li', children:[{tag:'a', id:'donateHeaderLink', stringID:'pageHeader.donation', href:'http://www.clipperz.com/donations', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.donation')}]}, 61 {tag:'li', children:[{tag:'a', id:'donateHeaderLink', stringID:'pageHeader.donation', href:'http://www.clipperz.com/donations', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.donation')}]},
62 {tag:'li', children:[{tag:'a', id:'forumHeaderLink', stringID:'pageHeader.forum', href:'http://www.clipperz.com/forum', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.forum')}]}, 62 {tag:'li', children:[{tag:'a', id:'forumHeaderLink', stringID:'pageHeader.forum', href:'http://www.clipperz.com/forum', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.forum')}]},
63 {tag:'li', children:[{tag:'a', id:'creditsHeaderLink', stringID:'pageHeader.credits', href:'http://www.clipperz.com/credits', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.credits')}]}, 63 // {tag:'li', children:[{tag:'a', id:'creditsHeaderLink', stringID:'pageHeader.credits', href:'http://www.clipperz.com/credits', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.credits')}]},
64 {tag:'li', children:[{tag:'a', id:'feedbackHeaderLink', stringID:'pageHeader.feedback', href:'http://www.clipperz.com/contact', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.feedback')}]}, 64 {tag:'li', children:[{tag:'a', id:'feedbackHeaderLink', stringID:'pageHeader.feedback', href:'http://www.clipperz.com/contact', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.feedback')}]},
65 {tag:'li', children:[{tag:'a', id:'helpHeaderLink', stringID:'pageHeader.help', href:'http://www.clipperz.com/support/user_guide',target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.help')}]} 65 {tag:'li', children:[{tag:'a', id:'helpHeaderLink', stringID:'pageHeader.help', href:'http://www.clipperz.com/support/user_guide',target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.help')}]}
66 ]} 66 ]}
67 ]}, 67 ]},
68 {tag:'div', id:'logoFrame', children:[ 68 {tag:'div', id:'logoFrame', children:[
69 {tag:'a', href:'http://www.clipperz.com', target:'_blank', children:[ 69 {tag:'a', href:'http://www.clipperz.com', target:'_blank', children:[
70 // {tag:'h1', cls:'logo', html:"clipperz"}, 70 // {tag:'h1', cls:'logo', html:"clipperz"},
71 {tag:'canvas', id:this.getId('logo'), cls:'logo'}, 71 {tag:'canvas', id:this.getId('logo'), cls:'logo'},
72 {tag:'h5', cls:'clipperzPayoff', html:"keep it to yourself!"} 72 {tag:'h5', cls:'clipperzPayoff', html:"keep it to yourself!"}
73 ]} 73 ]}
74 ]}, 74 ]},
75 {tag:'div', id:'news', cls:'hidden', children:[ 75 {tag:'div', id:'news', cls:'hidden', children:[
76 // {tag:'div', cls:'close', children:[ 76 // {tag:'div', cls:'close', children:[
77 // {tag:'a', href:'#', id:this.getId('closeTips'), html:'x'} 77 // {tag:'a', href:'#', id:this.getId('closeTips'), html:'x'}
78 // ]}, 78 // ]},
79 {tag:'div', id:'newsframe', children:[ 79 {tag:'div', id:'newsframe', children:[
80 {tag:'iframe', id:this.getId('iframe'), src:this.iframeURL()} 80 {tag:'iframe', id:this.getId('iframe'), src:this.iframeURL()}
81 ]}, 81 ]},
82 {tag:'div', id:this.getId('newsGrip'), cls:'grip', children:[ 82 {tag:'div', id:this.getId('newsGrip'), cls:'grip', children:[
83 {tag:'div', cls:'gripHandler', children:[]} 83 {tag:'div', cls:'gripHandler', children:[]}
84 ]} 84 ]}
85 ]}, 85 ]},
86 {tag:'div', id:'featureTabs', children:[ 86 {tag:'div', id:'featureTabs', children:[
87 {tag:'table', children:[{tag:'tr', children:[ 87 {tag:'table', children:[{tag:'tr', children:[
88 {tag:'td', children:[{tag:'div', id:'feature_store', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('storeIcon')}, {tag:'span', html:"Store and manage your password and online credentials"}]}]}, 88 {tag:'td', children:[{tag:'div', id:'feature_store', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('storeIcon')}, {tag:'span', html:"Store and manage your password and online credentials"}]}]},
89 {tag:'td', children:[{tag:'div', id:'feature_protect', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('protectIcon')}, {tag:'span', html:"Protect all your sensitive data"}]}]}, 89 {tag:'td', children:[{tag:'div', id:'feature_protect', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('protectIcon')}, {tag:'span', html:"Protect all your sensitive data"}]}]},
90 {tag:'td', children:[{tag:'div', id:'feature_directLogin', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('directLoginIcon')},{tag:'span', html:"Login to your web services without entering any username or password"}]}]}, 90 {tag:'td', children:[{tag:'div', id:'feature_directLogin', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('directLoginIcon')},{tag:'span', html:"Login to your web services without entering any username or password"}]}]},
91 {tag:'td', children:[{tag:'div', id:'feature_share', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('shareIcon')}, {tag:'span', html:"Share secret with family members and associates"}]}]} 91 {tag:'td', children:[{tag:'div', id:'feature_share', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('shareIcon')}, {tag:'span', html:"Share secret with family members and associates"}]}]}
92 ]}]} 92 ]}]}
93 ]} 93 ]}
94 ]); 94 ]);
95 95
96 Clipperz.PM.UI.Canvas.features.store(this.getElement('storeIcon'), "#ffffff"); 96 Clipperz.PM.UI.Canvas.features.store(this.getElement('storeIcon'), "#ffffff");
97 Clipperz.PM.UI.Canvas.features.protect(this.getElement('protectIcon'), "#ffffff"); 97 Clipperz.PM.UI.Canvas.features.protect(this.getElement('protectIcon'), "#ffffff");
98 Clipperz.PM.UI.Canvas.features.directLogin(this.getElement('directLoginIcon'), "#ffffff"); 98 Clipperz.PM.UI.Canvas.features.directLogin(this.getElement('directLoginIcon'), "#ffffff");
99 Clipperz.PM.UI.Canvas.features.share(this.getElement('shareIcon'), "#ffffff", "#ffffff", "#ff0000"); 99 Clipperz.PM.UI.Canvas.features.share(this.getElement('shareIcon'), "#ffffff", "#ffffff", "#ff0000");
100 100
101 MochiKit.Signal.connect(this.getElement('newsGrip'), 'onclick', this, 'toggleTips'); 101 MochiKit.Signal.connect(this.getElement('newsGrip'), 'onclick', this, 'toggleTips');
102 MochiKit.Signal.connect(this.getElement('iframe'), 'onload', this, 'handleIframeDidLoad'); 102 MochiKit.Signal.connect(this.getElement('iframe'), 'onload', this, 'handleIframeDidLoad');
103 this.setLogoDefaultColors(); 103 this.setLogoDefaultColors();
104 }, 104 },
105 105
106 //------------------------------------------------------------------------- 106 //-------------------------------------------------------------------------
107 107
108 'switchToLoggedMode': function() { 108 'switchToLoggedMode': function() {
109 // MochiKit.Style.addElementClass(this.element(), 'logged'); 109 // MochiKit.Style.addElementClass(this.element(), 'logged');
110 MochiKit.Style.hideElement('featureTabs'); 110 MochiKit.Style.hideElement('featureTabs');
111 }, 111 },
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js
index fbf58e0..91085cf 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js
@@ -121,121 +121,149 @@ Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.UserInfoBox, Clipperz.PM.UI.C
121 varunlockPasswordComponent; 121 varunlockPasswordComponent;
122/* 122/*
123 vardeferredResult; 123 vardeferredResult;
124 124
125 deferredResult = new Clipperz.Async.Deferred("UserInfoBox.askForPassphrase", {trace:false}); 125 deferredResult = new Clipperz.Async.Deferred("UserInfoBox.askForPassphrase", {trace:false});
126 deferredResult.addCallback(MochiKit.Async.succeed, 'test'); 126 deferredResult.addCallback(MochiKit.Async.succeed, 'test');
127 127
128 deferredResult.callback(); 128 deferredResult.callback();
129 129
130 return deferredResult; 130 return deferredResult;
131*/ 131*/
132 unlockPasswordComponent = new Clipperz.PM.UI.Web.Components.UnlockPasswordComponent({ 132 unlockPasswordComponent = new Clipperz.PM.UI.Web.Components.UnlockPasswordComponent({
133 'title':"Unlock account", 133 'title':"Unlock account",
134 'text': "Insert the passprase to unlock the account", 134 'text': "Insert the passprase to unlock the account",
135 'type': 'INFO', 135 'type': 'INFO',
136 'buttons': [ 136 'buttons': [
137 {text:"Cancel",result:'CANCEL'}, 137 {text:"Cancel",result:'CANCEL'},
138 {text:"Unlock", result:'OK',isDefault:true} 138 {text:"Unlock", result:'OK',isDefault:true}
139 ], 139 ],
140 'openFromElement': this.getElement('lock'), 140 'openFromElement': this.getElement('lock'),
141 'onOkCloseToElement': null, 141 'onOkCloseToElement': null,
142 'onCancelCloseToElement':this.getId('lock') 142 'onCancelCloseToElement':this.getId('lock')
143 }); 143 });
144 144
145 return unlockPasswordComponent.getPassphrase(); 145 return unlockPasswordComponent.getPassphrase();
146 }, 146 },
147 147
148 //========================================================================= 148 //=========================================================================
149 149
150 'renderSelf': function(/*aContainer, aPosition*/) { 150 'renderSelf': function(/*aContainer, aPosition*/) {
151 this.append(this.element(), [ 151 this.append(this.element(), [
152 // {tag:'canvas', id:this.getId('canvas'), cls:'canvas', width:'188', height:'154'}, 152 // {tag:'canvas', id:this.getId('canvas'), cls:'canvas', width:'188', height:'154'},
153 {tag:'div', cls:'header', children:[ 153 {tag:'div', cls:'header', children:[
154 {tag:'h1', html:"Welcome"}, 154 {tag:'h1', html:"Welcome"},
155 {tag:'a', cls:'lockButton', href:'#', id:this.getId('lock'), html:' '} 155 {tag:'a', cls:'lockButton', href:'#', id:this.getId('lock'), html:' '}
156 ]}, 156 ]},
157 {tag:'div', cls:'body', children:[ 157 {tag:'div', cls:'body', children:[
158 {tag:'h3', id:this.getId('username'), html:""}, 158 {tag:'h3', id:this.getId('username'), html:""},
159 {tag:'ul', children:[ 159 {tag:'ul', children:[
160 {tag:'li', id:this.getId('cards'), children:[ 160 {tag:'li', id:this.getId('cards'), children:[
161 {tag:'span', id:this.getId('cardsNumber'), cls:'number', html:"-"}, 161 {tag:'span', id:this.getId('cardsNumber'), cls:'number', html:"-"},
162 {tag:'span', id:this.getId('cardsLabel'), html:"cards"} 162 {tag:'span', id:this.getId('cardsLabel'), html:"cards"}
163 ]}, 163 ]},
164 {tag:'li', id:this.getId('directLogins'), children:[ 164 {tag:'li', id:this.getId('directLogins'), children:[
165 {tag:'span', id:this.getId('directLoginsNumber'), cls:'number', html:"-"}, 165 {tag:'span', id:this.getId('directLoginsNumber'), cls:'number', html:"-"},
166 {tag:'span', id:this.getId('directLoginsLabel'), html:"direct logins"} 166 {tag:'span', id:this.getId('directLoginsLabel'), html:"direct logins"}
167 ]} 167 ]}
168 ]}, 168 ]},
169 {tag:'div', cls:'accountInfo', children:[
170 {tag:'div', cls:'payButton', children:[
171 {tag:'a', href:'#', id:this.getId('payButton'), cls:'info', html:"info"}
172 ]},
173 {tag:'h5', html:"Account info"},
174 {tag:'div', cls:'accountStatus', children:[
175 {tag:'span', cls:'label', html:"status"},
176 {tag:'span', cls:'status', html:"early adopter"}
177 ]},
178 {tag:'div', cls:'accountLevel', children:[
179 {tag:'span', cls:'label', html:"level"},
180 // {tag:'span', cls:'level', html:"★☆☆☆"}
181 {tag:'span', cls:'level', html:"☆☆☆☆"}
182 ]},
183 {tag:'div', cls:'accountExpiration', children:[
184 {tag:'span', cls:'label', html:"expires"},
185 // {tag:'span', cls:'expriation', html:"on 26 April 2014"}
186 {tag:'span', cls:'expriation', html:"never"}
187 ]}
188 ]},
169 {tag:'a', href:'#', id:this.getId('logout'), html:"logout >"} 189 {tag:'a', href:'#', id:this.getId('logout'), html:"logout >"}
170 ]}, 190 ]},
171 {tag:'div', cls:'footer'} 191 {tag:'div', cls:'footer'}
172 ]); 192 ]);
173 193
174 MochiKit.Signal.connect(this.getElement('logout'), 'onclick', this, 'handleLogout'); 194 MochiKit.Signal.connect(this.getElement('logout'), 'onclick', this, 'handleLogout');
175 MochiKit.Signal.connect(this.getElement('lock'), 'onclick', this, 'toggleLock'); 195 MochiKit.Signal.connect(this.getElement('lock'), 'onclick', this, 'toggleLock');
196 MochiKit.Signal.connect(this.getElement('payButton'),'onclick', this, 'handlePayButton');
176 197
177 this._lockTooltip = new Clipperz.PM.UI.Common.Components.Tooltip({ 198 this._lockTooltip = new Clipperz.PM.UI.Common.Components.Tooltip({
178 element:this.getElement('lock'), 199 element:this.getElement('lock'),
179 text: "Click here to lock/unlock your account.", 200 text: "Click here to lock/unlock your account.",
180 position:'RIGHT' 201 position:'RIGHT'
181 }); 202 });
182 203
183 Clipperz.DOM.Helper.append(MochiKit.DOM.currentDocument().body, 204 Clipperz.DOM.Helper.append(MochiKit.DOM.currentDocument().body,
184 {tag:'div', id:this.getId('modalDialogWrapper'), cls:'modalDialogWrapper', children:[ 205 {tag:'div', id:this.getId('modalDialogWrapper'), cls:'modalDialogWrapper', children:[
185 {tag:'div', id:this.getId('modalDialogMask'), cls:'modalDialogMask userInfoBoxMask'} 206 {tag:'div', id:this.getId('modalDialogMask'), cls:'modalDialogMask userInfoBoxMask'}
186 ]} 207 ]}
187 ); 208 );
188 MochiKit.Style.hideElement(this.getId('modalDialogMask')); 209 MochiKit.Style.hideElement(this.getId('modalDialogMask'));
189 210
190 // this.drawUserInfoBackground(this.getElement('canvas')); 211 // this.drawUserInfoBackground(this.getElement('canvas'));
191 }, 212 },
192 213
193 //------------------------------------------------------------------------- 214 //-------------------------------------------------------------------------
215
216 'handlePayButton': function (anEvent) {
217 anEvent.preventDefault();
218 window.open('https://www.clipperz.com/pricing/', '_blank');
219 },
220
221 //-------------------------------------------------------------------------
194/* 222/*
195 'drawUserInfoBackground': function (canvas) { 223 'drawUserInfoBackground': function (canvas) {
196 var kMyDrawingFunctionWidth = 188.0; 224 var kMyDrawingFunctionWidth = 188.0;
197 var kMyDrawingFunctionHeight = 154.0; 225 var kMyDrawingFunctionHeight = 154.0;
198 226
199 var context = canvas.getContext("2d"); 227 var context = canvas.getContext("2d");
200 var color; 228 var color;
201 var resolution; 229 var resolution;
202 var alignStroke; 230 var alignStroke;
203 var path; 231 var path;
204 var pointX; 232 var pointX;
205 var pointY; 233 var pointY;
206 var controlPoint1X; 234 var controlPoint1X;
207 var controlPoint1Y; 235 var controlPoint1Y;
208 var controlPoint2X; 236 var controlPoint2X;
209 var controlPoint2Y; 237 var controlPoint2Y;
210 var gradient; 238 var gradient;
211 if (window.devicePixelRatio) 239 if (window.devicePixelRatio)
212 resolution = window.devicePixelRatio; 240 resolution = window.devicePixelRatio;
213 else 241 else
214 resolution = 1.0; 242 resolution = 1.0;
215 resolution *= 0.5 * (canvas.width / kMyDrawingFunctionWidth + canvas.height / kMyDrawingFunctionHeight); 243 resolution *= 0.5 * (canvas.width / kMyDrawingFunctionWidth + canvas.height / kMyDrawingFunctionHeight);
216 244
217 context.save(); 245 context.save();
218 context.scale(canvas.width / kMyDrawingFunctionWidth, canvas.height / kMyDrawingFunctionHeight); 246 context.scale(canvas.width / kMyDrawingFunctionWidth, canvas.height / kMyDrawingFunctionHeight);
219 context.clearRect(0.0, 0.0, kMyDrawingFunctionWidth, kMyDrawingFunctionHeight); 247 context.clearRect(0.0, 0.0, kMyDrawingFunctionWidth, kMyDrawingFunctionHeight);
220 248
221 // Setup for Shadow Effect 249 // Setup for Shadow Effect
222 color = "rgba(0.0%, 0.0%, 0.0%, 0.667)"; 250 color = "rgba(0.0%, 0.0%, 0.0%, 0.667)";
223 context.save(); 251 context.save();
224 context.shadowColor = color; 252 context.shadowColor = color;
225 context.shadowBlur = 3.0; 253 context.shadowBlur = 3.0;
226 context.shadowOffsetX = 5.729 * Math.cos(7.592) * resolution; 254 context.shadowOffsetX = 5.729 * Math.cos(7.592) * resolution;
227 context.shadowOffsetY = 5.729 * Math.sin(7.592) * resolution; 255 context.shadowOffsetY = 5.729 * Math.sin(7.592) * resolution;
228 256
229 // Layer 1 257 // Layer 1
230 258
231 alignStroke = 0.0; 259 alignStroke = 0.0;
232 context.beginPath(); 260 context.beginPath();
233 pointX = 169.5; 261 pointX = 169.5;
234 pointY = 141.5; 262 pointY = 141.5;
235 pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; 263 pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
236 pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; 264 pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;
237 context.moveTo(pointX, pointY); 265 context.moveTo(pointX, pointY);
238 pointX = 177.5; 266 pointX = 177.5;
239 pointY = 133.5; 267 pointY = 133.5;
240 pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; 268 pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution;
241 pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; 269 pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution;