Login screen new interface (social buttons)

This commit is contained in:
RainLoop Team 2014-10-30 17:59:25 +04:00
parent 28a684b7c8
commit 77a30c0b92
40 changed files with 622 additions and 630 deletions

View file

@ -441,7 +441,7 @@
} }
}); });
if (bAnimate) if (bAnimate && !Globals.bMobileDevice)
{ {
$('.i18n-animation.i18n', oElement).letterfx({ $('.i18n-animation.i18n', oElement).letterfx({
'fx': 'fall fade', 'backwards': false, 'timing': 50, 'fx_duration': '50ms', 'letter_end': 'restore', 'element_end': 'restore' 'fx': 'fall fade', 'backwards': false, 'timing': 50, 'fx_duration': '50ms', 'letter_end': 'restore', 'element_end': 'restore'

View file

@ -10,7 +10,7 @@
/** /**
* @constructor * @constructor
*/ */
function AboutAdminSetting() function AboutAdminSettings()
{ {
var var
Settings = require('Storage/Settings'), Settings = require('Storage/Settings'),
@ -67,7 +67,7 @@
}, this); }, this);
} }
AboutAdminSetting.prototype.onBuild = function () AboutAdminSettings.prototype.onBuild = function ()
{ {
if (this.access()) if (this.access())
{ {
@ -75,7 +75,7 @@
} }
}; };
AboutAdminSetting.prototype.updateCoreData = function () AboutAdminSettings.prototype.updateCoreData = function ()
{ {
if (!this.coreUpdating()) if (!this.coreUpdating())
{ {
@ -83,6 +83,6 @@
} }
}; };
module.exports = AboutAdminSetting; module.exports = AboutAdminSettings;
}()); }());

View file

@ -13,7 +13,7 @@
/** /**
* @constructor * @constructor
*/ */
function BrandingAdminSetting() function BrandingAdminSettings()
{ {
var var
Enums = require('Common/Enums'), Enums = require('Common/Enums'),
@ -40,7 +40,7 @@
this.loginPowered = ko.observable(!!Settings.settingsGet('LoginPowered')); this.loginPowered = ko.observable(!!Settings.settingsGet('LoginPowered'));
} }
BrandingAdminSetting.prototype.onBuild = function () BrandingAdminSettings.prototype.onBuild = function ()
{ {
if (this.capa) if (this.capa)
{ {
@ -99,6 +99,6 @@
} }
}; };
module.exports = BrandingAdminSetting; module.exports = BrandingAdminSettings;
}()); }());

View file

@ -16,7 +16,7 @@
/** /**
* @constructor * @constructor
*/ */
function ContactsAdminSetting() function ContactsAdminSettings()
{ {
var var
Remote = require('Storage/Admin/Remote') Remote = require('Storage/Admin/Remote')
@ -141,7 +141,7 @@
this.onTestContactsResponse = _.bind(this.onTestContactsResponse, this); this.onTestContactsResponse = _.bind(this.onTestContactsResponse, this);
} }
ContactsAdminSetting.prototype.onTestContactsResponse = function (sResult, oData) ContactsAdminSettings.prototype.onTestContactsResponse = function (sResult, oData)
{ {
this.testContactsSuccess(false); this.testContactsSuccess(false);
this.testContactsError(false); this.testContactsError(false);
@ -167,14 +167,14 @@
this.testing(false); this.testing(false);
}; };
ContactsAdminSetting.prototype.onShow = function () ContactsAdminSettings.prototype.onShow = function ()
{ {
this.testContactsSuccess(false); this.testContactsSuccess(false);
this.testContactsError(false); this.testContactsError(false);
this.testContactsErrorMessage(''); this.testContactsErrorMessage('');
}; };
ContactsAdminSetting.prototype.onBuild = function () ContactsAdminSettings.prototype.onBuild = function ()
{ {
var var
self = this, self = this,
@ -237,6 +237,6 @@
}, 50); }, 50);
}; };
module.exports = ContactsAdminSetting; module.exports = ContactsAdminSettings;
}()); }());

View file

@ -19,7 +19,7 @@
/** /**
* @constructor * @constructor
*/ */
function DomainsAdminSetting() function DomainsAdminSettings()
{ {
this.domains = Data.domains; this.domains = Data.domains;
@ -45,7 +45,7 @@
]}); ]});
} }
DomainsAdminSetting.prototype.startDomainForDeletionTimeout = function () DomainsAdminSettings.prototype.startDomainForDeletionTimeout = function ()
{ {
var self = this; var self = this;
window.clearInterval(this.iDomainForDeletionTimeout); window.clearInterval(this.iDomainForDeletionTimeout);
@ -54,24 +54,24 @@
}, 1000 * 3); }, 1000 * 3);
}; };
DomainsAdminSetting.prototype.createDomain = function () DomainsAdminSettings.prototype.createDomain = function ()
{ {
require('Knoin/Knoin').showScreenPopup(PopupsDomainViewModel); require('Knoin/Knoin').showScreenPopup(PopupsDomainViewModel);
}; };
DomainsAdminSetting.prototype.deleteDomain = function (oDomain) DomainsAdminSettings.prototype.deleteDomain = function (oDomain)
{ {
this.domains.remove(oDomain); this.domains.remove(oDomain);
Remote.domainDelete(_.bind(this.onDomainListChangeRequest, this), oDomain.name); Remote.domainDelete(_.bind(this.onDomainListChangeRequest, this), oDomain.name);
}; };
DomainsAdminSetting.prototype.disableDomain = function (oDomain) DomainsAdminSettings.prototype.disableDomain = function (oDomain)
{ {
oDomain.disabled(!oDomain.disabled()); oDomain.disabled(!oDomain.disabled());
Remote.domainDisable(_.bind(this.onDomainListChangeRequest, this), oDomain.name, oDomain.disabled()); Remote.domainDisable(_.bind(this.onDomainListChangeRequest, this), oDomain.name, oDomain.disabled());
}; };
DomainsAdminSetting.prototype.onBuild = function (oDom) DomainsAdminSettings.prototype.onBuild = function (oDom)
{ {
var self = this; var self = this;
oDom oDom
@ -87,7 +87,7 @@
require('App/Admin').reloadDomainList(); require('App/Admin').reloadDomainList();
}; };
DomainsAdminSetting.prototype.onDomainLoadRequest = function (sResult, oData) DomainsAdminSettings.prototype.onDomainLoadRequest = function (sResult, oData)
{ {
if (Enums.StorageResultType.Success === sResult && oData && oData.Result) if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
{ {
@ -95,11 +95,11 @@
} }
}; };
DomainsAdminSetting.prototype.onDomainListChangeRequest = function () DomainsAdminSettings.prototype.onDomainListChangeRequest = function ()
{ {
require('App/Admin').reloadDomainList(); require('App/Admin').reloadDomainList();
}; };
module.exports = DomainsAdminSetting; module.exports = DomainsAdminSettings;
}()); }());

View file

@ -18,7 +18,7 @@
/** /**
* @constructor * @constructor
*/ */
function GeneralAdminSetting() function GeneralAdminSettings()
{ {
this.mainLanguage = Data.mainLanguage; this.mainLanguage = Data.mainLanguage;
this.mainTheme = Data.mainTheme; this.mainTheme = Data.mainTheme;
@ -59,7 +59,7 @@
this.themeTrigger = ko.observable(Enums.SaveSettingsStep.Idle); this.themeTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
} }
GeneralAdminSetting.prototype.onBuild = function () GeneralAdminSettings.prototype.onBuild = function ()
{ {
var var
self = this, self = this,
@ -128,7 +128,7 @@
}, 50); }, 50);
}; };
GeneralAdminSetting.prototype.selectLanguage = function () GeneralAdminSettings.prototype.selectLanguage = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'));
}; };
@ -136,11 +136,11 @@
/** /**
* @return {string} * @return {string}
*/ */
GeneralAdminSetting.prototype.phpInfoLink = function () GeneralAdminSettings.prototype.phpInfoLink = function ()
{ {
return Links.phpInfo(); return Links.phpInfo();
}; };
module.exports = GeneralAdminSetting; module.exports = GeneralAdminSettings;
}()); }());

View file

