From eba6c9730e4c21da523aeace52460da3ee3773e6 Mon Sep 17 00:00:00 2001 From: Matiss Janis Aboltins Date: Wed, 6 Sep 2023 20:33:35 +0100 Subject: [PATCH 1/2] :bug: (mobile) fix sync button design --- .../src/components/Titlebar.tsx | 48 ++++++++----------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/packages/desktop-client/src/components/Titlebar.tsx b/packages/desktop-client/src/components/Titlebar.tsx index 4483900ee80..fab82dbe3ab 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 (