From 77a30c0b92a8ef8dfab4ce370934523f1fb706b8 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Thu, 30 Oct 2014 17:59:25 +0400 Subject: [PATCH] Login screen new interface (social buttons) --- dev/Common/Utils.js | 2 +- dev/Settings/Admin/About.js | 8 +- dev/Settings/Admin/Branding.js | 6 +- dev/Settings/Admin/Contacts.js | 10 +- dev/Settings/Admin/Domains.js | 18 +- dev/Settings/Admin/General.js | 10 +- dev/Settings/Admin/Licensing.js | 12 +- dev/Settings/Admin/Login.js | 6 +- dev/Settings/Admin/Packages.js | 14 +- dev/Settings/Admin/Plugins.js | 16 +- dev/Settings/Admin/Security.js | 12 +- dev/Settings/Admin/Social.js | 6 +- dev/Settings/User/Accounts.js | 12 +- dev/Settings/User/ChangePassword.js | 8 +- dev/Settings/User/Contacts.js | 22 +- dev/Settings/User/Filters.js | 8 +- dev/Settings/User/Folders.js | 20 +- dev/Settings/User/General.js | 12 +- dev/Settings/User/Identities.js | 16 +- dev/Settings/User/Identity.js | 8 +- dev/Settings/User/OpenPgp.js | 12 +- dev/Settings/User/Security.js | 24 +- dev/Settings/User/Social.js | 4 +- dev/Settings/User/Themes.js | 6 +- dev/Styles/Login.less | 9 + .../0.0.0/app/templates/Themes/template.less | 2 +- .../0.0.0/app/templates/Views/User/Login.html | 64 +- rainloop/v/0.0.0/langs/en.ini | 2 +- rainloop/v/0.0.0/langs/is.ini | 2 +- rainloop/v/0.0.0/langs/lv.ini | 2 +- .../v/0.0.0/static/css/fonts/rainloop.eot | Bin 18072 -> 18836 bytes .../v/0.0.0/static/css/fonts/rainloop.svg | 1 + .../v/0.0.0/static/css/fonts/rainloop.ttf | Bin 17904 -> 18668 bytes .../v/0.0.0/static/css/fonts/rainloop.woff | Bin 12632 -> 13092 bytes vendors/fontastic/fonts/rainloop.eot | Bin 18072 -> 18836 bytes vendors/fontastic/fonts/rainloop.svg | 1 + vendors/fontastic/fonts/rainloop.ttf | Bin 17904 -> 18668 bytes vendors/fontastic/fonts/rainloop.woff | Bin 12632 -> 13092 bytes vendors/fontastic/icons-reference.html | 894 +++++++++--------- vendors/fontastic/styles.css | 3 + 40 files changed, 622 insertions(+), 630 deletions(-) diff --git a/dev/Common/Utils.js b/dev/Common/Utils.js index 542ebf2a8..60d322d51 100644 --- a/dev/Common/Utils.js +++ b/dev/Common/Utils.js @@ -441,7 +441,7 @@ } }); - if (bAnimate) + if (bAnimate && !Globals.bMobileDevice) { $('.i18n-animation.i18n', oElement).letterfx({ 'fx': 'fall fade', 'backwards': false, 'timing': 50, 'fx_duration': '50ms', 'letter_end': 'restore', 'element_end': 'restore' diff --git a/dev/Settings/Admin/About.js b/dev/Settings/Admin/About.js index 213aebb83..f49ac692b 100644 --- a/dev/Settings/Admin/About.js +++ b/dev/Settings/Admin/About.js @@ -10,7 +10,7 @@ /** * @constructor */ - function AboutAdminSetting() + function AboutAdminSettings() { var Settings = require('Storage/Settings'), @@ -67,7 +67,7 @@ }, this); } - AboutAdminSetting.prototype.onBuild = function () + AboutAdminSettings.prototype.onBuild = function () { if (this.access()) { @@ -75,7 +75,7 @@ } }; - AboutAdminSetting.prototype.updateCoreData = function () + AboutAdminSettings.prototype.updateCoreData = function () { if (!this.coreUpdating()) { @@ -83,6 +83,6 @@ } }; - module.exports = AboutAdminSetting; + module.exports = AboutAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Branding.js b/dev/Settings/Admin/Branding.js index 49bada885..1606aa7bd 100644 --- a/dev/Settings/Admin/Branding.js +++ b/dev/Settings/Admin/Branding.js @@ -13,7 +13,7 @@ /** * @constructor */ - function BrandingAdminSetting() + function BrandingAdminSettings() { var Enums = require('Common/Enums'), @@ -40,7 +40,7 @@ this.loginPowered = ko.observable(!!Settings.settingsGet('LoginPowered')); } - BrandingAdminSetting.prototype.onBuild = function () + BrandingAdminSettings.prototype.onBuild = function () { if (this.capa) { @@ -99,6 +99,6 @@ } }; - module.exports = BrandingAdminSetting; + module.exports = BrandingAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Contacts.js b/dev/Settings/Admin/Contacts.js index 318f48ce9..d67cd0941 100644 --- a/dev/Settings/Admin/Contacts.js +++ b/dev/Settings/Admin/Contacts.js @@ -16,7 +16,7 @@ /** * @constructor */ - function ContactsAdminSetting() + function ContactsAdminSettings() { var Remote = require('Storage/Admin/Remote') @@ -141,7 +141,7 @@ this.onTestContactsResponse = _.bind(this.onTestContactsResponse, this); } - ContactsAdminSetting.prototype.onTestContactsResponse = function (sResult, oData) + ContactsAdminSettings.prototype.onTestContactsResponse = function (sResult, oData) { this.testContactsSuccess(false); this.testContactsError(false); @@ -167,14 +167,14 @@ this.testing(false); }; - ContactsAdminSetting.prototype.onShow = function () + ContactsAdminSettings.prototype.onShow = function () { this.testContactsSuccess(false); this.testContactsError(false); this.testContactsErrorMessage(''); }; - ContactsAdminSetting.prototype.onBuild = function () + ContactsAdminSettings.prototype.onBuild = function () { var self = this, @@ -237,6 +237,6 @@ }, 50); }; - module.exports = ContactsAdminSetting; + module.exports = ContactsAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Domains.js b/dev/Settings/Admin/Domains.js index c1e98ce1b..b5aa1fdb8 100644 --- a/dev/Settings/Admin/Domains.js +++ b/dev/Settings/Admin/Domains.js @@ -19,7 +19,7 @@ /** * @constructor */ - function DomainsAdminSetting() + function DomainsAdminSettings() { this.domains = Data.domains; @@ -45,7 +45,7 @@ ]}); } - DomainsAdminSetting.prototype.startDomainForDeletionTimeout = function () + DomainsAdminSettings.prototype.startDomainForDeletionTimeout = function () { var self = this; window.clearInterval(this.iDomainForDeletionTimeout); @@ -54,24 +54,24 @@ }, 1000 * 3); }; - DomainsAdminSetting.prototype.createDomain = function () + DomainsAdminSettings.prototype.createDomain = function () { require('Knoin/Knoin').showScreenPopup(PopupsDomainViewModel); }; - DomainsAdminSetting.prototype.deleteDomain = function (oDomain) + DomainsAdminSettings.prototype.deleteDomain = function (oDomain) { this.domains.remove(oDomain); Remote.domainDelete(_.bind(this.onDomainListChangeRequest, this), oDomain.name); }; - DomainsAdminSetting.prototype.disableDomain = function (oDomain) + DomainsAdminSettings.prototype.disableDomain = function (oDomain) { oDomain.disabled(!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; oDom @@ -87,7 +87,7 @@ require('App/Admin').reloadDomainList(); }; - DomainsAdminSetting.prototype.onDomainLoadRequest = function (sResult, oData) + DomainsAdminSettings.prototype.onDomainLoadRequest = function (sResult, oData) { if (Enums.StorageResultType.Success === sResult && oData && oData.Result) { @@ -95,11 +95,11 @@ } }; - DomainsAdminSetting.prototype.onDomainListChangeRequest = function () + DomainsAdminSettings.prototype.onDomainListChangeRequest = function () { require('App/Admin').reloadDomainList(); }; - module.exports = DomainsAdminSetting; + module.exports = DomainsAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/General.js b/dev/Settings/Admin/General.js index 3f25f6a5d..0a7cf115d 100644 --- a/dev/Settings/Admin/General.js +++ b/dev/Settings/Admin/General.js @@ -18,7 +18,7 @@ /** * @constructor */ - function GeneralAdminSetting() + function GeneralAdminSettings() { this.mainLanguage = Data.mainLanguage; this.mainTheme = Data.mainTheme; @@ -59,7 +59,7 @@ this.themeTrigger = ko.observable(Enums.SaveSettingsStep.Idle); } - GeneralAdminSetting.prototype.onBuild = function () + GeneralAdminSettings.prototype.onBuild = function () { var self = this, @@ -128,7 +128,7 @@ }, 50); }; - GeneralAdminSetting.prototype.selectLanguage = function () + GeneralAdminSettings.prototype.selectLanguage = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages')); }; @@ -136,11 +136,11 @@ /** * @return {string} */ - GeneralAdminSetting.prototype.phpInfoLink = function () + GeneralAdminSettings.prototype.phpInfoLink = function () { return Links.phpInfo(); }; - module.exports = GeneralAdminSetting; + module.exports = GeneralAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Licensing.js b/dev/Settings/Admin/Licensing.js index 9132bfe8a..c763b7ab5 100644 --- a/dev/Settings/Admin/Licensing.js +++ b/dev/Settings/Admin/Licensing.js @@ -14,7 +14,7 @@ /** * @constructor */ - function LicensingAdminSetting() + function LicensingAdminSettings() { this.licensing = Data.licensing; this.licensingProcess = Data.licensingProcess; @@ -34,7 +34,7 @@ }, this); } - LicensingAdminSetting.prototype.onBuild = function () + LicensingAdminSettings.prototype.onBuild = function () { if (this.subscriptionEnabled()) { @@ -42,12 +42,12 @@ } }; - LicensingAdminSetting.prototype.onShow = function () + LicensingAdminSettings.prototype.onShow = function () { this.adminDomain(Settings.settingsGet('AdminDomain')); }; - LicensingAdminSetting.prototype.showActivationForm = function () + LicensingAdminSettings.prototype.showActivationForm = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/Activate')); }; @@ -55,7 +55,7 @@ /** * @returns {string} */ - LicensingAdminSetting.prototype.licenseExpiredMomentValue = function () + LicensingAdminSettings.prototype.licenseExpiredMomentValue = function () { var iTime = this.licenseExpired(), @@ -65,6 +65,6 @@ return iTime && 1898625600 === iTime ? 'Never' : (oDate.format('LL') + ' (' + oDate.from(moment()) + ')'); }; - module.exports = LicensingAdminSetting; + module.exports = LicensingAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Login.js b/dev/Settings/Admin/Login.js index 1cb499396..14f4f354f 100644 --- a/dev/Settings/Admin/Login.js +++ b/dev/Settings/Admin/Login.js @@ -17,7 +17,7 @@ /** * @constructor */ - function LoginAdminSetting() + function LoginAdminSettings() { this.determineUserLanguage = Data.determineUserLanguage; this.determineUserDomain = Data.determineUserDomain; @@ -30,7 +30,7 @@ this.dummy = ko.observable(false); } - LoginAdminSetting.prototype.onBuild = function () + LoginAdminSettings.prototype.onBuild = function () { var self = this, @@ -68,6 +68,6 @@ }, 50); }; - module.exports = LoginAdminSetting; + module.exports = LoginAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Packages.js b/dev/Settings/Admin/Packages.js index 368a318a2..9046ea476 100644 --- a/dev/Settings/Admin/Packages.js +++ b/dev/Settings/Admin/Packages.js @@ -17,7 +17,7 @@ /** * @constructor */ - function PackagesAdminSetting() + function PackagesAdminSettings() { this.packagesError = ko.observable(''); @@ -42,17 +42,17 @@ }, this); } - PackagesAdminSetting.prototype.onShow = function () + PackagesAdminSettings.prototype.onShow = function () { this.packagesError(''); }; - PackagesAdminSetting.prototype.onBuild = function () + PackagesAdminSettings.prototype.onBuild = function () { require('App/Admin').reloadPackagesList(); }; - PackagesAdminSetting.prototype.requestHelper = function (oPackage, bInstall) + PackagesAdminSettings.prototype.requestHelper = function (oPackage, bInstall) { var self = this; return function (sResult, oData) { @@ -89,7 +89,7 @@ }; }; - PackagesAdminSetting.prototype.deletePackage = function (oPackage) + PackagesAdminSettings.prototype.deletePackage = function (oPackage) { if (oPackage) { @@ -98,7 +98,7 @@ } }; - PackagesAdminSetting.prototype.installPackage = function (oPackage) + PackagesAdminSettings.prototype.installPackage = function (oPackage) { if (oPackage) { @@ -107,6 +107,6 @@ } }; - module.exports = PackagesAdminSetting; + module.exports = PackagesAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Plugins.js b/dev/Settings/Admin/Plugins.js index e736ae430..2e3655505 100644 --- a/dev/Settings/Admin/Plugins.js +++ b/dev/Settings/Admin/Plugins.js @@ -18,7 +18,7 @@ /** * @constructor */ - function PluginsAdminSetting() + function PluginsAdminSettings() { this.enabledPlugins = ko.observable(!!Settings.settingsGet('EnabledPlugins')); @@ -34,18 +34,18 @@ this.onPluginDisableRequest = _.bind(this.onPluginDisableRequest, this); } - PluginsAdminSetting.prototype.disablePlugin = function (oPlugin) + PluginsAdminSettings.prototype.disablePlugin = function (oPlugin) { oPlugin.disabled(!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); }; - PluginsAdminSetting.prototype.onBuild = function (oDom) + PluginsAdminSettings.prototype.onBuild = function (oDom) { var self = this; @@ -73,13 +73,13 @@ }); }; - PluginsAdminSetting.prototype.onShow = function () + PluginsAdminSettings.prototype.onShow = function () { this.pluginsError(''); require('App/Admin').reloadPluginList(); }; - PluginsAdminSetting.prototype.onPluginLoadRequest = function (sResult, oData) + PluginsAdminSettings.prototype.onPluginLoadRequest = function (sResult, oData) { 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) { @@ -107,6 +107,6 @@ require('App/Admin').reloadPluginList(); }; - module.exports = PluginsAdminSetting; + module.exports = PluginsAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/Admin/Security.js b/dev/Settings/Admin/Security.js index f4a7ae6a1..eec25904e 100644 --- a/dev/Settings/Admin/Security.js +++ b/dev/Settings/Admin/Security.js @@ -19,7 +19,7 @@ /** * @constructor */ - function SecurityAdminSetting() + function SecurityAdminSettings() { this.useLocalProxyForExternalImages = Data.useLocalProxyForExternalImages; @@ -91,7 +91,7 @@ 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) { @@ -109,7 +109,7 @@ } }; - SecurityAdminSetting.prototype.onBuild = function () + SecurityAdminSettings.prototype.onBuild = function () { var Remote = require('Storage/Admin/Remote') @@ -140,7 +140,7 @@ }); }; - SecurityAdminSetting.prototype.onHide = function () + SecurityAdminSettings.prototype.onHide = function () { this.adminPassword(''); this.adminPasswordNew(''); @@ -150,11 +150,11 @@ /** * @return {string} */ - SecurityAdminSetting.prototype.phpInfoLink = function () + SecurityAdminSettings.prototype.phpInfoLink = function () { return Links.phpInfo(); }; - module.exports = SecurityAdminSetting; + module.exports = SecurityAdminSettings; }()); diff --git a/dev/Settings/Admin/Social.js b/dev/Settings/Admin/Social.js index 3e0041665..6403aae25 100644 --- a/dev/Settings/Admin/Social.js +++ b/dev/Settings/Admin/Social.js @@ -14,7 +14,7 @@ /** * @constructor */ - function SocialAdminSetting() + function SocialAdminSettings() { var Data = require('Storage/Admin/Data'); @@ -45,7 +45,7 @@ this.dropboxTrigger1 = ko.observable(Enums.SaveSettingsStep.Idle); } - SocialAdminSetting.prototype.onBuild = function () + SocialAdminSettings.prototype.onBuild = function () { var self = this, @@ -161,6 +161,6 @@ }, 50); }; - module.exports = SocialAdminSetting; + module.exports = SocialAdminSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Accounts.js b/dev/Settings/User/Accounts.js index cb05cfbe2..88f642cf9 100644 --- a/dev/Settings/User/Accounts.js +++ b/dev/Settings/User/Accounts.js @@ -19,7 +19,7 @@ /** * @constructor */ - function AccountsUserSetting() + function AccountsUserSettings() { this.accounts = Data.accounts; @@ -46,12 +46,12 @@ ]}); } - AccountsUserSetting.prototype.addNewAccount = function () + AccountsUserSettings.prototype.addNewAccount = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/AddAccount')); }; - AccountsUserSetting.prototype.editAccount = function (oAccountItem) + AccountsUserSettings.prototype.editAccount = function (oAccountItem) { if (oAccountItem && oAccountItem.canBeEdit()) { @@ -62,7 +62,7 @@ /** * @param {AccountModel} oAccountToRemove */ - AccountsUserSetting.prototype.deleteAccount = function (oAccountToRemove) + AccountsUserSettings.prototype.deleteAccount = function (oAccountToRemove) { if (oAccountToRemove && oAccountToRemove.deleteAccess()) { @@ -102,7 +102,7 @@ } }; - AccountsUserSetting.prototype.onBuild = function (oDom) + AccountsUserSettings.prototype.onBuild = function (oDom) { var self = this; @@ -117,6 +117,6 @@ ; }; - module.exports = AccountsUserSetting; + module.exports = AccountsUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/ChangePassword.js b/dev/Settings/User/ChangePassword.js index 76e60e4b6..2493a1a41 100644 --- a/dev/Settings/User/ChangePassword.js +++ b/dev/Settings/User/ChangePassword.js @@ -16,7 +16,7 @@ /** * @constructor */ - function ChangePasswordUserSetting() + function ChangePasswordUserSettings() { this.changeProcess = ko.observable(false); @@ -76,7 +76,7 @@ this.onChangePasswordResponse = _.bind(this.onChangePasswordResponse, this); } - ChangePasswordUserSetting.prototype.onHide = function () + ChangePasswordUserSettings.prototype.onHide = function () { this.changeProcess(false); this.currentPassword(''); @@ -87,7 +87,7 @@ this.currentPassword.error(false); }; - ChangePasswordUserSetting.prototype.onChangePasswordResponse = function (sResult, oData) + ChangePasswordUserSettings.prototype.onChangePasswordResponse = function (sResult, oData) { this.changeProcess(false); this.passwordMismatch(false); @@ -116,6 +116,6 @@ } }; - module.exports = ChangePasswordUserSetting; + module.exports = ChangePasswordUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Contacts.js b/dev/Settings/User/Contacts.js index feb44ca4a..d557d71ee 100644 --- a/dev/Settings/User/Contacts.js +++ b/dev/Settings/User/Contacts.js @@ -13,7 +13,7 @@ /** * @constructor */ - function ContactsUserSetting() + function ContactsUserSettings() { this.contactsAutosave = Data.contactsAutosave; @@ -31,6 +31,15 @@ this.contactsSyncPass() ].join('|'); }, this).extend({'throttle': 500}); + } + + ContactsUserSettings.prototype.onBuild = function () + { + Data.contactsAutosave.subscribe(function (bValue) { + Remote.saveSettings(null, { + 'ContactsAutosave': bValue ? '1' : '0' + }); + }); this.saveTrigger.subscribe(function () { Remote.saveContactsSyncData(null, @@ -40,17 +49,8 @@ this.contactsSyncPass() ); }, this); - } - - ContactsUserSetting.prototype.onBuild = function () - { - Data.contactsAutosave.subscribe(function (bValue) { - Remote.saveSettings(null, { - 'ContactsAutosave': bValue ? '1' : '0' - }); - }); }; - module.exports = ContactsUserSetting; + module.exports = ContactsUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Filters.js b/dev/Settings/User/Filters.js index fc0289687..ea677c5e8 100644 --- a/dev/Settings/User/Filters.js +++ b/dev/Settings/User/Filters.js @@ -12,7 +12,7 @@ /** * @constructor */ - function FiltersUserSetting() + function FiltersUserSettings() { this.filters = ko.observableArray([]); this.filters.loading = ko.observable(false); @@ -22,13 +22,13 @@ }); } - FiltersUserSetting.prototype.deleteFilter = function (oFilter) + FiltersUserSettings.prototype.deleteFilter = function (oFilter) { this.filters.remove(oFilter); Utils.delegateRunOnDestroy(oFilter); }; - FiltersUserSetting.prototype.addFilter = function () + FiltersUserSettings.prototype.addFilter = function () { var FilterModel = require('Model/Filter') @@ -38,6 +38,6 @@ require('View/Popup/Filter'), [new FilterModel()]); }; - module.exports = FiltersUserSetting; + module.exports = FiltersUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Folders.js b/dev/Settings/User/Folders.js index 3f9740d87..c45333ecd 100644 --- a/dev/Settings/User/Folders.js +++ b/dev/Settings/User/Folders.js @@ -19,7 +19,7 @@ /** * @constructor */ - function FoldersUserSetting() + function FoldersUserSettings() { this.foldersListError = Data.foldersListError; this.folderList = Data.folderList; @@ -89,7 +89,7 @@ this.useImapSubscribe = !!Settings.settingsGet('UseImapSubscribe'); } - FoldersUserSetting.prototype.folderEditOnEnter = function (oFolder) + FoldersUserSettings.prototype.folderEditOnEnter = function (oFolder) { var sEditName = oFolder ? Utils.trim(oFolder.nameForEdit()) : '' @@ -121,7 +121,7 @@ oFolder.edited(false); }; - FoldersUserSetting.prototype.folderEditOnEsc = function (oFolder) + FoldersUserSettings.prototype.folderEditOnEsc = function (oFolder) { if (oFolder) { @@ -129,22 +129,22 @@ } }; - FoldersUserSetting.prototype.onShow = function () + FoldersUserSettings.prototype.onShow = function () { Data.foldersListError(''); }; - FoldersUserSetting.prototype.createFolder = function () + FoldersUserSettings.prototype.createFolder = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderCreate')); }; - FoldersUserSetting.prototype.systemFolder = function () + FoldersUserSettings.prototype.systemFolder = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/FolderSystem')); }; - FoldersUserSetting.prototype.deleteFolder = function (oFolderToRemove) + FoldersUserSettings.prototype.deleteFolder = function (oFolderToRemove) { if (oFolderToRemove && oFolderToRemove.canBeDeleted() && oFolderToRemove.deleteAccess() && 0 === oFolderToRemove.privateMessageCountAll()) @@ -193,7 +193,7 @@ } }; - FoldersUserSetting.prototype.subscribeFolder = function (oFolder) + FoldersUserSettings.prototype.subscribeFolder = function (oFolder) { Local.set(Enums.ClientSideKeyName.FoldersLashHash, ''); Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, true); @@ -201,7 +201,7 @@ oFolder.subScribed(true); }; - FoldersUserSetting.prototype.unSubscribeFolder = function (oFolder) + FoldersUserSettings.prototype.unSubscribeFolder = function (oFolder) { Local.set(Enums.ClientSideKeyName.FoldersLashHash, ''); Remote.folderSetSubscribe(Utils.emptyFunction, oFolder.fullNameRaw, false); @@ -209,6 +209,6 @@ oFolder.subScribed(false); }; - module.exports = FoldersUserSetting; + module.exports = FoldersUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/General.js b/dev/Settings/User/General.js index 2f1f1dc8e..fdcd69b0a 100644 --- a/dev/Settings/User/General.js +++ b/dev/Settings/User/General.js @@ -19,7 +19,7 @@ /** * @constructor */ - function GeneralUserSetting() + function GeneralUserSettings() { this.mainLanguage = Data.mainLanguage; this.mainMessagesPerPage = Data.mainMessagesPerPage; @@ -74,12 +74,12 @@ }, this); } - GeneralUserSetting.prototype.toggleLayout = function () + GeneralUserSettings.prototype.toggleLayout = function () { this.layout(Enums.Layout.NoPreview === this.layout() ? Enums.Layout.SidePreview : Enums.Layout.NoPreview); }; - GeneralUserSetting.prototype.onBuild = function () + GeneralUserSettings.prototype.onBuild = function () { var self = this; @@ -178,16 +178,16 @@ }, 50); }; - GeneralUserSetting.prototype.onShow = function () + GeneralUserSettings.prototype.onShow = function () { Data.desktopNotifications.valueHasMutated(); }; - GeneralUserSetting.prototype.selectLanguage = function () + GeneralUserSettings.prototype.selectLanguage = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages')); }; - module.exports = GeneralUserSetting; + module.exports = GeneralUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Identities.js b/dev/Settings/User/Identities.js index 3789bc48d..eba18b614 100644 --- a/dev/Settings/User/Identities.js +++ b/dev/Settings/User/Identities.js @@ -18,7 +18,7 @@ /** * @constructor */ - function IdentitiesUserSetting() + function IdentitiesUserSettings() { this.editor = null; this.defautOptionsAfterRender = Utils.defautOptionsAfterRender; @@ -100,7 +100,7 @@ * * @return {string} */ - IdentitiesUserSetting.prototype.formattedAccountIdentity = function () + IdentitiesUserSettings.prototype.formattedAccountIdentity = function () { var sDisplayName = this.displayName.peek(), @@ -110,12 +110,12 @@ return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>'; }; - IdentitiesUserSetting.prototype.addNewIdentity = function () + IdentitiesUserSettings.prototype.addNewIdentity = function () { 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]); }; @@ -123,7 +123,7 @@ /** * @param {IdentityModel} oIdentityToRemove */ - IdentitiesUserSetting.prototype.deleteIdentity = function (oIdentityToRemove) + IdentitiesUserSettings.prototype.deleteIdentity = function (oIdentityToRemove) { if (oIdentityToRemove && oIdentityToRemove.deleteAccess()) { @@ -146,7 +146,7 @@ } }; - IdentitiesUserSetting.prototype.onFocus = function () + IdentitiesUserSettings.prototype.onFocus = function () { if (!this.editor && this.signatureDom()) { @@ -172,7 +172,7 @@ } }; - IdentitiesUserSetting.prototype.onBuild = function (oDom) + IdentitiesUserSettings.prototype.onBuild = function (oDom) { var self = this; @@ -228,6 +228,6 @@ }, 50); }; - module.exports = IdentitiesUserSetting; + module.exports = IdentitiesUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Identity.js b/dev/Settings/User/Identity.js index 4ae9d97fc..9ff94b808 100644 --- a/dev/Settings/User/Identity.js +++ b/dev/Settings/User/Identity.js @@ -18,7 +18,7 @@ /** * @constructor */ - function IdentityUserSetting() + function IdentityUserSettings() { this.editor = null; @@ -34,7 +34,7 @@ this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle); } - IdentityUserSetting.prototype.onFocus = function () + IdentityUserSettings.prototype.onFocus = function () { if (!this.editor && this.signatureDom()) { @@ -60,7 +60,7 @@ } }; - IdentityUserSetting.prototype.onBuild = function () + IdentityUserSettings.prototype.onBuild = function () { var self = this; _.delay(function () { @@ -98,6 +98,6 @@ }, 50); }; - module.exports = IdentityUserSetting; + module.exports = IdentityUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/OpenPgp.js b/dev/Settings/User/OpenPgp.js index 19852e93f..2cffa532e 100644 --- a/dev/Settings/User/OpenPgp.js +++ b/dev/Settings/User/OpenPgp.js @@ -17,7 +17,7 @@ /** * @constructor */ - function OpenPgpUserSetting() + function OpenPgpUserSettings() { this.openpgpkeys = Data.openpgpkeys; this.openpgpkeysPublic = Data.openpgpkeysPublic; @@ -38,17 +38,17 @@ ]}); } - OpenPgpUserSetting.prototype.addOpenPgpKey = function () + OpenPgpUserSettings.prototype.addOpenPgpKey = function () { kn.showScreenPopup(require('View/Popup/AddOpenPgpKey')); }; - OpenPgpUserSetting.prototype.generateOpenPgpKey = function () + OpenPgpUserSettings.prototype.generateOpenPgpKey = function () { kn.showScreenPopup(require('View/Popup/NewOpenPgpKey')); }; - OpenPgpUserSetting.prototype.viewOpenPgpKey = function (oOpenPgpKey) + OpenPgpUserSettings.prototype.viewOpenPgpKey = function (oOpenPgpKey) { if (oOpenPgpKey) { @@ -59,7 +59,7 @@ /** * @param {OpenPgpKeyModel} oOpenPgpKeyToRemove */ - OpenPgpUserSetting.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove) + OpenPgpUserSettings.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove) { if (oOpenPgpKeyToRemove && oOpenPgpKeyToRemove.deleteAccess()) { @@ -87,6 +87,6 @@ } }; - module.exports = OpenPgpUserSetting; + module.exports = OpenPgpUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Security.js b/dev/Settings/User/Security.js index e59e07ad9..29cea27af 100644 --- a/dev/Settings/User/Security.js +++ b/dev/Settings/User/Security.js @@ -16,7 +16,7 @@ /** * @constructor */ - function SecurityUserSetting() + function SecurityUserSettings() { this.processing = ko.observable(false); this.clearing = ko.observable(false); @@ -46,37 +46,37 @@ this.onSecretResult = _.bind(this.onSecretResult, this); } - SecurityUserSetting.prototype.showSecret = function () + SecurityUserSettings.prototype.showSecret = function () { this.secreting(true); Remote.showTwoFactorSecret(this.onSecretResult); }; - SecurityUserSetting.prototype.hideSecret = function () + SecurityUserSettings.prototype.hideSecret = function () { this.viewSecret(''); this.viewBackupCodes(''); this.viewUrl(''); }; - SecurityUserSetting.prototype.createTwoFactor = function () + SecurityUserSettings.prototype.createTwoFactor = function () { this.processing(true); Remote.createTwoFactor(this.onResult); }; - SecurityUserSetting.prototype.enableTwoFactor = function () + SecurityUserSettings.prototype.enableTwoFactor = function () { this.processing(true); Remote.enableTwoFactor(this.onResult, this.viewEnable()); }; - SecurityUserSetting.prototype.testTwoFactor = function () + SecurityUserSettings.prototype.testTwoFactor = function () { require('Knoin/Knoin').showScreenPopup(require('View/Popup/TwoFactorTest')); }; - SecurityUserSetting.prototype.clearTwoFactor = function () + SecurityUserSettings.prototype.clearTwoFactor = function () { this.viewSecret(''); this.viewBackupCodes(''); @@ -86,14 +86,14 @@ Remote.clearTwoFactor(this.onResult); }; - SecurityUserSetting.prototype.onShow = function () + SecurityUserSettings.prototype.onShow = function () { this.viewSecret(''); this.viewBackupCodes(''); this.viewUrl(''); }; - SecurityUserSetting.prototype.onResult = function (sResult, oData) + SecurityUserSettings.prototype.onResult = function (sResult, oData) { this.processing(false); this.clearing(false); @@ -139,7 +139,7 @@ } }; - SecurityUserSetting.prototype.onSecretResult = function (sResult, oData) + SecurityUserSettings.prototype.onSecretResult = function (sResult, oData) { this.secreting(false); @@ -155,12 +155,12 @@ } }; - SecurityUserSetting.prototype.onBuild = function () + SecurityUserSettings.prototype.onBuild = function () { this.processing(true); Remote.getTwoFactor(this.onResult); }; - module.exports = SecurityUserSetting; + module.exports = SecurityUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Social.js b/dev/Settings/User/Social.js index fef7218a4..123bcfde6 100644 --- a/dev/Settings/User/Social.js +++ b/dev/Settings/User/Social.js @@ -6,7 +6,7 @@ /** * @constructor */ - function SocialUserSetting() + function SocialUserSettings() { var Utils = require('Common/Utils'), @@ -71,6 +71,6 @@ }); } - module.exports = SocialUserSetting; + module.exports = SocialUserSettings; }()); \ No newline at end of file diff --git a/dev/Settings/User/Themes.js b/dev/Settings/User/Themes.js index f534cd32c..c757195f3 100644 --- a/dev/Settings/User/Themes.js +++ b/dev/Settings/User/Themes.js @@ -18,7 +18,7 @@ /** * @constructor */ - function ThemesUserSetting() + function ThemesUserSettings() { var self = this; @@ -45,7 +45,7 @@ }, this); } - ThemesUserSetting.prototype.onBuild = function () + ThemesUserSettings.prototype.onBuild = function () { var sCurrentTheme = Data.theme(); this.themesObjects(_.map(Data.themes(), function (sTheme) { @@ -58,6 +58,6 @@ })); }; - module.exports = ThemesUserSetting; + module.exports = ThemesUserSettings; }()); \ No newline at end of file diff --git a/dev/Styles/Login.less b/dev/Styles/Login.less index 0e53544d2..5166c99eb 100644 --- a/dev/Styles/Login.less +++ b/dev/Styles/Login.less @@ -103,4 +103,13 @@ .flag-selector { margin-bottom: 0; } + + .social-buttons { + margin-top: 5px; + } + + .social-button, .language-button { + padding: 5px; + outline: none; + } } diff --git a/rainloop/v/0.0.0/app/templates/Themes/template.less b/rainloop/v/0.0.0/app/templates/Themes/template.less index 44366e1ee..0af2b518c 100644 --- a/rainloop/v/0.0.0/app/templates/Themes/template.less +++ b/rainloop/v/0.0.0/app/templates/Themes/template.less @@ -66,7 +66,7 @@ .thm-border-radius(@login-border-radius); .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; } } diff --git a/rainloop/v/0.0.0/app/templates/Views/User/Login.html b/rainloop/v/0.0.0/app/templates/Views/User/Login.html index d4887632f..fc0d6245b 100644 --- a/rainloop/v/0.0.0/app/templates/Views/User/Login.html +++ b/rainloop/v/0.0.0/app/templates/Views/User/Login.html @@ -67,60 +67,30 @@    -
- +
Powered by RainLoop
-
+
diff --git a/rainloop/v/0.0.0/langs/en.ini b/rainloop/v/0.0.0/langs/en.ini index f66e8b54e..cb50c6257 100644 --- a/rainloop/v/0.0.0/langs/en.ini +++ b/rainloop/v/0.0.0/langs/en.ini @@ -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)?" [POPUPS_LANGUAGES] -TITLE_LANGUAGES = "Choose language" +TITLE_LANGUAGES = "Choose your language" [POPUPS_ADD_ACCOUNT] TITLE_ADD_ACCOUNT = "Add Account?" diff --git a/rainloop/v/0.0.0/langs/is.ini b/rainloop/v/0.0.0/langs/is.ini index 96f82c750..0dbb07227 100644 --- a/rainloop/v/0.0.0/langs/is.ini +++ b/rainloop/v/0.0.0/langs/is.ini @@ -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)?" [POPUPS_LANGUAGES] -TITLE_LANGUAGES = "Choose language" +TITLE_LANGUAGES = "Choose your language" [POPUPS_ADD_ACCOUNT] TITLE_ADD_ACCOUNT = "Bæta við aðgangi?" diff --git a/rainloop/v/0.0.0/langs/lv.ini b/rainloop/v/0.0.0/langs/lv.ini index c67d5c31a..1cb395648 100644 --- a/rainloop/v/0.0.0/langs/lv.ini +++ b/rainloop/v/0.0.0/langs/lv.ini @@ -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)?" [POPUPS_LANGUAGES] -TITLE_LANGUAGES = "Choose language" +TITLE_LANGUAGES = "Choose your language" [POPUPS_ADD_ACCOUNT] TITLE_ADD_ACCOUNT = "Pievienot kontu?" diff --git a/rainloop/v/0.0.0/static/css/fonts/rainloop.eot b/rainloop/v/0.0.0/static/css/fonts/rainloop.eot index e9b726c3fbea966a04acac48ddaed8deab2a2396..c11474e5695f0b43e3f5979bcd54f455ebe1019c 100644 GIT binary patch delta 1314 zcmYjRU1%It6h7zNJNMq1*_p}D?o0~XZL;EyB2Ch4G9#spNlcrxmI@a9L5Qqrtd*o$ z+lmz=i$3H{uuKIlf={B4LWPzRL=g0$h<&U@a4Adip^R*7x+W=5rm_Kq9z5vDfH=GYYe`;)E z?CObc0q|wcUtC^mG~0i6<^bq(uDx)kaiO`h1A_5i^S(K=`raGQwmz!?$U6XsZ@jtE zI8FY@PFBW!t?PUuXMM1`zT9}_*us4PvCaAYwZ^3;{D6}8pXPk{Tw`tJ_r34`1Tgn8 z*FI^kU%2?vcN;$g%s;`*8-R@B_wIJ()@#9`zrZCf0Nj3e`-4YUf^OaPmh2`zCC(#e zf8eXQp3T$FLYdL5z5ABCtNP1x!kJvI@FUW zjKXxXmL?V2ha5+}#(dHzW{JYRsN!l|iasx%uLQ!xu z`o>_{w?jdNei9T84Ob)*DYT97lxw6T$t6XOkV@N@6sT;=u_U3!L1x6DfMlUmjzYB2 zAc>YhL6v_lf;UKg4f}EP|nL;((!+ZnY9_dNVP$c=>*@r?Y!I>12nT>J8faMij z6nxHRvD(SIuz2H;9B_@>k2Y}=eipIACO5a14vw*KPqwI^&1%b%xd|nNWVgadp=Cjm z4m`u&xwCRr|B#TvLI+Wxl#ce1kOGUOb{rv?-?q3QNm;6oZ-+0B1-SwpTXB@o}i< zb0uw_sy_H~H?|;z?{{Ox^-gwg<}JILB*&RplIUDNM@?5~%{Ldek-Wd0!{j&7qKRM#jPsaZ; C7`zSu delta 500 zcmYjNO(;ZB7(MsBH_wP-Wx>dZjFMzD6O%&o#$SpODGR-ZnMw0zo>;K(v$9YYTuI16 zVq;;GDLVy(P0~7p>bRatK_ve^ z&8@-kRG{;y&Iw2tfaf7Jq7I|)y_nlr$?OL0I3U+&IO + diff --git a/rainloop/v/0.0.0/static/css/fonts/rainloop.ttf b/rainloop/v/0.0.0/static/css/fonts/rainloop.ttf index e3f590a59b04bb944ebaf7544abb1f32ceabf3f5..5bfc8dc65b45dd63092d161ccc63dd0a9a29c4b6 100644 GIT binary patch delta 1353 zcmYLJTWB0*6h7zt|NQ^lCzsusRyXTr)m>kjq}gPqlq5}KbE(!UD)k1HCB`O@%bHfK zAYJp47hlvtK`Hno3iUyV&^`n$^g-|feUe%PgM>Z>TnhT8@l1BX8GinA{m%IgbEfqk z?tOqwKmhRIT@dih%*^voHO_wV55U}QwiaejP0zq*pjiK!_0rSN4Gs@}dgdDde3A8Y z^DFhn&Y!ze0CbgY&t9lsZ0zqd63l(ce)Gce+pj;~{GvE6`PR_C6k;Roum;IaOb=I?jd&_I{^_Nc1-UARV*6*#TZb24jDLL!1V1`>obS`=-{$ zhd3_Q5z|S01=rH6xIbH9ACovZg#!$LGpuE!Du9F`zD<4)z;;%4)|fOuJJ6O&qC{Ej z)?K=fvdC1oev-c)ZwgK>;4bchh8r0clvOSqjz^4?Mv@|O2*bu1i!mClaP2C0n#9p?$Qh#}O+L&kpHp~#dvkMp^WXV?Eyo5^a!kQoUj zgk-kDltN2ak`6qRxpQUZsP02T3IlCKfl}JqM?wk=lG?U~V0_D9gCu3BE}jk#j~j9X z+LrK)jHD1IkrXzW%4BTRT&BrAdBPBuLh8*GZI3a~$tlUCJW0z7+zyiww$RL2cLfel z+;;*tS<=lwYzl;CE<93U1RU;ghm=E2+^6A=*RyXLT==-NGsrvA(~$|%?@qYQN1^@4 z;q7GS^^Vg32kvxa#rD6mWs??Lx)`u66Zr68M;7n|)H<@{n9n=10U_M%$cpW|unu)t zf>l_CHGUiE-lUtJn>=gPc!`g|Q5Z_EO;(NC(2=7<=`WM>>9LdjxSqaz@(;qs*4R`- e*!s=YrRkw~1|a=vx)0w-f0%y2{r?Bj+V~ILM!ypP delta 534 zcmX|7O-NKx7(MsRooPa~Ea zr56H!XdzN9T4*Eg6cK7uC@~2JA}Uc5F2ZQzqUpTx;f2fj&iU>=_nz-$O8kByCLsV^ z!E<=?F%o$Jc=w~H+d)zV8%uO0HqIr4wI)!S}%8y^& z@XwJik^dSR$r^F1^#|ZNCjV|3<2E+&h5aV-(6C|UmbBLsK=UHCX?tWWAAPf|11;>! zd^sEgo((LU{nzgPMTN#|!1i1*aE@9rFfHzRMzN*ti(X-=c~NS1S`1O%!LkRCBy&a; zgv1@9k0?O91B;Ql4&Y#jrwT{fsVMBqZ*eu1s0ml&nd>3p$BJ8fQGp$|_EG<%_7k_l zZD?@bk(cQnz=B(QaRX~^?W2CEKIuV~&^s^HBZgWusu?{j>tnTz>VuvYn);_ziBXkF i9u?|Rwnx2fs|?$GOY)oN18|aHyYJ&!884<$4EzU<5_hBk diff --git a/rainloop/v/0.0.0/static/css/fonts/rainloop.woff b/rainloop/v/0.0.0/static/css/fonts/rainloop.woff index a85dce219b0686c9555e7cad8ab256726124aecb..9c0ccf6d0c29d5446e7019ad754e168995768886 100644 GIT binary patch delta 12933 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 diff --git a/vendors/fontastic/fonts/rainloop.eot b/vendors/fontastic/fonts/rainloop.eot index e9b726c3fbea966a04acac48ddaed8deab2a2396..c11474e5695f0b43e3f5979bcd54f455ebe1019c 100644 GIT binary patch delta 1314 zcmYjRU1%It6h7zNJNMq1*_p}D?o0~XZL;EyB2Ch4G9#spNlcrxmI@a9L5Qqrtd*o$ z+lmz=i$3H{uuKIlf={B4LWPzRL=g0$h<&U@a4Adip^R*7x+W=5rm_Kq9z5vDfH=GYYe`;)E z?CObc0q|wcUtC^mG~0i6<^bq(uDx)kaiO`h1A_5i^S(K=`raGQwmz!?$U6XsZ@jtE zI8FY@PFBW!t?PUuXMM1`zT9}_*us4PvCaAYwZ^3;{D6}8pXPk{Tw`tJ_r34`1Tgn8 z*FI^kU%2?vcN;$g%s;`*8-R@B_wIJ()@#9`zrZCf0Nj3e`-4YUf^OaPmh2`zCC(#e zf8eXQp3T$FLYdL5z5ABCtNP1x!kJvI@FUW zjKXxXmL?V2ha5+}#(dHzW{JYRsN!l|iasx%uLQ!xu z`o>_{w?jdNei9T84Ob)*DYT97lxw6T$t6XOkV@N@6sT;=u_U3!L1x6DfMlUmjzYB2 zAc>YhL6v_lf;UKg4f}EP|nL;((!+ZnY9_dNVP$c=>*@r?Y!I>12nT>J8faMij z6nxHRvD(SIuz2H;9B_@>k2Y}=eipIACO5a14vw*KPqwI^&1%b%xd|nNWVgadp=Cjm z4m`u&xwCRr|B#TvLI+Wxl#ce1kOGUOb{rv?-?q3QNm;6oZ-+0B1-SwpTXB@o}i< zb0uw_sy_H~H?|;z?{{Ox^-gwg<}JILB*&RplIUDNM@?5~%{Ldek-Wd0!{j&7qKRM#jPsaZ; C7`zSu delta 500 zcmYjNO(;ZB7(MsBH_wP-Wx>dZjFMzD6O%&o#$SpODGR-ZnMw0zo>;K(v$9YYTuI16 zVq;;GDLVy(P0~7p>bRatK_ve^ z&8@-kRG{;y&Iw2tfaf7Jq7I|)y_nlr$?OL0I3U+&IO + diff --git a/vendors/fontastic/fonts/rainloop.ttf b/vendors/fontastic/fonts/rainloop.ttf index e3f590a59b04bb944ebaf7544abb1f32ceabf3f5..5bfc8dc65b45dd63092d161ccc63dd0a9a29c4b6 100644 GIT binary patch delta 1353 zcmYLJTWB0*6h7zt|NQ^lCzsusRyXTr)m>kjq}gPqlq5}KbE(!UD)k1HCB`O@%bHfK zAYJp47hlvtK`Hno3iUyV&^`n$^g-|feUe%PgM>Z>TnhT8@l1BX8GinA{m%IgbEfqk z?tOqwKmhRIT@dih%*^voHO_wV55U}QwiaejP0zq*pjiK!_0rSN4Gs@}dgdDde3A8Y z^DFhn&Y!ze0CbgY&t9lsZ0zqd63l(ce)Gce+pj;~{GvE6`PR_C6k;Roum;IaOb=I?jd&_I{^_Nc1-UARV*6*#TZb24jDLL!1V1`>obS`=-{$ zhd3_Q5z|S01=rH6xIbH9ACovZg#!$LGpuE!Du9F`zD<4)z;;%4)|fOuJJ6O&qC{Ej z)?K=fvdC1oev-c)ZwgK>;4bchh8r0clvOSqjz^4?Mv@|O2*bu1i!mClaP2C0n#9p?$Qh#}O+L&kpHp~#dvkMp^WXV?Eyo5^a!kQoUj zgk-kDltN2ak`6qRxpQUZsP02T3IlCKfl}JqM?wk=lG?U~V0_D9gCu3BE}jk#j~j9X z+LrK)jHD1IkrXzW%4BTRT&BrAdBPBuLh8*GZI3a~$tlUCJW0z7+zyiww$RL2cLfel z+;;*tS<=lwYzl;CE<93U1RU;ghm=E2+^6A=*RyXLT==-NGsrvA(~$|%?@qYQN1^@4 z;q7GS^^Vg32kvxa#rD6mWs??Lx)`u66Zr68M;7n|)H<@{n9n=10U_M%$cpW|unu)t zf>l_CHGUiE-lUtJn>=gPc!`g|Q5Z_EO;(NC(2=7<=`WM>>9LdjxSqaz@(;qs*4R`- e*!s=YrRkw~1|a=vx)0w-f0%y2{r?Bj+V~ILM!ypP delta 534 zcmX|7O-NKx7(MsRooPa~Ea zr56H!XdzN9T4*Eg6cK7uC@~2JA}Uc5F2ZQzqUpTx;f2fj&iU>=_nz-$O8kByCLsV^ z!E<=?F%o$Jc=w~H+d)zV8%uO0HqIr4wI)!S}%8y^& z@XwJik^dSR$r^F1^#|ZNCjV|3<2E+&h5aV-(6C|UmbBLsK=UHCX?tWWAAPf|11;>! zd^sEgo((LU{nzgPMTN#|!1i1*aE@9rFfHzRMzN*ti(X-=c~NS1S`1O%!LkRCBy&a; zgv1@9k0?O91B;Ql4&Y#jrwT{fsVMBqZ*eu1s0ml&nd>3p$BJ8fQGp$|_EG<%_7k_l zZD?@bk(cQnz=B(QaRX~^?W2CEKIuV~&^s^HBZgWusu?{j>tnTz>VuvYn);_ziBXkF i9u?|Rwnx2fs|?$GOY)oN18|aHyYJ&!884<$4EzU<5_hBk diff --git a/vendors/fontastic/fonts/rainloop.woff b/vendors/fontastic/fonts/rainloop.woff index a85dce219b0686c9555e7cad8ab256726124aecb..9c0ccf6d0c29d5446e7019ad754e168995768886 100644 GIT binary patch delta 12933 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 diff --git a/vendors/fontastic/icons-reference.html b/vendors/fontastic/icons-reference.html index aaadd0574..f8beb2691 100644 --- a/vendors/fontastic/icons-reference.html +++ b/vendors/fontastic/icons-reference.html @@ -43,449 +43,6 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas

RainLoop

This font was created withFontastic

-

Character mapping

-
    -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -
  • -
    - -
  • -

CSS mapping

  • @@ -928,6 +485,457 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
  • +
  • +
    + +
  • +
+

Character mapping

+
    +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +
  • +
  • +
    + +