@ -14,7 +14,7 @@
/** /**
* @constructor * @constructor
*/ */
function LicensingAdminSetting() function LicensingAdminSettings()
{ {
this.licensing = Data.licensing; this.licensing = Data.licensing;
this.licensingProcess = Data.licensingProcess; this.licensingProcess = Data.licensingProcess;
@ -34,7 +34,7 @@
}, this); }, this);
} }
LicensingAdminSetting.prototype.onBuild = function () LicensingAdminSettings.prototype.onBuild = function ()
{ {
if (this.subscriptionEnabled()) if (this.subscriptionEnabled())
{ {
@ -42,12 +42,12 @@
} }
}; };
LicensingAdminSetting.prototype.onShow = function () LicensingAdminSettings.prototype.onShow = function ()
{ {
this.adminDomain(Settings.settingsGet('AdminDomain')); this.adminDomain(Settings.settingsGet('AdminDomain'));
}; };
LicensingAdminSetting.prototype.showActivationForm = function () LicensingAdminSettings.prototype.showActivationForm = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Activate')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/Activate'));
}; };
@ -55,7 +55,7 @@
/** /**
* @returns {string} * @returns {string}
*/ */
LicensingAdminSetting.prototype.licenseExpiredMomentValue = function () LicensingAdminSettings.prototype.licenseExpiredMomentValue = function ()
{ {
var var
iTime = this.licenseExpired(), iTime = this.licenseExpired(),
@ -65,6 +65,6 @@
return iTime && 1898625600 === iTime ? 'Never' : (oDate.format('LL') + ' (' + oDate.from(moment()) + ')'); return iTime && 1898625600 === iTime ? 'Never' : (oDate.format('LL') + ' (' + oDate.from(moment()) + ')');
}; };
module.exports = LicensingAdminSetting; module.exports = LicensingAdminSettings;
}()); }());

View file

@ -17,7 +17,7 @@
/** /**
* @constructor * @constructor
*/ */
function LoginAdminSetting() function LoginAdminSettings()
{ {
this.determineUserLanguage = Data.determineUserLanguage; this.determineUserLanguage = Data.determineUserLanguage;
this.determineUserDomain = Data.determineUserDomain; this.determineUserDomain = Data.determineUserDomain;
@ -30,7 +30,7 @@
this.dummy = ko.observable(false); this.dummy = ko.observable(false);
} }
LoginAdminSetting.prototype.onBuild = function () LoginAdminSettings.prototype.onBuild = function ()
{ {
var var
self = this, self = this,
@ -68,6 +68,6 @@
}, 50); }, 50);
}; };
module.exports = LoginAdminSetting; module.exports = LoginAdminSettings;
}()); }());

View file

@ -17,7 +17,7 @@
/** /**
* @constructor * @constructor
*/ */
function PackagesAdminSetting() function PackagesAdminSettings()
{ {
this.packagesError = ko.observable(''); this.packagesError = ko.observable('');
@ -42,17 +42,17 @@
}, this); }, this);
} }
PackagesAdminSetting.prototype.onShow = function () PackagesAdminSettings.prototype.onShow = function ()
{ {
this.packagesError(''); this.packagesError('');
}; };
PackagesAdminSetting.prototype.onBuild = function () PackagesAdminSettings.prototype.onBuild = function ()
{ {
require('App/Admin').reloadPackagesList(); require('App/Admin').reloadPackagesList();
}; };
PackagesAdminSetting.prototype.requestHelper = function (oPackage, bInstall) PackagesAdminSettings.prototype.requestHelper = function (oPackage, bInstall)
{ {
var self = this; var self = this;
return function (sResult, oData) { return function (sResult, oData) {
@ -89,7 +89,7 @@
}; };
}; };
PackagesAdminSetting.prototype.deletePackage = function (oPackage) PackagesAdminSettings.prototype.deletePackage = function (oPackage)
{ {
if (oPackage) if (oPackage)
{ {
@ -98,7 +98,7 @@
} }
}; };
PackagesAdminSetting.prototype.installPackage = function (oPackage) PackagesAdminSettings.prototype.installPackage = function (oPackage)
{ {
if (oPackage) if (oPackage)
{ {
@ -107,6 +107,6 @@
} }
}; };
module.exports = PackagesAdminSetting; module.exports = PackagesAdminSettings;
}()); }());

View file

@ -18,7 +18,7 @@
/** /**
* @constructor * @constructor
*/ */
function PluginsAdminSetting() function PluginsAdminSettings()
{ {
this.enabledPlugins = ko.observable(!!Settings.settingsGet('EnabledPlugins')); this.enabledPlugins = ko.observable(!!Settings.settingsGet('EnabledPlugins'));
@ -34,18 +34,18 @@
this.onPluginDisableRequest = _.bind(this.onPluginDisableRequest, this); this.onPluginDisableRequest = _.bind(this.onPluginDisableRequest, this);
} }
PluginsAdminSetting.prototype.disablePlugin = function (oPlugin) PluginsAdminSettings.prototype.disablePlugin = function (oPlugin)
{ {
oPlugin.disabled(!oPlugin.disabled()); oPlugin.disabled(!oPlugin.disabled());
Remote.pluginDisable(this.onPluginDisableRequest, oPlugin.name, oPlugin.disabled()); Remote.pluginDisable(this.onPluginDisableRequest, oPlugin.name, oPlugin.disabled());
}; };
PluginsAdminSetting.prototype.configurePlugin = function (oPlugin) PluginsAdminSettings.prototype.configurePlugin = function (oPlugin)
{ {
Remote.plugin(this.onPluginLoadRequest, oPlugin.name); Remote.plugin(this.onPluginLoadRequest, oPlugin.name);
}; };
PluginsAdminSetting.prototype.onBuild = function (oDom) PluginsAdminSettings.prototype.onBuild = function (oDom)
{ {
var self = this; var self = this;
@ -73,13 +73,13 @@
}); });
}; };
PluginsAdminSetting.prototype.onShow = function () PluginsAdminSettings.prototype.onShow = function ()
{ {
this.pluginsError(''); this.pluginsError('');
require('App/Admin').reloadPluginList(); require('App/Admin').reloadPluginList();
}; };
PluginsAdminSetting.prototype.onPluginLoadRequest = function (sResult, oData) PluginsAdminSettings.prototype.onPluginLoadRequest = function (sResult, oData)
{ {
if (Enums.StorageResultType.Success === sResult && oData && oData.Result) if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
{ {
@ -87,7 +87,7 @@
} }
}; };
PluginsAdminSetting.prototype.onPluginDisableRequest = function (sResult, oData) PluginsAdminSettings.prototype.onPluginDisableRequest = function (sResult, oData)
{ {
if (Enums.StorageResultType.Success === sResult && oData) if (Enums.StorageResultType.Success === sResult && oData)
{ {
@ -107,6 +107,6 @@
require('App/Admin').reloadPluginList(); require('App/Admin').reloadPluginList();
}; };
module.exports = PluginsAdminSetting; module.exports = PluginsAdminSettings;
}()); }());

View file

@ -19,7 +19,7 @@
/** /**
* @constructor * @constructor
*/ */
function SecurityAdminSetting() function SecurityAdminSettings()
{ {
this.useLocalProxyForExternalImages = Data.useLocalProxyForExternalImages; this.useLocalProxyForExternalImages = Data.useLocalProxyForExternalImages;
@ -91,7 +91,7 @@
this.onNewAdminPasswordResponse = _.bind(this.onNewAdminPasswordResponse, this); this.onNewAdminPasswordResponse = _.bind(this.onNewAdminPasswordResponse, this);
} }
SecurityAdminSetting.prototype.onNewAdminPasswordResponse = function (sResult, oData) SecurityAdminSettings.prototype.onNewAdminPasswordResponse = function (sResult, oData)
{ {
if (Enums.StorageResultType.Success === sResult && oData && oData.Result) if (Enums.StorageResultType.Success === sResult && oData && oData.Result)
{ {
@ -109,7 +109,7 @@
} }
}; };
SecurityAdminSetting.prototype.onBuild = function () SecurityAdminSettings.prototype.onBuild = function ()
{ {
var var
Remote = require('Storage/Admin/Remote') Remote = require('Storage/Admin/Remote')
@ -140,7 +140,7 @@
}); });
}; };
SecurityAdminSetting.prototype.onHide = function () SecurityAdminSettings.prototype.onHide = function ()
{ {
this.adminPassword(''); this.adminPassword('');
this.adminPasswordNew(''); this.adminPasswordNew('');
@ -150,11 +150,11 @@
/** /**
* @return {string} * @return {string}
*/ */
SecurityAdminSetting.prototype.phpInfoLink = function () SecurityAdminSettings.prototype.phpInfoLink = function ()
{ {
return Links.phpInfo(); return Links.phpInfo();
}; };
module.exports = SecurityAdminSetting; module.exports = SecurityAdminSettings;
}()); }());

View file

@ -14,7 +14,7 @@
/** /**
* @constructor * @constructor
*/ */
function SocialAdminSetting() function SocialAdminSettings()
{ {
var Data = require('Storage/Admin/Data'); var Data = require('Storage/Admin/Data');
@ -45,7 +45,7 @@
this.dropboxTrigger1 = ko.observable(Enums.SaveSettingsStep.Idle); this.dropboxTrigger1 = ko.observable(Enums.SaveSettingsStep.Idle);
} }
SocialAdminSetting.prototype.onBuild = function () SocialAdminSettings.prototype.onBuild = function ()
{ {
var var
self = this, self = this,
@ -161,6 +161,6 @@
}, 50); }, 50);
}; };
module.exports = SocialAdminSetting; module.exports = SocialAdminSettings;
}()); }());

View file

