diff --git a/app/sync/index.js b/app/sync/index.js index e090fdcaa2..723279487a 100644 --- a/app/sync/index.js +++ b/app/sync/index.js @@ -45,7 +45,8 @@ export async function initSync () { db.onChange(changes => { for (const [event, doc, fromSync] of changes) { const notOnWhitelist = !WHITE_LIST[doc.type]; - if (notOnWhitelist || fromSync) { + const notLoggedIn = !session.isLoggedIn(); + if (notLoggedIn || notOnWhitelist || fromSync) { continue; } @@ -549,7 +550,7 @@ async function _createResourceGroup (name = '') { } // Create a config for it - await ensureConfigExists(resourceGroup.id, store.SYNC_MODE_OFF); + await ensureConfigExists(resourceGroup.id, store.SYNC_MODE_ON); logger.debug(`Created ResourceGroup ${resourceGroup.id}`); return resourceGroup; diff --git a/app/sync/storage.js b/app/sync/storage.js index 673e89b8c2..9296e352aa 100644 --- a/app/sync/storage.js +++ b/app/sync/storage.js @@ -142,7 +142,7 @@ export async function insertConfig (config) { function _initConfig (data) { return Object.assign({ _id: util.generateId('scf'), - syncMode: SYNC_MODE_OFF, + syncMode: SYNC_MODE_ON, resourceGroupId: null }, data); } diff --git a/app/ui/components/dropdowns/SyncDropdown.js b/app/ui/components/dropdowns/SyncDropdown.js index b0695a0b01..2338e4fd9e 100644 --- a/app/ui/components/dropdowns/SyncDropdown.js +++ b/app/ui/components/dropdowns/SyncDropdown.js @@ -8,6 +8,7 @@ import * as session from '../../../sync/session'; import * as sync from '../../../sync'; import * as analytics from '../../../analytics/index'; import * as models from '../../../models/index'; +import SettingsModal from '../modals/SettingsModal'; class SyncDropdown extends Component { constructor (props) { @@ -53,6 +54,10 @@ class SyncDropdown extends Component { } async _reloadData () { + if (!session.isLoggedIn()) { + return; + } + // Get or create any related sync data const workspace = await models.workspace.getById(this.props.workspaceId); const {resourceGroupId} = await sync.getOrCreateResourceForDoc(workspace); @@ -107,20 +112,28 @@ class SyncDropdown extends Component { {syncMode === syncStorage.SYNC_MODE_OFF ? : } - Sync Automatically + Automatic Sync Share Workspace + {syncMode === syncStorage.SYNC_MODE_OFF ? ( + this._handleSyncResourceGroupId(resourceGroupId)} + disabled={syncPercent === 100} + stayOpenAfterClick={true}> + {loading ? + : + } + Sync Now {syncPercent === 100 ? '(up to date)' : ''} + + ) : null} + - this._handleSyncResourceGroupId(resourceGroupId)} - disabled={syncPercent === 100} - stayOpenAfterClick={true}> - {loading ? - : - } - Sync Now {syncPercent === 100 ? '(up to date)' : ''} + + showModal(SettingsModal, 2)}> + + Manage Account showModal(SyncLogsModal)}> @@ -128,11 +141,15 @@ class SyncDropdown extends Component { ); - } else if (!syncData) { - return null; + } else if (session.isLoggedIn() && !syncData) { + return ( + + Initializing Sync... + + ) } else { return ( - showModal(SignupModal)}> Login to Cloud Sync diff --git a/app/ui/containers/EnvironmentsDropdown.js b/app/ui/containers/EnvironmentsDropdown.js index f0f796e9d1..6fefbd88e6 100644 --- a/app/ui/containers/EnvironmentsDropdown.js +++ b/app/ui/containers/EnvironmentsDropdown.js @@ -37,16 +37,13 @@ class EnvironmentsDropdown extends Component { const baseEnvironment = allEnvironments.find(e => e.parentId === workspace._id); const subEnvironments = allEnvironments.filter(e => e.parentId === (baseEnvironment && baseEnvironment._id)); const activeEnvironment = allEnvironments.find(e => e._id === workspace.metaActiveEnvironmentId) || baseEnvironment; + const description = activeEnvironment !== baseEnvironment ? activeEnvironment.name : 'No Environment'; return ( - - {activeEnvironment && activeEnvironment !== baseEnvironment ? activeEnvironment.name : 'No Environment'} - - - + {description} @@ -58,7 +55,7 @@ class EnvironmentsDropdown extends Component { ))} baseEnvironment && this._handleActivateEnvironment(baseEnvironment)}> + onClick={() => baseEnvironment && this._handleActivateEnvironment(baseEnvironment)}> No Environment diff --git a/app/ui/css/components/sidebar.less b/app/ui/css/components/sidebar.less index ff4603507f..8443e17d4c 100644 --- a/app/ui/css/components/sidebar.less +++ b/app/ui/css/components/sidebar.less @@ -336,6 +336,7 @@ border-top: 1px solid @hl-md; } + .sidebar__footer > button, .sidebar__footer .dropdown > button { font-size: @font-size-sm; padding: @padding-xs @padding-md;