diff --git a/packages/desktop-client/src/components/Titlebar.tsx b/packages/desktop-client/src/components/Titlebar.tsx index 4483900ee80d6743744e09610a29995cfc75b831..fab82dbe3abf15206691e20d1bea80223fd327c4 100644 --- a/packages/desktop-client/src/components/Titlebar.tsx +++ b/packages/desktop-client/src/components/Titlebar.tsx @@ -9,8 +9,6 @@ import React, { import { useSelector } from 'react-redux'; import { Routes, Route, useLocation, useNavigate } from 'react-router-dom'; -import { css, media } from 'glamor'; - import * as Platform from 'loot-core/src/client/platform'; import * as queries from 'loot-core/src/client/queries'; import { listen } from 'loot-core/src/platform/client/fetch'; @@ -24,7 +22,6 @@ import SvgEyeSlashed from '../icons/v2/EyeSlashed'; import NavigationMenu from '../icons/v2/NavigationMenu'; import { useResponsive } from '../ResponsiveProvider'; import { colors, type CSSProperties } from '../style'; -import tokens from '../tokens'; import AccountSyncCheck from './accounts/AccountSyncCheck'; import AnimatedRefresh from './AnimatedRefresh'; @@ -107,8 +104,9 @@ function PrivacyButton() { type SyncButtonProps = { style?: CSSProperties; + isMobile?: boolean; }; -export function SyncButton({ style }: SyncButtonProps) { +export function SyncButton({ style, isMobile = false }: SyncButtonProps) { let cloudFileId = useSelector(state => state.prefs.local.cloudFileId); let { sync } = useActions(); @@ -156,33 +154,29 @@ export function SyncButton({ style }: SyncButtonProps) { syncState === 'local' ? colors.n9 : style.color; - const activeStyle = css( - // mobile - media(`(max-width: ${tokens.breakpoint_small})`, { - color: mobileColor, - }), - ); + const desktopColor = + syncState === 'error' + ? colors.r4 + : syncState === 'disabled' || + syncState === 'offline' || + syncState === 'local' + ? colors.n6 + : null; + + const activeStyle = isMobile + ? { + color: mobileColor, + } + : {}; return ( <Button type="bare" - style={css( - style, - { - WebkitAppRegion: 'none', - color: mobileColor, - }, - media(`(min-width: ${tokens.breakpoint_small})`, { - color: - syncState === 'error' - ? colors.r4 - : syncState === 'disabled' || - syncState === 'offline' || - syncState === 'local' - ? colors.n6 - : null, - }), - )} + style={{ + ...style, + WebkitAppRegion: 'none', + color: isMobile ? mobileColor : desktopColor, + }} hoveredStyle={activeStyle} activeStyle={activeStyle} onClick={sync} diff --git a/packages/desktop-client/src/components/budget/MobileBudgetTable.js b/packages/desktop-client/src/components/budget/MobileBudgetTable.js index 44eced7c28e86e70f83be85307978417ab038042..b8f8045da14ef730a9c312aaae45c92757330233 100644 --- a/packages/desktop-client/src/components/budget/MobileBudgetTable.js +++ b/packages/desktop-client/src/components/budget/MobileBudgetTable.js @@ -1051,6 +1051,7 @@ function BudgetHeader({ {serverURL && ( <SyncButton + isMobile style={{ color: 'white', position: 'absolute', diff --git a/upcoming-release-notes/1665.md b/upcoming-release-notes/1665.md new file mode 100644 index 0000000000000000000000000000000000000000..160194f5d40428b3fde11f048deb5452967d6520 --- /dev/null +++ b/upcoming-release-notes/1665.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [MatissJanis] +--- + +Mobile: fix sync button design