@ -19,7 +19,7 @@
/** /**
* @constructor * @constructor
*/ */
function AccountsUserSetting() function AccountsUserSettings()
{ {
this.accounts = Data.accounts; this.accounts = Data.accounts;
@ -46,12 +46,12 @@
]}); ]});
} }
AccountsUserSetting.prototype.addNewAccount = function () AccountsUserSettings.prototype.addNewAccount = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/AddAccount')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/AddAccount'));
}; };
AccountsUserSetting.prototype.editAccount = function (oAccountItem) AccountsUserSettings.prototype.editAccount = function (oAccountItem)
{ {
if (oAccountItem && oAccountItem.canBeEdit()) if (oAccountItem && oAccountItem.canBeEdit())
{ {
@ -62,7 +62,7 @@
/** /**
* @param {AccountModel} oAccountToRemove * @param {AccountModel} oAccountToRemove
*/ */
AccountsUserSetting.prototype.deleteAccount = function (oAccountToRemove) AccountsUserSettings.prototype.deleteAccount = function (oAccountToRemove)
{ {
if (oAccountToRemove && oAccountToRemove.deleteAccess()) if (oAccountToRemove && oAccountToRemove.deleteAccess())
{ {
@ -102,7 +102,7 @@
} }
}; };
AccountsUserSetting.prototype.onBuild = function (oDom) AccountsUserSettings.prototype.onBuild = function (oDom)
{ {
var self = this; var self = this;
@ -117,6 +117,6 @@
; ;
}; };
module.exports = AccountsUserSetting; module.exports = AccountsUserSettings;
}()); }());

View file

@ -16,7 +16,7 @@
/** /**
* @constructor * @constructor
*/ */
function ChangePasswordUserSetting() function ChangePasswordUserSettings()
{ {
this.changeProcess = ko.observable(false); this.changeProcess = ko.observable(false);
@ -76,7 +76,7 @@
this.onChangePasswordResponse = _.bind(this.onChangePasswordResponse, this); this.onChangePasswordResponse = _.bind(this.onChangePasswordResponse, this);
} }
ChangePasswordUserSetting.prototype.onHide = function () ChangePasswordUserSettings.prototype.onHide = function ()
{ {
this.changeProcess(false); this.changeProcess(false);
this.currentPassword(''); this.currentPassword('');
@ -87,7 +87,7 @@
this.currentPassword.error(false); this.currentPassword.error(false);
}; };
ChangePasswordUserSetting.prototype.onChangePasswordResponse = function (sResult, oData) ChangePasswordUserSettings.prototype.onChangePasswordResponse = function (sResult, oData)
{ {
this.changeProcess(false); this.changeProcess(false);
this.passwordMismatch(false); this.passwordMismatch(false);
@ -116,6 +116,6 @@
} }
}; };
module.exports = ChangePasswordUserSetting; module.exports = ChangePasswordUserSettings;
}()); }());

View file

@ -13,7 +13,7 @@
/** /**
* @constructor * @constructor
*/ */
function ContactsUserSetting() function ContactsUserSettings()
{ {
this.contactsAutosave = Data.contactsAutosave; this.contactsAutosave = Data.contactsAutosave;
@ -31,6 +31,15 @@
this.contactsSyncPass() this.contactsSyncPass()
].join('|'); ].join('|');
}, this).extend({'throttle': 500}); }, this).extend({'throttle': 500});
}
ContactsUserSettings.prototype.onBuild = function ()
{
Data.contactsAutosave.subscribe(function (bValue) {
Remote.saveSettings(null, {
'ContactsAutosave': bValue ? '1' : '0'
});
});
this.saveTrigger.subscribe(function () { this.saveTrigger.subscribe(function () {
Remote.saveContactsSyncData(null, Remote.saveContactsSyncData(null,
@ -40,17 +49,8 @@
this.contactsSyncPass() this.contactsSyncPass()
); );
}, this); }, this);
}
ContactsUserSetting.prototype.onBuild = function ()
{
Data.contactsAutosave.subscribe(function (bValue) {
Remote.saveSettings(null, {
'ContactsAutosave': bValue ? '1' : '0'
});
});
}; };
module.exports = ContactsUserSetting; module.exports = ContactsUserSettings;
}()); }());

View file

@ -12,7 +12,7 @@
/** /**
* @constructor * @constructor
*/ */
function FiltersUserSetting() function FiltersUserSettings()
{ {
this.filters = ko.observableArray([]); this.filters = ko.observableArray([]);
this.filters.loading = ko.observable(false); this.filters.loading = ko.observable(false);
@ -22,13 +22,13 @@
}); });
} }
FiltersUserSetting.prototype.deleteFilter = function (oFilter) FiltersUserSettings.prototype.deleteFilter = function (oFilter)
{ {
this.filters.remove(oFilter); this.filters.remove(oFilter);
Utils.delegateRunOnDestroy(oFilter); Utils.delegateRunOnDestroy(oFilter);
}; };
FiltersUserSetting.prototype.addFilter = function () FiltersUserSettings.prototype.addFilter = function ()
{ {
var var
FilterModel = require('Model/Filter') FilterModel = require('Model/Filter')
@ -38,6 +38,6 @@
require('View/Popup/Filter'), [new FilterModel()]); require('View/Popup/Filter'), [new FilterModel()]);
}; };
module.exports = FiltersUserSetting; module.exports = FiltersUserSettings;
}()); }());

View file

@ -19,7 +19,7 @@
/** /**
* @constructor * @constructor
*/ */
function FoldersUserSetting() function FoldersUserSettings()
{ {
this.foldersListError = Data.foldersListError; this.foldersListError = Data.foldersListError;
this.folderList = Data.folderList; this.folderList = Data.folderList;
@ -89,7 +89,7 @@
this.useImapSubscribe = !!Settings.settingsGet('UseImapSubscribe'); this.useImapSubscribe = !!Settings.settingsGet('UseImapSubscribe');
} }
FoldersUserSetting.prototype.folderEditOnEnter = function (oFolder) FoldersUserSettings.prototype.folderEditOnEnter = function (oFolder)
{ {
var var
sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : '' sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : ''
@ -121,7 +121,7 @@
oFolder.edited(false); oFolder.edited(false);
}; };
FoldersUserSetting.prototype.folderEditOnEsc = function (oFolder) FoldersUserSettings.prototype.folderEditOnEsc = function (oFolder)
{ {
if (oFolder) if (oFolder)
{ {
@ -129,22 +129,22 @@
} }
}; };
FoldersUserSetting.prototype.onShow = function () FoldersUserSettings.prototype.onShow = function ()
{ {
Data.foldersListError(''); Data.foldersListError('');
}; };
FoldersUserSetting.prototype.createFolder = function () FoldersUserSettings.prototype.createFolder = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderCreate')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderCreate'));
}; };
FoldersUserSetting.prototype.systemFolder = function () FoldersUserSettings.prototype.systemFolder = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderSystem')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderSystem'));
}; };
FoldersUserSetting.prototype.deleteFolder = function (oFolderToRemove) FoldersUserSettings.prototype.deleteFolder = function (oFolderToRemove)
{ {
if (oFolderToRemove && oFolderToRemove.canBeDeleted() && oFolderToRemove.deleteAccess() && if (oFolderToRemove && oFolderToRemove.canBeDeleted() && oFolderToRemove.deleteAccess() &&
0 === oFolderToRemove.privateMessageCountAll()) 0 === oFolderToRemove.privateMessageCountAll())
@ -193,7 +193,7 @@
} }
}; };
FoldersUserSetting.prototype.subscribeFolder = function (oFolder) FoldersUserSettings.prototype.subscribeFolder = function (oFolder)
{ {
Local.set(Enums.ClientSideKeyName.FoldersLashHash, ''); Local.set(Enums.ClientSideKeyName.FoldersLashHash, '');
Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, true); Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, true);
@ -201,7 +201,7 @@
oFolder.subScribed(true); oFolder.subScribed(true);
}; };
FoldersUserSetting.prototype.unSubscribeFolder = function (oFolder) FoldersUserSettings.prototype.unSubscribeFolder = function (oFolder)
{ {
Local.set(Enums.ClientSideKeyName.FoldersLashHash, ''); Local.set(Enums.ClientSideKeyName.FoldersLashHash, '');
Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, false); Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, false);
@ -209,6 +209,6 @@
oFolder.subScribed(false); oFolder.subScribed(false);
}; };
module.exports = FoldersUserSetting; module.exports = FoldersUserSettings;
}()); }());

View file

