From 0b706c5eeee8d87f0894766afb652716b15c7863 Mon Sep 17 00:00:00 2001 From: Jed Fox <git@jedfox.com> Date: Tue, 30 Aug 2022 18:20:26 -0400 Subject: [PATCH] =?UTF-8?q?Update=20the=20server=20button=20in=20the=20cor?= =?UTF-8?q?ner=20to=20take=20the=20user=20to=20the=20=E2=80=9Cchange=20ser?= =?UTF-8?q?ver=E2=80=9D=20page=20if=20none=20is=20configured?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/LoggedInUser.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.js b/packages/desktop-client/src/components/LoggedInUser.js index 46d472fe1..6f0160973 100644 --- a/packages/desktop-client/src/components/LoggedInUser.js +++ b/packages/desktop-client/src/components/LoggedInUser.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from 'react'; import { connect } from 'react-redux'; -import { withRouter } from 'react-router'; +import { useHistory, withRouter } from 'react-router'; import * as actions from 'loot-core/src/client/actions'; import { View, @@ -10,9 +10,9 @@ import { Menu } from 'loot-design/src/components/common'; import { colors } from 'loot-design/src/style'; +import useServerURL from '../hooks/useServerURL'; function LoggedInUser({ - history, files, budgetId, userData, @@ -26,6 +26,8 @@ function LoggedInUser({ }) { let [loading, setLoading] = useState(true); let [menuOpen, setMenuOpen] = useState(false); + const url = useServerURL(); + const history = useHistory(); useEffect(() => { getUserData().then(() => setLoading(false)); @@ -33,7 +35,7 @@ function LoggedInUser({ async function onChangePassword() { await closeBudget(); - window.__history.push('/change-password'); + history.push('/change-password'); } function onMenuSelect(type) { @@ -51,7 +53,11 @@ function LoggedInUser({ } function onClick() { - setMenuOpen(true); + if (url) { + setMenuOpen(true); + } else { + history.push('/config-server'); + } } if (loading) { @@ -68,7 +74,7 @@ function LoggedInUser({ return ( <View style={[{ flexDirection: 'row', alignItems: 'center' }, style]}> <Button bare onClick={onClick} style={{ color }}> - Server + {url ? 'Server' : 'No server'} </Button> {menuOpen && ( @@ -82,7 +88,7 @@ function LoggedInUser({ items={[ { name: 'change-password', text: 'Change password' }, { name: 'sign-out', text: 'Sign out' } - ].filter(x => x)} + ]} /> </Tooltip> )} -- GitLab