@ -19,7 +19,7 @@
/** /**
* @constructor * @constructor
*/ */
function GeneralUserSetting() function GeneralUserSettings()
{ {
this.mainLanguage = Data.mainLanguage; this.mainLanguage = Data.mainLanguage;
this.mainMessagesPerPage = Data.mainMessagesPerPage; this.mainMessagesPerPage = Data.mainMessagesPerPage;
@ -74,12 +74,12 @@
}, this); }, this);
} }
GeneralUserSetting.prototype.toggleLayout = function () GeneralUserSettings.prototype.toggleLayout = function ()
{ {
this.layout(Enums.Layout.NoPreview === this.layout() ? Enums.Layout.SidePreview : Enums.Layout.NoPreview); this.layout(Enums.Layout.NoPreview === this.layout() ? Enums.Layout.SidePreview : Enums.Layout.NoPreview);
}; };
GeneralUserSetting.prototype.onBuild = function () GeneralUserSettings.prototype.onBuild = function ()
{ {
var self = this; var self = this;
@ -178,16 +178,16 @@
}, 50); }, 50);
}; };
GeneralUserSetting.prototype.onShow = function () GeneralUserSettings.prototype.onShow = function ()
{ {
Data.desktopNotifications.valueHasMutated(); Data.desktopNotifications.valueHasMutated();
}; };
GeneralUserSetting.prototype.selectLanguage = function () GeneralUserSettings.prototype.selectLanguage = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'));
}; };
module.exports = GeneralUserSetting; module.exports = GeneralUserSettings;
}()); }());

View file

@ -18,7 +18,7 @@
/** /**
* @constructor * @constructor
*/ */
function IdentitiesUserSetting() function IdentitiesUserSettings()
{ {
this.editor = null; this.editor = null;
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender; this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
@ -100,7 +100,7 @@
* *
* @return {string} * @return {string}
*/ */
IdentitiesUserSetting.prototype.formattedAccountIdentity = function () IdentitiesUserSettings.prototype.formattedAccountIdentity = function ()
{ {
var var
sDisplayName = this.displayName.peek(), sDisplayName = this.displayName.peek(),
@ -110,12 +110,12 @@
return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>'; return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>';
}; };
IdentitiesUserSetting.prototype.addNewIdentity = function () IdentitiesUserSettings.prototype.addNewIdentity = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity'));
}; };
IdentitiesUserSetting.prototype.editIdentity = function (oIdentity) IdentitiesUserSettings.prototype.editIdentity = function (oIdentity)
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity'), [oIdentity]); require('Knoin/Knoin').showScreenPopup(require('View/Popup/Identity'), [oIdentity]);
}; };
@ -123,7 +123,7 @@
/** /**
* @param {IdentityModel} oIdentityToRemove * @param {IdentityModel} oIdentityToRemove
*/ */
IdentitiesUserSetting.prototype.deleteIdentity = function (oIdentityToRemove) IdentitiesUserSettings.prototype.deleteIdentity = function (oIdentityToRemove)
{ {
if (oIdentityToRemove && oIdentityToRemove.deleteAccess()) if (oIdentityToRemove && oIdentityToRemove.deleteAccess())
{ {
@ -146,7 +146,7 @@
} }
}; };
IdentitiesUserSetting.prototype.onFocus = function () IdentitiesUserSettings.prototype.onFocus = function ()
{ {
if (!this.editor && this.signatureDom()) if (!this.editor && this.signatureDom())
{ {
@ -172,7 +172,7 @@
} }
}; };
IdentitiesUserSetting.prototype.onBuild = function (oDom) IdentitiesUserSettings.prototype.onBuild = function (oDom)
{ {
var self = this; var self = this;
@ -228,6 +228,6 @@
}, 50); }, 50);
}; };
module.exports = IdentitiesUserSetting; module.exports = IdentitiesUserSettings;
}()); }());

View file

@ -18,7 +18,7 @@
/** /**
* @constructor * @constructor
*/ */
function IdentityUserSetting() function IdentityUserSettings()
{ {
this.editor = null; this.editor = null;
@ -34,7 +34,7 @@
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle); this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
} }
IdentityUserSetting.prototype.onFocus = function () IdentityUserSettings.prototype.onFocus = function ()
{ {
if (!this.editor && this.signatureDom()) if (!this.editor && this.signatureDom())
{ {
@ -60,7 +60,7 @@
} }
}; };
IdentityUserSetting.prototype.onBuild = function () IdentityUserSettings.prototype.onBuild = function ()
{ {
var self = this; var self = this;
_.delay(function () { _.delay(function () {
@ -98,6 +98,6 @@
}, 50); }, 50);
}; };
module.exports = IdentityUserSetting; module.exports = IdentityUserSettings;
}()); }());

View file

@ -17,7 +17,7 @@
/** /**
* @constructor * @constructor
*/ */
function OpenPgpUserSetting() function OpenPgpUserSettings()
{ {
this.openpgpkeys = Data.openpgpkeys; this.openpgpkeys = Data.openpgpkeys;
this.openpgpkeysPublic = Data.openpgpkeysPublic; this.openpgpkeysPublic = Data.openpgpkeysPublic;
@ -38,17 +38,17 @@
]}); ]});
} }
OpenPgpUserSetting.prototype.addOpenPgpKey = function () OpenPgpUserSettings.prototype.addOpenPgpKey = function ()
{ {
kn.showScreenPopup(require('View/Popup/AddOpenPgpKey')); kn.showScreenPopup(require('View/Popup/AddOpenPgpKey'));
}; };
OpenPgpUserSetting.prototype.generateOpenPgpKey = function () OpenPgpUserSettings.prototype.generateOpenPgpKey = function ()
{ {
kn.showScreenPopup(require('View/Popup/NewOpenPgpKey')); kn.showScreenPopup(require('View/Popup/NewOpenPgpKey'));
}; };
OpenPgpUserSetting.prototype.viewOpenPgpKey = function (oOpenPgpKey) OpenPgpUserSettings.prototype.viewOpenPgpKey = function (oOpenPgpKey)
{ {
if (oOpenPgpKey) if (oOpenPgpKey)
{ {
@ -59,7 +59,7 @@
/** /**
* @param {OpenPgpKeyModel} oOpenPgpKeyToRemove * @param {OpenPgpKeyModel} oOpenPgpKeyToRemove
*/ */
OpenPgpUserSetting.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove) OpenPgpUserSettings.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove)
{ {
if (oOpenPgpKeyToRemove && oOpenPgpKeyToRemove.deleteAccess()) if (oOpenPgpKeyToRemove && oOpenPgpKeyToRemove.deleteAccess())
{ {
@ -87,6 +87,6 @@
} }
}; };
module.exports = OpenPgpUserSetting; module.exports = OpenPgpUserSettings;
}()); }());

View file

@ -16,7 +16,7 @@
/** /**
* @constructor * @constructor
*/ */
function SecurityUserSetting() function SecurityUserSettings()
{ {
this.processing = ko.observable(false); this.processing = ko.observable(false);
this.clearing = ko.observable(false); this.clearing = ko.observable(false);
@ -46,37 +46,37 @@
this.onSecretResult = _.bind(this.onSecretResult, this); this.onSecretResult = _.bind(this.onSecretResult, this);
} }
SecurityUserSetting.prototype.showSecret = function () SecurityUserSettings.prototype.showSecret = function ()
{ {
this.secreting(true); this.secreting(true);
Remote.showTwoFactorSecret(this.onSecretResult); Remote.showTwoFactorSecret(this.onSecretResult);
}; };
SecurityUserSetting.prototype.hideSecret = function () SecurityUserSettings.prototype.hideSecret = function ()
{ {
this.viewSecret(''); this.viewSecret('');
this.viewBackupCodes(''); this.viewBackupCodes('');
this.viewUrl(''); this.viewUrl('');
}; };
SecurityUserSetting.prototype.createTwoFactor = function () SecurityUserSettings.prototype.createTwoFactor = function ()
{ {
this.processing(true); this.processing(true);
Remote.createTwoFactor(this.onResult); Remote.createTwoFactor(this.onResult);
}; };
SecurityUserSetting.prototype.enableTwoFactor = function () SecurityUserSettings.prototype.enableTwoFactor = function ()
{ {
this.processing(true); this.processing(true);
Remote.enableTwoFactor(this.onResult, this.viewEnable()); Remote.enableTwoFactor(this.onResult, this.viewEnable());
}; };
SecurityUserSetting.prototype.testTwoFactor = function () SecurityUserSettings.prototype.testTwoFactor = function ()
{ {
require('Knoin/Knoin').showScreenPopup(require('View/Popup/TwoFactorTest')); require('Knoin/Knoin').showScreenPopup(require('View/Popup/TwoFactorTest'));
}; };
SecurityUserSetting.prototype.clearTwoFactor = function () SecurityUserSettings.prototype.clearTwoFactor = function ()
{ {
this.viewSecret(''); this.viewSecret('');
this.viewBackupCodes(''); this.viewBackupCodes('');
@ -86,14 +86,14 @@
Remote.clearTwoFactor(this.onResult); Remote.clearTwoFactor(this.onResult);
}; };
SecurityUserSetting.prototype.onShow = function () SecurityUserSettings.prototype.onShow = function ()
{ {
this.viewSecret(''); this.viewSecret('');
this.viewBackupCodes(''); this.viewBackupCodes('');
this.viewUrl(''); this.viewUrl('');
}; };
SecurityUserSetting.prototype.onResult = function (sResult, oData) SecurityUserSettings.prototype.onResult = function (sResult, oData)
{ {
this.processing(false); this.processing(false);
this.clearing(false); this.clearing(false);
@ -139,7 +139,7 @@
} }
}; };
SecurityUserSetting.prototype.onSecretResult = function (sResult, oData) SecurityUserSettings.prototype.onSecretResult = function (sResult, oData)
{ {
this.secreting(false); this.secreting(false);
@ -155,12 +155,12 @@
} }
}; };
SecurityUserSetting.prototype.onBuild = function () SecurityUserSettings.prototype.onBuild = function ()
{ {
this.processing(true); this.processing(true);
Remote.getTwoFactor(this.onResult); Remote.getTwoFactor(this.onResult);
}; };
module.exports = SecurityUserSetting; module.exports = SecurityUserSettings;
}()); }());

View file

@ -6,7 +6,7 @@
/** /**
* @constructor * @constructor
*/ */
function SocialUserSetting() function SocialUserSettings()
{ {
var var
Utils = require('Common/Utils'), Utils = require('Common/Utils'),
@ -71,6 +71,6 @@
}); });
} }
module.exports = SocialUserSetting; module.exports = SocialUserSettings;
}()); }());

View file

@ -18,7 +18,7 @@
/** /**
* @constructor * @constructor
*/ */
function ThemesUserSetting() function ThemesUserSettings()
{ {
var self = this; var self = this;
@ -45,7 +45,7 @@
}, this); }, this);
} }
ThemesUserSetting.prototype.onBuild = function () ThemesUserSettings.prototype.onBuild = function ()
{ {
var sCurrentTheme = Data.theme(); var sCurrentTheme = Data.theme();
this.themesObjects(_.map(Data.themes(), function (sTheme) { this.themesObjects(_.map(Data.themes(), function (sTheme) {
@ -58,6 +58,6 @@
})); }));
}; };
module.exports = ThemesUserSetting; module.exports = ThemesUserSettings;
}()); }());

View file

@ -103,4 +103,13 @@
.flag-selector { .flag-selector {
margin-bottom: 0; margin-bottom: 0;
} }
.social-buttons {
margin-top: 5px;
}
.social-button, .language-button {
padding: 5px;
outline: none;
}
} }

View file

@ -66,7 +66,7 @@
.thm-border-radius(@login-border-radius); .thm-border-radius(@login-border-radius);
.thm-box-shadow(@login-box-shadow); .thm-box-shadow(@login-box-shadow);
.legend, .checkboxSignMe, .checkboxAdditionalCodeSignMe, .g-ui-link { .legend, .checkboxSignMe, .checkboxAdditionalCodeSignMe, .g-ui-link, .social-button, .language-button {
color: @login-color !important; color: @login-color !important;
} }
} }

View file

@ -67,60 +67,30 @@
&nbsp;&nbsp; &nbsp;&nbsp;
<span class="i18n i18n-animation" data-i18n-text="LOGIN/LABEL_SIGN_ME"></span> <span class="i18n i18n-animation" data-i18n-text="LOGIN/LABEL_SIGN_ME"></span>
</label> </label>
<div class="pull-right"> <div class="pull-right social-buttons">
<div class="btn-group dropdown" data-bind="registrateBootstrapDropdown: true, visible: socialLoginEnabled() || allowLanguagesOnLogin()"> <a href="#" tabindex="-1" class="social-button" data-bind="command: facebookCommand, visible: facebookLoginEnabled, tooltip: 'LOGIN/TITLE_SIGN_IN_FACEBOOK'">
<a id="login-more-dropdown-id" href="#" tabindex="-1" class="btn dropdown-toggle buttonLoginMore" data-toggle="dropdown"> <i class="icon-facebook-alt"></i>
<i data-bind="css: langRequest() ? 'icon-spinner animated' : 'icon-list'"></i> </a>
</a> <a href="#" tabindex="-1" class="social-button" data-bind="command: googleCommand, visible: googleLoginEnabled, tooltip: 'LOGIN/TITLE_SIGN_IN_GOOGLE'">
<ul class="dropdown-menu g-ui-menu" tabindex="-1" role="menu" aria-labelledby="login-more-dropdown-id"> <i class="icon-google"></i>
{{INCLUDE/MenuDropdownTop/PLACE}} </a>
<li class="e-item" role="presentation" data-bind="visible: facebookLoginEnabled"> <a href="#" tabindex="-1" class="social-button" data-bind="command: twitterCommand, visible: twitterLoginEnabled, tooltip: 'LOGIN/TITLE_SIGN_IN_TWITTER'">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: facebookCommand"> <i class="icon-twitter"></i>
<i class="icon-facebook-alt"></i> </a>
&nbsp;&nbsp; <a href="#" tabindex="-1" class="language-button" data-bind="click: selectLanguage, tooltip: 'POPUPS_LANGUAGES/TITLE_LANGUAGES',
<span class="i18n" data-i18n-text="LOGIN/TITLE_SIGN_IN_FACEBOOK"></span> visible: allowLanguagesOnLogin() && !socialLoginEnabled()">
</a> <i class="icon-world"></i>
</li> </a>
<li class="e-item" role="presentation" data-bind="visible: googleLoginEnabled">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: googleCommand">
<i class="icon-google"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="LOGIN/TITLE_SIGN_IN_GOOGLE"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: twitterLoginEnabled">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: twitterCommand">
<i class="icon-twitter"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="LOGIN/TITLE_SIGN_IN_TWITTER"></span>
</a>
</li>
{{INCLUDE/MenuDropdownMiddle/PLACE}}
<li class="divider" role="presentation" data-bind="visible: socialLoginEnabled() && allowLanguagesOnLogin()"></li>
<li class="e-item" role="presentation" data-bind="visible: allowLanguagesOnLogin">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: selectLanguage">
<label class="flag-selector">
<span class="flag-wrapper">
<span data-bind="css: 'flag flag-' + mainLanguage()" style=""></span>
</span>
<span class="flag-name" data-bind="text: mainLanguageFullName"></span>
</label>
</a>
</li>
{{INCLUDE/MenuDropdownBottom/PLACE}}
</ul>
</div>
</div> </div>
</div> </div>
</form> </form>
<div class="e-powered thm-powered" data-bind="visible: logoPowered"> <div class="e-powered thm-powered" data-bind="visible: logoPowered">
Powered by <a href="http://rainloop.net" target="_blank">RainLoop</a> Powered by <a href="http://rainloop.net" target="_blank">RainLoop</a>
</div> </div>
<div class="e-languages thm-languages" data-bind="visible: allowLanguagesOnLogin"> <div class="e-languages thm-languages" data-bind="visible: allowLanguagesOnLogin() && socialLoginEnabled()">
<label class="flag-selector"> <label class="flag-selector">
<span class="flag-wrapper"> <i class="icon-world"></i>
<span data-bind="css: 'flag flag-' + mainLanguage()" style=""></span> &nbsp;
</span>
<span class="flag-name" data-bind="text: mainLanguageFullName, click: selectLanguage"></span> <span class="flag-name" data-bind="text: mainLanguageFullName, click: selectLanguage"></span>
</label> </label>
</div> </div>

View file

@ -229,7 +229,7 @@ DESC_WANT_CLOSE_THIS_WINDOW = "Are you sure you want to close this window?"
DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?" DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?"
[POPUPS_LANGUAGES] [POPUPS_LANGUAGES]
TITLE_LANGUAGES = "Choose language" TITLE_LANGUAGES = "Choose your language"
[POPUPS_ADD_ACCOUNT] [POPUPS_ADD_ACCOUNT]
TITLE_ADD_ACCOUNT = "Add Account?" TITLE_ADD_ACCOUNT = "Add Account?"

View file

@ -228,7 +228,7 @@ DESC_WANT_CLOSE_THIS_WINDOW = "Are you sure you want to close this window?"
DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?" DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?"
[POPUPS_LANGUAGES] [POPUPS_LANGUAGES]
TITLE_LANGUAGES = "Choose language" TITLE_LANGUAGES = "Choose your language"
[POPUPS_ADD_ACCOUNT] [POPUPS_ADD_ACCOUNT]
TITLE_ADD_ACCOUNT = "Bæta við aðgangi?" TITLE_ADD_ACCOUNT = "Bæta við aðgangi?"

View file

@ -228,7 +228,7 @@ DESC_WANT_CLOSE_THIS_WINDOW = "Are you sure you want to close this window?"
DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?" DESC_WANT_DELETE_MESSAGES = "Are you sure you want to delete the message(s)?"
[POPUPS_LANGUAGES] [POPUPS_LANGUAGES]
TITLE_LANGUAGES = "Choose language" TITLE_LANGUAGES = "Choose your language"
[POPUPS_ADD_ACCOUNT] [POPUPS_ADD_ACCOUNT]
TITLE_ADD_ACCOUNT = "Pievienot kontu?" TITLE_ADD_ACCOUNT = "Pievienot kontu?"

View file

@ -117,4 +117,5 @@
<glyph unicode="&#57451;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m0-399c-94 0-171 77-171 171 0 94 77 171 171 171 94 0 171-77 171-171 0-94-77-171-171-171z m58 173c-10-9-27-16-31-18-4-2-4-4-4-10l0-8-57 0 0 18c0 14 1 22 16 30l20 10c7 5 16 8 16 15 0 8-7 11-24 11-16 0-33-6-45-14l-15 50c8 4 30 18 72 18 42 0 72-26 72-57 0-26-9-36-20-45z m-64-111c-22 0-37 12-37 32 0 21 15 33 37 33 22 0 37-12 37-33 0-20-15-32-37-32z"/> <glyph unicode="&#57451;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m0-399c-94 0-171 77-171 171 0 94 77 171 171 171 94 0 171-77 171-171 0-94-77-171-171-171z m58 173c-10-9-27-16-31-18-4-2-4-4-4-10l0-8-57 0 0 18c0 14 1 22 16 30l20 10c7 5 16 8 16 15 0 8-7 11-24 11-16 0-33-6-45-14l-15 50c8 4 30 18 72 18 42 0 72-26 72-57 0-26-9-36-20-45z m-64-111c-22 0-37 12-37 32 0 21 15 33 37 33 22 0 37-12 37-33 0-20-15-32-37-32z"/>
<glyph unicode="&#57452;" d="M411 475l-88-88-65 65 0-194 194 0-65 65 88 88z m-351-221l65-65-88-88 64-64 88 88 65-65 0 194z"/> <glyph unicode="&#57452;" d="M411 475l-88-88-65 65 0-194 194 0-65 65 88 88z m-351-221l65-65-88-88 64-64 88 88 65-65 0 194z"/>
<glyph unicode="&#57453;" d="M282 475l65-64-89-89 64-64 89 89 64-65 0 193z m-92-221l-89-89-64 65 0-193 193 0-65 64 89 89z"/> <glyph unicode="&#57453;" d="M282 475l65-64-89-89 64-64 89 89 64-65 0 193z m-92-221l-89-89-64 65 0-193 193 0-65 64 89 89z"/>
<glyph unicode="&#57455;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m-185-228c0 39 12 75 33 105 3 1 7 2 9 1 3-2 2-3 2-7 1-6 2-13 10-9 7 4 5 15 9 21 3 4 7 9 10 12 5 4 9 6 9 12 1 7-5 9-11 10 8 7 16 12 26 17 2-1 5-5 4-9-2-3-10-3-8-10 10-5 33 18 32-4-9-3-30-6-31-18-1-12 20-9 27-8 9 1 16 3 23 9 9 6 23 18 25 28 4 18-23 9-29 17-2 3-2 7-1 11 0 0 0 0 0 1 15 4 30 6 46 6 22 0 43-4 62-11-8-13-3-36-3-50 0-8-4-8-9-13-5-6-10-10-17-9-16 3-31 10-45-3-5-5-10-9-10-17 0-5-2-13 4-15 3-2 12-2 15 1 4 3 4 10 6 15 3 6 11 9 15 3 3-6 1-12-2-17-5-7-8-10-16-13-2-1-4-3-7-2-3 1-4 4-6 5-6 2-12-4-15-7-4-4-9-6-15-7-4-1-13 1-10-7 1-5 7-5 6-13-7 0-17 2-21-3-2-3-7-18-5-21 2-4 12-3 16-3 6-1 12 0 13 7 4 2 5 6 8 8 3 2 6 3 10 3 12 2 13-5 18-13 4-6 10-11 10-1-1 8-8 12-7 21 7 2 9-7 11-12 2-4 3-7 6-10 1-2 3-4 5-6 2 6 6 10 8 15 2 5 5 10 9 14 7 7 36 7 25-5-5-4-36-11-26-20 4-5 14 0 19-3 5-2 2-9 2-14 0-1 0-2 0-3-13-7-36-3-48-2-9 0-15 4-22 9-7 5-11 6-20 7-22 1-39-3-56-17-16-13-23-29-19-50 6-35 45-29 72-31 11-1 13-2 17-12 3-9 6-17 8-26 2-8 2-17 3-25 1-8 2-13 6-17-100 3-180 85-180 185z m242-176c7 4 11 8 18 13 3 2 6 2 8 6 2 5-1 8-3 13-4 10 4 14 10 21 7 6 12 15 16 23 4 6 10 20 10 26-8 0-17-4-26-3-11 2-19 9-25 16-7 7-11 16-10 26 0 4 0 5 3 6 5-6 14-9 19-16 4-5 6-9 11-13 3-2 5-6 8-9 4-4 13-1 17 3 6 5 5 11 7 17 1 5 4 7 6 12 1 5 0 11 0 15-5 1-8 0-12-2-3-2-3-5-8-5-7 0-11 8-12 15 6 3 15 2 22 2 7 0 13 1 19 4 11 5 19 0 28-6 5-4 12-14 16-8 4 5 2 16 2 22 0 3 1 6 1 10 1 2 1 4 2 5 1-5 1-11 1-17 0-82-54-152-128-176z"/>
</font></defs></svg> </font></defs></svg>

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

Binary file not shown.

View file

@ -117,4 +117,5 @@
<glyph unicode="&#57451;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m0-399c-94 0-171 77-171 171 0 94 77 171 171 171 94 0 171-77 171-171 0-94-77-171-171-171z m58 173c-10-9-27-16-31-18-4-2-4-4-4-10l0-8-57 0 0 18c0 14 1 22 16 30l20 10c7 5 16 8 16 15 0 8-7 11-24 11-16 0-33-6-45-14l-15 50c8 4 30 18 72 18 42 0 72-26 72-57 0-26-9-36-20-45z m-64-111c-22 0-37 12-37 32 0 21 15 33 37 33 22 0 37-12 37-33 0-20-15-32-37-32z"/> <glyph unicode="&#57451;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m0-399c-94 0-171 77-171 171 0 94 77 171 171 171 94 0 171-77 171-171 0-94-77-171-171-171z m58 173c-10-9-27-16-31-18-4-2-4-4-4-10l0-8-57 0 0 18c0 14 1 22 16 30l20 10c7 5 16 8 16 15 0 8-7 11-24 11-16 0-33-6-45-14l-15 50c8 4 30 18 72 18 42 0 72-26 72-57 0-26-9-36-20-45z m-64-111c-22 0-37 12-37 32 0 21 15 33 37 33 22 0 37-12 37-33 0-20-15-32-37-32z"/>
<glyph unicode="&#57452;" d="M411 475l-88-88-65 65 0-194 194 0-65 65 88 88z m-351-221l65-65-88-88 64-64 88 88 65-65 0 194z"/> <glyph unicode="&#57452;" d="M411 475l-88-88-65 65 0-194 194 0-65 65 88 88z m-351-221l65-65-88-88 64-64 88 88 65-65 0 194z"/>
<glyph unicode="&#57453;" d="M282 475l65-64-89-89 64-64 89 89 64-65 0 193z m-92-221l-89-89-64 65 0-193 193 0-65 64 89 89z"/> <glyph unicode="&#57453;" d="M282 475l65-64-89-89 64-64 89 89 64-65 0 193z m-92-221l-89-89-64 65 0-193 193 0-65 64 89 89z"/>
<glyph unicode="&#57455;" d="M256 484c-126 0-228-102-228-228 0-126 102-228 228-228 126 0 228 102 228 228 0 126-102 228-228 228z m-185-228c0 39 12 75 33 105 3 1 7 2 9 1 3-2 2-3 2-7 1-6 2-13 10-9 7 4 5 15 9 21 3 4 7 9 10 12 5 4 9 6 9 12 1 7-5 9-11 10 8 7 16 12 26 17 2-1 5-5 4-9-2-3-10-3-8-10 10-5 33 18 32-4-9-3-30-6-31-18-1-12 20-9 27-8 9 1 16 3 23 9 9 6 23 18 25 28 4 18-23 9-29 17-2 3-2 7-1 11 0 0 0 0 0 1 15 4 30 6 46 6 22 0 43-4 62-11-8-13-3-36-3-50 0-8-4-8-9-13-5-6-10-10-17-9-16 3-31 10-45-3-5-5-10-9-10-17 0-5-2-13 4-15 3-2 12-2 15 1 4 3 4 10 6 15 3 6 11 9 15 3 3-6 1-12-2-17-5-7-8-10-16-13-2-1-4-3-7-2-3 1-4 4-6 5-6 2-12-4-15-7-4-4-9-6-15-7-4-1-13 1-10-7 1-5 7-5 6-13-7 0-17 2-21-3-2-3-7-18-5-21 2-4 12-3 16-3 6-1 12 0 13 7 4 2 5 6 8 8 3 2 6 3 10 3 12 2 13-5 18-13 4-6 10-11 10-1-1 8-8 12-7 21 7 2 9-7 11-12 2-4 3-7 6-10 1-2 3-4 5-6 2 6 6 10 8 15 2 5 5 10 9 14 7 7 36 7 25-5-5-4-36-11-26-20 4-5 14 0 19-3 5-2 2-9 2-14 0-1 0-2 0-3-13-7-36-3-48-2-9 0-15 4-22 9-7 5-11 6-20 7-22 1-39-3-56-17-16-13-23-29-19-50 6-35 45-29 72-31 11-1 13-2 17-12 3-9 6-17 8-26 2-8 2-17 3-25 1-8 2-13 6-17-100 3-180 85-180 185z m242-176c7 4 11 8 18 13 3 2 6 2 8 6 2 5-1 8-3 13-4 10 4 14 10 21 7 6 12 15 16 23 4 6 10 20 10 26-8 0-17-4-26-3-11 2-19 9-25 16-7 7-11 16-10 26 0 4 0 5 3 6 5-6 14-9 19-16 4-5 6-9 11-13 3-2 5-6 8-9 4-4 13-1 17 3 6 5 5 11 7 17 1 5 4 7 6 12 1 5 0 11 0 15-5 1-8 0-12-2-3-2-3-5-8-5-7 0-11 8-12 15 6 3 15 2 22 2 7 0 13 1 19 4 11 5 19 0 28-6 5-4 12-14 16-8 4 5 2 16 2 22 0 3 1 6 1 10 1 2 1 4 2 5 1-5 1-11 1-17 0-82-54-152-128-176z"/>
</font></defs></svg> </font></defs></svg>

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

View file

@ -43,449 +43,6 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
<div class="container"> <div class="container">
<h1>RainLoop</h1> <h1>RainLoop</h1>
<p class="small">This font was created with<a href="http://fontastic.me/">Fontastic</a></p> <p class="small">This font was created with<a href="http://fontastic.me/">Fontastic</a></p>
<h2>Character mapping</h2>
<ul class="glyphs character-mapping">
<li>
<div data-icon="&#xe000;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe000;">
</li>
<li>
<div data-icon="&#xe001;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe001;">
</li>
<li>
<div data-icon="&#xe002;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe002;">
</li>
<li>
<div data-icon="&#xe003;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe003;">
</li>
<li>
<div data-icon="&#xe004;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe004;">
</li>
<li>
<div data-icon="&#xe005;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe005;">
</li>
<li>
<div data-icon="&#xe006;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe006;">
</li>
<li>
<div data-icon="&#xe007;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe007;">
</li>
<li>
<div data-icon="&#xe008;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe008;">
</li>
<li>
<div data-icon="&#xe009;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe009;">
</li>
<li>
<div data-icon="&#xe00a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00a;">
</li>
<li>
<div data-icon="&#xe00b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00b;">
</li>
<li>
<div data-icon="&#xe00c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00c;">
</li>
<li>
<div data-icon="&#xe00d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00d;">
</li>
<li>
<div data-icon="&#xe00e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00e;">
</li>
<li>
<div data-icon="&#xe00f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00f;">
</li>
<li>
<div data-icon="&#xe010;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe010;">
</li>
<li>
<div data-icon="&#xe011;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe011;">
</li>
<li>
<div data-icon="&#xe012;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe012;">
</li>
<li>
<div data-icon="&#xe013;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe013;">
</li>
<li>
<div data-icon="&#xe014;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe014;">
</li>
<li>
<div data-icon="&#xe015;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe015;">
</li>
<li>
<div data-icon="&#xe016;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe016;">
</li>
<li>
<div data-icon="&#xe017;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe017;">
</li>
<li>
<div data-icon="&#xe018;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe018;">
</li>
<li>
<div data-icon="&#xe019;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe019;">
</li>
<li>
<div data-icon="&#xe01a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01a;">
</li>
<li>
<div data-icon="&#xe01b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01b;">
</li>
<li>
<div data-icon="&#xe01c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01c;">
</li>
<li>
<div data-icon="&#xe01d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01d;">
</li>
<li>
<div data-icon="&#xe01e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01e;">
</li>
<li>
<div data-icon="&#xe01f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01f;">
</li>
<li>
<div data-icon="&#xe020;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe020;">
</li>
<li>
<div data-icon="&#xe021;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe021;">
</li>
<li>
<div data-icon="&#xe022;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe022;">
</li>
<li>
<div data-icon="&#xe023;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe023;">
</li>
<li>
<div data-icon="&#xe024;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe024;">
</li>
<li>
<div data-icon="&#xe025;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe025;">
</li>
<li>
<div data-icon="&#xe026;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe026;">
</li>
<li>
<div data-icon="&#xe027;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe027;">
</li>
<li>
<div data-icon="&#xe028;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe028;">
</li>
<li>
<div data-icon="&#xe029;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe029;">
</li>
<li>
<div data-icon="&#xe02a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02a;">
</li>
<li>
<div data-icon="&#xe02b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02b;">
</li>
<li>
<div data-icon="&#xe02c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02c;">
</li>
<li>
<div data-icon="&#xe02d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02d;">
</li>
<li>
<div data-icon="&#xe02e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02e;">
</li>
<li>
<div data-icon="&#xe02f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02f;">
</li>
<li>
<div data-icon="&#xe030;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe030;">
</li>
<li>
<div data-icon="&#xe031;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe031;">
</li>
<li>
<div data-icon="&#xe032;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe032;">
</li>
<li>
<div data-icon="&#xe033;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe033;">
</li>
<li>
<div data-icon="&#xe034;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe034;">
</li>
<li>
<div data-icon="&#xe035;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe035;">
</li>
<li>
<div data-icon="&#xe036;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe036;">
</li>
<li>
<div data-icon="&#xe037;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe037;">
</li>
<li>
<div data-icon="&#xe038;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe038;">
</li>
<li>
<div data-icon="&#xe039;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe039;">
</li>
<li>
<div data-icon="&#xe03a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03a;">
</li>
<li>
<div data-icon="&#xe03b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03b;">
</li>
<li>
<div data-icon="&#xe03c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03c;">
</li>
<li>
<div data-icon="&#xe03d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03d;">
</li>
<li>
<div data-icon="&#xe03e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03e;">
</li>
<li>
<div data-icon="&#xe03f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03f;">
</li>
<li>
<div data-icon="&#xe040;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe040;">
</li>
<li>
<div data-icon="&#xe041;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe041;">
</li>
<li>
<div data-icon="&#xe042;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe042;">
</li>
<li>
<div data-icon="&#xe043;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe043;">
</li>
<li>
<div data-icon="&#xe044;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe044;">
</li>
<li>
<div data-icon="&#xe045;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe045;">
</li>
<li>
<div data-icon="&#xe046;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe046;">
</li>
<li>
<div data-icon="&#xe047;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe047;">
</li>
<li>
<div data-icon="&#xe048;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe048;">
</li>
<li>
<div data-icon="&#xe049;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe049;">
</li>
<li>
<div data-icon="&#xe04a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04a;">
</li>
<li>
<div data-icon="&#xe04b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04b;">
</li>
<li>
<div data-icon="&#xe04c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04c;">
</li>
<li>
<div data-icon="&#xe04d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04d;">
</li>
<li>
<div data-icon="&#xe04e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04e;">
</li>
<li>
<div data-icon="&#xe04f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04f;">
</li>
<li>
<div data-icon="&#xe050;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe050;">
</li>
<li>
<div data-icon="&#xe051;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe051;">
</li>
<li>
<div data-icon="&#xe052;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe052;">
</li>
<li>
<div data-icon="&#xe053;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe053;">
</li>
<li>
<div data-icon="&#xe054;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe054;">
</li>
<li>
<div data-icon="&#xe055;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe055;">
</li>
<li>
<div data-icon="&#xe056;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe056;">
</li>
<li>
<div data-icon="&#xe057;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe057;">
</li>
<li>
<div data-icon="&#xe058;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe058;">
</li>
<li>
<div data-icon="&#xe059;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe059;">
</li>
<li>
<div data-icon="&#xe05a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05a;">
</li>
<li>
<div data-icon="&#xe05b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05b;">
</li>
<li>
<div data-icon="&#xe05c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05c;">
</li>
<li>
<div data-icon="&#xe05d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05d;">
</li>
<li>
<div data-icon="&#xe05e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05e;">
</li>
<li>
<div data-icon="&#xe05f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05f;">
</li>
<li>
<div data-icon="&#xe060;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe060;">
</li>
<li>
<div data-icon="&#xe061;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe061;">
</li>
<li>
<div data-icon="&#xe062;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe062;">
</li>
<li>
<div data-icon="&#xe063;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe063;">
</li>
<li>
<div data-icon="&#xe064;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe064;">
</li>
<li>
<div data-icon="&#xe065;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe065;">
</li>
<li>
<div data-icon="&#xe066;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe066;">
</li>
<li>
<div data-icon="&#xe067;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe067;">
</li>
<li>
<div data-icon="&#xe068;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe068;">
</li>
<li>
<div data-icon="&#xe069;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe069;">
</li>
<li>
<div data-icon="&#xe06a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06a;">
</li>
<li>
<div data-icon="&#xe06b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06b;">
</li>
<li>
<div data-icon="&#xe06c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06c;">
</li>
<li>
<div data-icon="&#xe06d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06d;">
</li>
</ul>
<h2>CSS mapping</h2> <h2>CSS mapping</h2>
<ul class="glyphs css-mapping"> <ul class="glyphs css-mapping">
<li> <li>
@ -928,6 +485,457 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
<div class="icon icon-resize-out"></div> <div class="icon icon-resize-out"></div>
<input type="text" readonly="readonly" value="resize-out"> <input type="text" readonly="readonly" value="resize-out">
</li> </li>
<li>
<div class="icon icon-world"></div>
<input type="text" readonly="readonly" value="world">
</li>
</ul>
<h2>Character mapping</h2>
<ul class="glyphs character-mapping">
<li>
<div data-icon="&#xe000;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe000;">
</li>
<li>
<div data-icon="&#xe001;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe001;">
</li>
<li>
<div data-icon="&#xe002;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe002;">
</li>
<li>
<div data-icon="&#xe003;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe003;">
</li>
<li>
<div data-icon="&#xe004;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe004;">
</li>
<li>
<div data-icon="&#xe005;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe005;">
</li>
<li>
<div data-icon="&#xe006;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe006;">
</li>
<li>
<div data-icon="&#xe007;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe007;">
</li>
<li>
<div data-icon="&#xe008;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe008;">
</li>
<li>
<div data-icon="&#xe009;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe009;">
</li>
<li>
<div data-icon="&#xe00a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00a;">
</li>
<li>
<div data-icon="&#xe00b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00b;">
</li>
<li>
<div data-icon="&#xe00c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00c;">
</li>
<li>
<div data-icon="&#xe00d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00d;">
</li>
<li>
<div data-icon="&#xe00e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00e;">
</li>
<li>
<div data-icon="&#xe00f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe00f;">
</li>
<li>
<div data-icon="&#xe010;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe010;">
</li>
<li>
<div data-icon="&#xe011;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe011;">
</li>
<li>
<div data-icon="&#xe012;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe012;">
</li>
<li>
<div data-icon="&#xe013;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe013;">
</li>
<li>
<div data-icon="&#xe014;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe014;">
</li>
<li>
<div data-icon="&#xe015;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe015;">
</li>
<li>
<div data-icon="&#xe016;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe016;">
</li>
<li>
<div data-icon="&#xe017;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe017;">
</li>
<li>
<div data-icon="&#xe018;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe018;">
</li>
<li>
<div data-icon="&#xe019;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe019;">
</li>
<li>
<div data-icon="&#xe01a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01a;">
</li>
<li>
<div data-icon="&#xe01b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01b;">
</li>
<li>
<div data-icon="&#xe01c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01c;">
</li>
<li>
<div data-icon="&#xe01d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01d;">
</li>
<li>
<div data-icon="&#xe01e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01e;">
</li>
<li>
<div data-icon="&#xe01f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe01f;">
</li>
<li>
<div data-icon="&#xe020;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe020;">
</li>
<li>
<div data-icon="&#xe021;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe021;">
</li>
<li>
<div data-icon="&#xe022;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe022;">
</li>
<li>
<div data-icon="&#xe023;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe023;">
</li>
<li>
<div data-icon="&#xe024;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe024;">
</li>
<li>
<div data-icon="&#xe025;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe025;">
</li>
<li>
<div data-icon="&#xe026;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe026;">
</li>
<li>
<div data-icon="&#xe027;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe027;">
</li>
<li>
<div data-icon="&#xe028;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe028;">
</li>
<li>
<div data-icon="&#xe029;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe029;">
</li>
<li>
<div data-icon="&#xe02a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02a;">
</li>
<li>
<div data-icon="&#xe02b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02b;">
</li>
<li>
<div data-icon="&#xe02c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02c;">
</li>
<li>
<div data-icon="&#xe02d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02d;">
</li>
<li>
<div data-icon="&#xe02e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02e;">
</li>
<li>
<div data-icon="&#xe02f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe02f;">
</li>
<li>
<div data-icon="&#xe030;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe030;">
</li>
<li>
<div data-icon="&#xe031;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe031;">
</li>
<li>
<div data-icon="&#xe032;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe032;">
</li>
<li>
<div data-icon="&#xe033;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe033;">
</li>
<li>
<div data-icon="&#xe034;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe034;">
</li>
<li>
<div data-icon="&#xe035;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe035;">
</li>
<li>
<div data-icon="&#xe036;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe036;">
</li>
<li>
<div data-icon="&#xe037;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe037;">
</li>
<li>
<div data-icon="&#xe038;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe038;">
</li>
<li>
<div data-icon="&#xe039;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe039;">
</li>
<li>
<div data-icon="&#xe03a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03a;">
</li>
<li>
<div data-icon="&#xe03b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03b;">
</li>
<li>
<div data-icon="&#xe03c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03c;">
</li>
<li>
<div data-icon="&#xe03d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03d;">
</li>
<li>
<div data-icon="&#xe03e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03e;">
</li>
<li>
<div data-icon="&#xe03f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe03f;">
</li>
<li>
<div data-icon="&#xe040;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe040;">
</li>
<li>
<div data-icon="&#xe041;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe041;">
</li>
<li>
<div data-icon="&#xe042;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe042;">
</li>
<li>
<div data-icon="&#xe043;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe043;">
</li>
<li>
<div data-icon="&#xe044;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe044;">
</li>
<li>
<div data-icon="&#xe045;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe045;">
</li>
<li>
<div data-icon="&#xe046;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe046;">
</li>
<li>
<div data-icon="&#xe047;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe047;">
</li>
<li>
<div data-icon="&#xe048;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe048;">
</li>
<li>
<div data-icon="&#xe049;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe049;">
</li>
<li>
<div data-icon="&#xe04a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04a;">
</li>
<li>
<div data-icon="&#xe04b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04b;">
</li>
<li>
<div data-icon="&#xe04c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04c;">
</li>
<li>
<div data-icon="&#xe04d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04d;">
</li>
<li>
<div data-icon="&#xe04e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04e;">
</li>
<li>
<div data-icon="&#xe04f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe04f;">
</li>
<li>
<div data-icon="&#xe050;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe050;">
</li>
<li>
<div data-icon="&#xe051;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe051;">
</li>
<li>
<div data-icon="&#xe052;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe052;">
</li>
<li>
<div data-icon="&#xe053;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe053;">
</li>
<li>
<div data-icon="&#xe054;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe054;">
</li>
<li>
<div data-icon="&#xe055;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe055;">
</li>
<li>
<div data-icon="&#xe056;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe056;">
</li>
<li>
<div data-icon="&#xe057;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe057;">
</li>
<li>
<div data-icon="&#xe058;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe058;">
</li>
<li>
<div data-icon="&#xe059;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe059;">
</li>
<li>
<div data-icon="&#xe05a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05a;">
</li>
<li>
<div data-icon="&#xe05b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05b;">
</li>
<li>
<div data-icon="&#xe05c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05c;">
</li>
<li>
<div data-icon="&#xe05d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05d;">
</li>
<li>
<div data-icon="&#xe05e;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05e;">
</li>
<li>
<div data-icon="&#xe05f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe05f;">
</li>
<li>
<div data-icon="&#xe060;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe060;">
</li>
<li>
<div data-icon="&#xe061;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe061;">
</li>
<li>
<div data-icon="&#xe062;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe062;">
</li>
<li>
<div data-icon="&#xe063;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe063;">
</li>
<li>
<div data-icon="&#xe064;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe064;">
</li>
<li>
<div data-icon="&#xe065;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe065;">
</li>
<li>
<div data-icon="&#xe066;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe066;">
</li>
<li>
<div data-icon="&#xe067;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe067;">
</li>
<li>
<div data-icon="&#xe068;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe068;">
</li>
<li>
<div data-icon="&#xe069;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe069;">
</li>
<li>
<div data-icon="&#xe06a;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06a;">
</li>
<li>
<div data-icon="&#xe06b;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06b;">
</li>
<li>
<div data-icon="&#xe06c;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06c;">
</li>
<li>
<div data-icon="&#xe06d;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06d;">
</li>
<li>
<div data-icon="&#xe06f;" class="icon"></div>
<input type="text" readonly="readonly" value="&amp;#xe06f;">
</li>
</ul> </ul>
</div><script type="text/javascript"> </div><script type="text/javascript">
(function() { (function() {

View file

@ -368,3 +368,6 @@
.icon-resize-out:before { .icon-resize-out:before {
content: "\e06d"; content: "\e06d";
} }
.icon-world:before {
content: "\e06f";
}