diff --git a/android/.settings/org.eclipse.buildship.core.prefs b/android/.settings/org.eclipse.buildship.core.prefs
index b278339ce..11a41a9d6 100644
--- a/android/.settings/org.eclipse.buildship.core.prefs
+++ b/android/.settings/org.eclipse.buildship.core.prefs
@@ -1,11 +1,11 @@
-arguments=--init-script /var/folders/ck/r25tcygs77n6hv8d515p1w_c0000gn/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle --init-script /var/folders/ck/r25tcygs77n6hv8d515p1w_c0000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle
+arguments=--init-script /var/folders/tm/qsvqk80d0t30zlr71v0yf1m00000gn/T/db3b08fc4a9ef609cb16b96b200fa13e563f396e9bb1ed0905fdab7bc3bc513b.gradle --init-script /var/folders/tm/qsvqk80d0t30zlr71v0yf1m00000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle
auto.sync=false
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
-java.home=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
+java.home=/Users/peronif5/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home
jvm.arguments=
offline.mode=false
override.workspace.settings=true
diff --git a/android/app/.settings/org.eclipse.jdt.core.prefs b/android/app/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..626e0e1d5
--- /dev/null
+++ b/android/app/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.source=17
diff --git a/index.js b/index.js
index 1c6897859..05984c2f5 100644
--- a/index.js
+++ b/index.js
@@ -1,4 +1,3 @@
-import { ThemeProvider } from '@shopify/restyle'
import React from 'react'
import { ErrorBoundary } from 'react-error-boundary'
import { AppRegistry } from 'react-native'
@@ -16,7 +15,6 @@ import LanguageProvider from './src/storage/LanguageProvider'
import NotificationStorageProvider from './src/storage/NotificationStorageProvider'
import { persistor } from './src/store/persistence'
import store from './src/store/store'
-import { darkThemeColors, theme } from './src/theme/theme'
import './src/utils/i18n'
// eslint-disable-next-line no-undef
@@ -34,33 +32,26 @@ function fallbackRender(props) {
const render = () => {
return (
- {
+ await persistor.purge()
}}
>
- {
- await persistor.purge()
- }}
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 4a116d358..cbfaf840e 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1979,7 +1979,7 @@ SPEC CHECKSUMS:
SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7
TcpSockets: 14306fb79f9750ea7d2ddd02d8bed182abb01797
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
- Yoga: 2246eea72aaf1b816a68a35e6e4b74563653ae09
+ Yoga: 950bbfd7e6f04790fdb51149ed51df41f329fcc8
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
PODFILE CHECKSUM: d44dfed27ca86fe0b1eb67aab0856b7cc9e24ff7
diff --git a/package.json b/package.json
index 799d7aa9d..92212a58f 100644
--- a/package.json
+++ b/package.json
@@ -68,6 +68,7 @@
"@maplibre/maplibre-react-native": "^9.1.0",
"@metaplex-foundation/mpl-bubblegum": "0.6.0",
"@metaplex-foundation/mpl-token-metadata": "2.10.0",
+ "@novalabsxyz/mobile-theme": "^2.0.0-y.24",
"@onsol/tldparser": "^0.5.3",
"@react-native-async-storage/async-storage": "1.18.1",
"@react-native-community/blur": "4.3.0",
diff --git a/src/App.tsx b/src/App.tsx
index c026f40ea..477e3e13b 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -9,18 +9,16 @@ import { ModalProvider } from '@storage/ModalsProvider'
import TokensProvider from '@storage/TokensProvider'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import globalStyles from '@theme/globalStyles'
-import { darkThemeColors, lightThemeColors, theme } from '@theme/theme'
-import { useColorScheme } from '@theme/themeHooks'
+import { darkTheme } from '@theme/theme'
import * as SplashLib from 'expo-splash-screen'
import React, { useMemo } from 'react'
-import { LogBox } from 'react-native'
+import { LogBox, Platform, StatusBar, UIManager } from 'react-native'
import useAppState from 'react-native-appstate-hook'
import Config from 'react-native-config'
import { GestureHandlerRootView } from 'react-native-gesture-handler'
import { OneSignal } from 'react-native-onesignal'
import { SafeAreaProvider } from 'react-native-safe-area-context'
import 'text-encoding-polyfill'
-import NetworkAwareStatusBar from './components/NetworkAwareStatusBar'
import SplashScreen from './components/SplashScreen'
import WalletConnectProvider from './features/dappLogin/WalletConnectProvider'
import LockScreen from './features/lock/LockScreen'
@@ -67,34 +65,36 @@ const App = () => {
const { appState } = useAppState()
const { restored: accountsRestored } = useAccountStorage()
- // const { cache } = useSolana()
const { setOpenedNotification } = useNotificationStorage()
const linking = useDeepLinking()
- const colorScheme = useColorScheme()
+ const themeObject = useMemo(() => {
+ return darkTheme
+ }, [])
+
+ if (Platform.OS === 'android') {
+ if (UIManager.setLayoutAnimationEnabledExperimental) {
+ UIManager.setLayoutAnimationEnabledExperimental(true)
+ }
+ }
const colorAdaptedTheme = useMemo(
() => ({
- ...theme,
- colors: colorScheme === 'light' ? lightThemeColors : darkThemeColors,
+ ...themeObject,
}),
- [colorScheme],
+ [themeObject],
)
const navTheme = useMemo(
() => ({
...DarkTheme,
- dark: colorScheme === 'light',
+ dark: true,
colors: {
...DarkTheme.colors,
- background:
- colorScheme === 'light'
- ? lightThemeColors.primaryBackground
- : darkThemeColors.primaryBackground,
+ background: themeObject.colors.primaryBackground,
},
}),
-
- [colorScheme],
+ [themeObject],
)
useMount(() => {
@@ -113,6 +113,10 @@ const App = () => {
return (
+
@@ -140,7 +144,6 @@ const App = () => {
-
{/* place app specific modals here */}
diff --git a/src/assets/images/backArrow.svg b/src/assets/images/backArrow.svg
index 686cc76ac..54d175df9 100644
--- a/src/assets/images/backArrow.svg
+++ b/src/assets/images/backArrow.svg
@@ -1,3 +1,3 @@
diff --git a/src/assets/images/createAccount.svg b/src/assets/images/createAccount.svg
index 0971fb857..6c1370cf7 100644
--- a/src/assets/images/createAccount.svg
+++ b/src/assets/images/createAccount.svg
@@ -1,3 +1,3 @@
diff --git a/src/components/AccountButton.tsx b/src/components/AccountButton.tsx
index da001ceb3..15ff99e3a 100644
--- a/src/components/AccountButton.tsx
+++ b/src/components/AccountButton.tsx
@@ -34,7 +34,7 @@ const AccountButton = ({
backgroundColor: backgroundColorProps,
...boxProps
}: Props) => {
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const colors = useColors()
const { triggerImpact } = useHaptic()
@@ -58,21 +58,26 @@ const AccountButton = ({
>
{!!subtitle && (
-
+
{subtitle}
)}
-
+
{title}
diff --git a/src/components/AccountListItem.tsx b/src/components/AccountListItem.tsx
index 8e25dd25d..6e86d7ef5 100644
--- a/src/components/AccountListItem.tsx
+++ b/src/components/AccountListItem.tsx
@@ -15,7 +15,7 @@ type Props = {
disabled?: boolean
}
const AccountListItem = ({ selected, account, onPress, disabled }: Props) => {
- const { primary } = useColors()
+ const { primaryText } = useColors()
const handlePress = useCallback(() => onPress?.(account), [account, onPress])
@@ -26,34 +26,34 @@ const AccountListItem = ({ selected, account, onPress, disabled }: Props) => {
return (
-
+
{formatAccountAlias(account)}
-
+
{ellipsizeAddress(address || '')}
{selected && (
-
+
)}
diff --git a/src/components/AccountSelector.tsx b/src/components/AccountSelector.tsx
index 8b7866148..0bb69cec7 100644
--- a/src/components/AccountSelector.tsx
+++ b/src/components/AccountSelector.tsx
@@ -38,14 +38,17 @@ const AccountSelector = forwardRef(
useImperativeHandle(ref, () => ({ show, showAccountTypes }))
const bottomSheetModalRef = useRef(null)
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
- const { m, xl } = useSpacing()
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
+ const spacing = useSpacing()
const [accountsType, setAccountsTypes] = useState('all')
const snapPoints = useMemo(() => ['60%', '80%'], [])
const colors = useColors()
- const sheetHandleStyle = useMemo(() => ({ padding: m }), [m])
- const flatListContainerStyle = useMemo(() => ({ paddingBottom: xl }), [xl])
+ const sheetHandleStyle = useMemo(() => ({ padding: spacing[4] }), [spacing])
+ const flatListContainerStyle = useMemo(
+ () => ({ paddingBottom: spacing[8] }),
+ [spacing],
+ )
const { handleDismiss, setIsShowing } = useBackHandler(bottomSheetModalRef)
diff --git a/src/components/AddressBookSelector.tsx b/src/components/AddressBookSelector.tsx
index 6a9c39397..5aba69623 100644
--- a/src/components/AddressBookSelector.tsx
+++ b/src/components/AddressBookSelector.tsx
@@ -45,10 +45,10 @@ const AddressBookSelector = forwardRef(
useImperativeHandle(ref, () => ({ showAddressBook }))
const bottomSheetModalRef = useRef(null)
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
- const { m } = useSpacing()
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
+ const spacing = useSpacing()
const snapPoints = useMemo(() => ['70%', '90%'], [])
- const sheetHandleStyle = useMemo(() => ({ padding: m }), [m])
+ const sheetHandleStyle = useMemo(() => ({ padding: spacing[4] }), [spacing])
const homeNav = useNavigation()
const [address, setAddress] = useState()
const [index, setIndex] = useState()
diff --git a/src/components/AutoGasBanner.tsx b/src/components/AutoGasBanner.tsx
index d789b7342..7285a7822 100644
--- a/src/components/AutoGasBanner.tsx
+++ b/src/components/AutoGasBanner.tsx
@@ -168,15 +168,15 @@ const Banner = ({ onLayout, ...rest }: BannerProps) => {
return (
@@ -188,8 +188,8 @@ const Banner = ({ onLayout, ...rest }: BannerProps) => {
)}
& {
const BackButton = ({
color = 'primaryText',
onPress,
- paddingHorizontal = 'lx',
+ paddingHorizontal = '7',
hitSlop,
...props
}: Props) => {
diff --git a/src/components/BackScreen.tsx b/src/components/BackScreen.tsx
index eee02f9cf..1e4c21604 100644
--- a/src/components/BackScreen.tsx
+++ b/src/components/BackScreen.tsx
@@ -41,7 +41,7 @@ const BackScreen = ({
edges,
onClose,
hideBack,
- headerHorizontalPadding = 'lx',
+ headerHorizontalPadding = '7',
onLayout,
onHeaderLayout,
title,
@@ -54,7 +54,7 @@ const BackScreen = ({
...rest
}: Props) => {
const navigation = useNavigation()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const isAndroid = useMemo(() => Platform.OS === 'android', [])
return (
@@ -76,21 +76,23 @@ const BackScreen = ({
alignItems="center"
justifyContent="center"
>
- {title}
+
+ {title}
+
{!hideBack && (
)}
{onClose && (
)}
@@ -98,8 +100,8 @@ const BackScreen = ({
{TrailingIcon && (
@@ -107,7 +109,7 @@ const BackScreen = ({
)}
-
+
{children}
diff --git a/src/components/BackgroundFill.tsx b/src/components/BackgroundFill.tsx
index 282e3feca..30a2f4f9a 100644
--- a/src/components/BackgroundFill.tsx
+++ b/src/components/BackgroundFill.tsx
@@ -7,7 +7,7 @@ import Box from './Box'
type Props = BoxProps
const BackgroundFill = ({ opacity, backgroundColor, ...boxProps }: Props) => (
{
const bottomSheetModalRef = useRef(null)
const [contentHeight, setContentHeight] = useState(0)
- const { backgroundStyle } = useOpacity('black400', 0.4)
+ const { backgroundStyle } = useOpacity('gray.700', 0.4)
+ const colors = useColors()
const handleOnClose = useCallback(() => {
if (onClose) {
@@ -78,6 +79,9 @@ const BlurActionSheet = ({ title, open, children, onClose }: Props) => {
backdropComponent={renderBackdrop}
backgroundStyle={backgroundStyle}
onDismiss={handleOnClose}
+ handleIndicatorStyle={{
+ backgroundColor: colors.primaryText,
+ }}
>
diff --git a/src/components/Bullet.tsx b/src/components/Bullet.tsx
index 5a0c28ab8..562d1f3b7 100644
--- a/src/components/Bullet.tsx
+++ b/src/components/Bullet.tsx
@@ -12,13 +12,13 @@ const Bullet = ({ children, color = 'black', style = {} }: Props) => (
-
+
•
-
+
{children}
diff --git a/src/components/ButtonPressable.tsx b/src/components/ButtonPressable.tsx
index 717db24d5..a066ffd5c 100644
--- a/src/components/ButtonPressable.tsx
+++ b/src/components/ButtonPressable.tsx
@@ -11,7 +11,6 @@ import ButtonPressAnimation from './ButtonPressAnimation'
import Text from './Text'
type Props = BoxProps & {
- backgroundColor?: Color
backgroundColorDisabled?: Color
backgroundColorOpacity?: number
backgroundColorDisabledOpacity?: number
@@ -116,12 +115,12 @@ const ButtonPressable = ({
}
if (pressed || selected) {
return backgroundStyle(
- backgroundColorPressed || backgroundColor || 'white',
+ backgroundColorPressed || (backgroundColor as Color) || 'primaryText',
backgroundColorOpacityPressed,
)
}
if (backgroundColor) {
- return backgroundStyle(backgroundColor, backgroundColorOpacity)
+ return backgroundStyle(backgroundColor as Color, backgroundColorOpacity)
}
}, [
backgroundStyle,
@@ -149,7 +148,7 @@ const ButtonPressable = ({
height={height}
minHeight={boxProps.minHeight}
maxHeight={boxProps.maxHeight}
- padding={height || boxProps.maxHeight || padding ? padding : 'l'}
+ padding={height || boxProps.maxHeight || padding ? padding : '6'}
style={backgroundColorStyle}
flexDirection="row"
justifyContent={Icon ? 'space-between' : 'center'}
@@ -160,7 +159,7 @@ const ButtonPressable = ({
{title && (
= ({ height }) => {
return (
diff --git a/src/components/CircleLoader.tsx b/src/components/CircleLoader.tsx
index 1c1f9553e..fe1f1ba93 100644
--- a/src/components/CircleLoader.tsx
+++ b/src/components/CircleLoader.tsx
@@ -4,6 +4,7 @@ import { Animated, Easing } from 'react-native'
import { BoxProps } from '@shopify/restyle'
import CircleLoaderSvg from '@assets/images/circleLoader.svg'
import { Color, Theme } from '@theme/theme'
+import { useColors } from '@theme/themeHooks'
import Box from './Box'
import Text from './Text'
@@ -16,11 +17,12 @@ const CircleLoader = ({
text,
loaderSize = 30,
minHeight,
- color = 'white',
+ color = 'primaryText',
...props
}: Props) => {
const rotateAnim = useRef(new Animated.Value(0))
const opacityAnim = useRef(new Animated.Value(0))
+ const colors = useColors()
const anim = () => {
Animated.loop(
@@ -72,14 +74,18 @@ const CircleLoader = ({
],
}}
>
-
+
{text && (
{text}
diff --git a/src/components/ConfirmPinView.tsx b/src/components/ConfirmPinView.tsx
index a3a9c6583..37dc3cad4 100644
--- a/src/components/ConfirmPinView.tsx
+++ b/src/components/ConfirmPinView.tsx
@@ -86,14 +86,14 @@ const ConfirmPinView = ({
-
+
{subtitle}
-
+
{clearable && onCancel && (
-
- {t('auth.signOut')}
+
+ {t('auth.signOut')}
)}
diff --git a/src/components/CopyAddress.tsx b/src/components/CopyAddress.tsx
index b2f56648e..78236a634 100644
--- a/src/components/CopyAddress.tsx
+++ b/src/components/CopyAddress.tsx
@@ -40,21 +40,21 @@ const CopyAddress = ({ address, ...boxProps }: Props) => {
-
+
{t('generic.copy')}
diff --git a/src/components/CopyAddressPill.tsx b/src/components/CopyAddressPill.tsx
index 9babf7f19..2563c8f3a 100644
--- a/src/components/CopyAddressPill.tsx
+++ b/src/components/CopyAddressPill.tsx
@@ -34,28 +34,30 @@ const CopyAddressPill = ({ ...rest }: BoxProps) => {
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
- paddingVertical: spacing.s,
- paddingHorizontal: spacing.m,
+ paddingVertical: spacing[2],
+ paddingHorizontal: spacing[4],
} as ViewStyle
}, [spacing])
return (
{ellipsizeAddress(currentAccount?.solanaAddress || '', {
numChars: 6,
diff --git a/src/components/CountdownTimer.tsx b/src/components/CountdownTimer.tsx
index 9d9372e46..9704c2e84 100644
--- a/src/components/CountdownTimer.tsx
+++ b/src/components/CountdownTimer.tsx
@@ -88,12 +88,12 @@ const CountdownTimer = forwardRef(
{...boxProps}
>
-
+
{title || ''}
diff --git a/src/components/Dot.tsx b/src/components/Dot.tsx
index 6a13ae42e..49dceb95a 100644
--- a/src/components/Dot.tsx
+++ b/src/components/Dot.tsx
@@ -8,11 +8,11 @@ const Dot = ({ filled }: Props) => {
)
}
diff --git a/src/components/FabButton.tsx b/src/components/FabButton.tsx
index e4069167d..c8b8a2be9 100644
--- a/src/components/FabButton.tsx
+++ b/src/components/FabButton.tsx
@@ -51,7 +51,6 @@ type IconName =
| 'browseVoters'
type Props = BoxProps & {
- backgroundColor?: Color
backgroundColorOpacity?: number
backgroundColorPressed?: Color
backgroundColorOpacityPressed?: number
@@ -91,13 +90,13 @@ const ButtonPressable = ({
const backgroundColorStyle = useMemo(() => {
if (pressed) {
return backgroundStyle(
- backgroundColorPressed || backgroundColor || 'white',
+ backgroundColorPressed || (backgroundColor as Color) || 'primaryText',
backgroundColorOpacityPressed,
)
}
if (!pressed && backgroundColor) {
- return backgroundStyle(backgroundColor, backgroundColorOpacity)
+ return backgroundStyle(backgroundColor as Color, backgroundColorOpacity)
}
}, [
pressed,
@@ -110,7 +109,7 @@ const ButtonPressable = ({
if (title) {
return (
-
+
setPressed(true)}
@@ -124,8 +123,8 @@ const ButtonPressable = ({
alignItems="center"
justifyContent="center"
flexDirection={reverse ? 'row-reverse' : 'row'}
- paddingHorizontal="m"
- borderRadius="round"
+ paddingHorizontal="4"
+ borderRadius="full"
{...containerProps}
>
{icon && (
@@ -139,7 +138,7 @@ const ButtonPressable = ({
)}
{
const onPressTOS = useCallback(() => Linking.openURL(TERMS_OF_SERVICE), [])
return (
-
+
{t('finePrint.body')}{' '}
-
+
{t('settings.sections.finePrint.termsOfService')}{' '}
-
+
{t('generic.and')}{' '}
-
+
{t('settings.sections.finePrint.privacyPolicy')}
-
+
{t('generic.period')}
diff --git a/src/components/GlobalError.tsx b/src/components/GlobalError.tsx
index 3c8848a4e..6f1b38afa 100644
--- a/src/components/GlobalError.tsx
+++ b/src/components/GlobalError.tsx
@@ -30,17 +30,22 @@ export const GlobalError = ({
return (
-
+
{t('crash.title')}
-
+
{t('crash.subTitle')}
-
+
{error.message}
-
+
{error.stack}
@@ -51,11 +56,11 @@ export const GlobalError = ({
width="100%"
onPress={handleCopyError}
backgroundColorOpacityPressed={0.7}
- marginTop="m"
- marginBottom="s"
- borderColor="white"
+ marginTop="4"
+ marginBottom="2"
+ borderColor="base.white"
borderWidth={1}
- borderRadius="round"
+ borderRadius="full"
Icon={CopyAddress}
title={t('generic.copyToClipboard')}
/>
@@ -63,11 +68,11 @@ export const GlobalError = ({
width="100%"
title={t('crash.resetApp')}
onPress={resetErrorBoundary}
- borderRadius="round"
- backgroundColor="white"
+ borderRadius="full"
+ backgroundColor="base.white"
backgroundColorOpacityPressed={0.7}
titleColorDisabled="secondaryText"
- titleColor="black"
+ titleColor="base.black"
/>
diff --git a/src/components/HNTKeyboard.tsx b/src/components/HNTKeyboard.tsx
index 88924e98e..67a5af6fa 100644
--- a/src/components/HNTKeyboard.tsx
+++ b/src/components/HNTKeyboard.tsx
@@ -101,7 +101,7 @@ const HNTKeyboardSelector = forwardRef(
const { t } = useTranslation()
const bottomSheetModalRef = useRef(null)
const { symbol, loading: loadingMeta } = useMetaplexMetadata(mint)
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
const [value, setValue] = useState('0')
const [originalValue, setOriginalValue] = useState('')
const [payee, setPayee] = useState()
@@ -276,9 +276,9 @@ const HNTKeyboardSelector = forwardRef(
{...props}
>
-
+
{!loadingMeta && (
-
+
{t('hntKeyboard.enterAmount', {
ticker: symbol || '',
})}
@@ -287,7 +287,7 @@ const HNTKeyboardSelector = forwardRef(
{payer && (
<>
@@ -296,7 +296,7 @@ const HNTKeyboardSelector = forwardRef(
address={payer?.address || payer?.solanaAddress}
/>
-
+
>
@@ -306,9 +306,9 @@ const HNTKeyboardSelector = forwardRef(
)}
{payer && balanceForMint && typeof decimals !== 'undefined'
? t('hntKeyboard.hntAvailable', {
@@ -340,33 +340,33 @@ const HNTKeyboardSelector = forwardRef(
const renderHandle = useCallback(() => {
if (!payer) {
- return
+ return
}
return (
-
+
{t('payment.max')}
@@ -500,22 +500,23 @@ const HNTKeyboardSelector = forwardRef(
alignItems="center"
>
{`${value || '0'} ${symbol || ''}`}
{payer && networkFee && (
{t('hntKeyboard.fee', {
value: networkFee && humanReadable(networkFee, 9),
@@ -525,26 +526,26 @@ const HNTKeyboardSelector = forwardRef(
-
-
+
+
{t('generic.cancel')}
@@ -554,16 +555,16 @@ const HNTKeyboardSelector = forwardRef(
minHeight={66}
alignItems="center"
justifyContent="center"
- borderRadius="round"
+ borderRadius="full"
flex={1}
backgroundColor={
allowOverdraft || hasSufficientBalance
- ? 'surface'
- : 'grey300'
+ ? 'primaryText'
+ : 'gray.300'
}
disabled={!allowOverdraft ? !hasSufficientBalance : false}
>
- {t('generic.confirm')}
+ {t('generic.confirm')}
diff --git a/src/components/HandleBasic.tsx b/src/components/HandleBasic.tsx
index 142c46bbf..f097bc6d3 100644
--- a/src/components/HandleBasic.tsx
+++ b/src/components/HandleBasic.tsx
@@ -6,12 +6,7 @@ import Box from './Box'
type Props = BoxProps
export default (boxProps: Props) => (
-
-
+
+
)
diff --git a/src/components/HeliumActionSheet.tsx b/src/components/HeliumActionSheet.tsx
index 3268cd49b..4d422c383 100644
--- a/src/components/HeliumActionSheet.tsx
+++ b/src/components/HeliumActionSheet.tsx
@@ -57,7 +57,7 @@ const HeliumActionSheet = forwardRef(
title,
prefix,
iconVariant = 'carot',
- iconColor: carotColor = 'primary',
+ iconColor: carotColor = 'primaryText',
buttonProps,
initialValue,
textProps,
@@ -75,7 +75,7 @@ const HeliumActionSheet = forwardRef(
const [data, setData] = useState>([])
const { t } = useTranslation()
const colors = useColors()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
useEffect(() => {
setData(propsData)
@@ -148,20 +148,20 @@ const HeliumActionSheet = forwardRef(
const footer = useMemo(() => {
return (
-
+
{t('generic.cancel')}
@@ -192,7 +192,7 @@ const HeliumActionSheet = forwardRef(
{!!prefix && (
{buttonTitle}
diff --git a/src/components/HeliumActionSheetItem.tsx b/src/components/HeliumActionSheetItem.tsx
index 1c4a9e98d..280c42301 100644
--- a/src/components/HeliumActionSheetItem.tsx
+++ b/src/components/HeliumActionSheetItem.tsx
@@ -33,9 +33,9 @@ const HeliumActionSheetItem = ({
const colors = useColors()
const color = useMemo((): Color => {
- if (selected) return 'purple500'
+ if (selected) return 'purple.500'
if (disabled) return 'secondaryText'
- return 'surfaceSecondaryText'
+ return 'secondaryText'
}, [disabled, selected])
return (
@@ -48,7 +48,7 @@ const HeliumActionSheetItem = ({
>
{!!Icon && }
-
+
{title}
diff --git a/src/components/IndeterminateProgressBar.tsx b/src/components/IndeterminateProgressBar.tsx
index 5fc7b1ed8..bc9a681e6 100644
--- a/src/components/IndeterminateProgressBar.tsx
+++ b/src/components/IndeterminateProgressBar.tsx
@@ -59,7 +59,7 @@ const IndeterminateProgressBar = ({ ...rest }: BoxProps) => {
) => {
diff --git a/src/components/KeypadButton.tsx b/src/components/KeypadButton.tsx
index 398dca8ea..8f081c0d8 100644
--- a/src/components/KeypadButton.tsx
+++ b/src/components/KeypadButton.tsx
@@ -16,10 +16,13 @@ type Props = {
}
const KeypadButton = ({ value, onPress }: Props) => {
- const { backgroundStyle: goldBackgroundStyle } = useOpacity('gold', 0.29)
- const { gold, surfaceSecondaryText } = useColors()
+ const { backgroundStyle: goldBackgroundStyle } = useOpacity(
+ 'yellow.500',
+ 0.29,
+ )
+ const colors = useColors()
const { t } = useTranslation()
- const hitSlop = useHitSlop('m')
+ const hitSlop = useHitSlop('4')
const getBackgroundColorStyle = useCallback(
(pressed: boolean) => {
@@ -38,11 +41,11 @@ const KeypadButton = ({ value, onPress }: Props) => {
if (typeof value === 'number') {
return (
{value}
@@ -59,16 +62,18 @@ const KeypadButton = ({ value, onPress }: Props) => {
justifyContent="center"
alignItems="center"
>
-
+
)
case 'decimal':
return (
{decimalSeparator}
@@ -76,12 +81,12 @@ const KeypadButton = ({ value, onPress }: Props) => {
case 'clear':
return (
{t('generic.clear')}
@@ -89,17 +94,17 @@ const KeypadButton = ({ value, onPress }: Props) => {
case 'cancel':
return (
{t('generic.cancel')}
)
}
},
- [gold, surfaceSecondaryText, t, value],
+ [colors, t, value],
)
return (
@@ -112,7 +117,7 @@ const KeypadButton = ({ value, onPress }: Props) => {
height="100%"
width="100%"
aspectRatio={1}
- borderRadius="round"
+ borderRadius="full"
maxWidth={80}
maxHeight={80}
hitSlop={hitSlop}
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 8ff094f83..fc999aebd 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -4,7 +4,7 @@ import Text from './Text'
type Props = { children?: ReactNode; href?: string }
const Link = ({ children, href }: Props) => (
- href && Linking.openURL(href)}>
+ href && Linking.openURL(href)}>
{children}
)
diff --git a/src/components/ListItem.tsx b/src/components/ListItem.tsx
index 48ea2edc5..e94e89f74 100644
--- a/src/components/ListItem.tsx
+++ b/src/components/ListItem.tsx
@@ -49,26 +49,28 @@ const ListItem = ({
alignItems="center"
flex={1}
flexDirection="row"
- paddingVertical="m"
- borderBottomColor="black900"
+ paddingVertical="4"
+ borderBottomColor="border.primary"
borderBottomWidth={hasDivider ? 1 : 0}
onPress={handlePress}
hasPressedState={hasPressedState}
{...rest}
>
{Icon && Icon}
-
- {title}
+
+
+ {title}
+
{subtitle && (
{subtitle}
)}
-
+
{selected ? (
= ({ markdown }) => {
markdown={markdown}
style={{
hr: {
- marginTop: theme.spacing.m,
+ marginTop: theme.spacing[4],
},
blockquote: {
- ...theme.textVariants.body2,
+ ...theme.textVariants.textSmRegular,
color: theme.colors.primaryText,
backgroundColor: 'transparent',
},
body: {
- ...theme.textVariants.body2,
+ ...(theme.textVariants.textSmRegular as any),
color: theme.colors.primaryText,
},
heading1: {
- ...theme.textVariants.subtitle1,
+ ...theme.textVariants.textXlMedium,
color: theme.colors.primaryText,
- paddingTop: theme.spacing.ms,
- paddingBottom: theme.spacing.ms,
+ paddingTop: theme.spacing[4],
+ paddingBottom: theme.spacing[4],
},
heading2: {
- ...theme.textVariants.subtitle2,
+ ...theme.textVariants.textSmMedium,
color: theme.colors.primaryText,
- paddingTop: theme.spacing.ms,
- paddingBottom: theme.spacing.ms,
+ paddingTop: theme.spacing[4],
+ paddingBottom: theme.spacing[4],
},
heading3: {
- ...theme.textVariants.subtitle3,
+ ...theme.textVariants.textXsMedium,
color: theme.colors.primaryText,
- paddingTop: theme.spacing.ms,
- paddingBottom: theme.spacing.ms,
+ paddingTop: theme.spacing[4],
+ paddingBottom: theme.spacing[4],
},
}}
>
diff --git a/src/components/MemoInput.tsx b/src/components/MemoInput.tsx
index 0ad10a2ad..aeccb6254 100644
--- a/src/components/MemoInput.tsx
+++ b/src/components/MemoInput.tsx
@@ -76,7 +76,11 @@ const MemoInput = ({ onChangeText, value, ...boxProps }: Props) => {
}}
/>
-
+
{t('payment.memoBytes', {
used: bytesUsed,
total: MEMO_MAX_BYTES,
diff --git a/src/components/NavBar.tsx b/src/components/NavBar.tsx
index ab4bdcbd5..5ac2e949b 100644
--- a/src/components/NavBar.tsx
+++ b/src/components/NavBar.tsx
@@ -59,7 +59,7 @@ const NavBarItem = ({
key={value}
onPress={onPress}
onLayout={onLayout}
- marginRight="none"
+ marginRight="0"
hitSlop={hitSlop}
alignItems="center"
flexGrow={1}
@@ -67,10 +67,10 @@ const NavBarItem = ({
>
@@ -79,7 +79,7 @@ const NavBarItem = ({
{hasBadge && (
@@ -127,7 +127,7 @@ const NavBar = ({
onItemLongPress,
...containerProps
}: Props) => {
- const hitSlop = useVerticalHitSlop('l')
+ const hitSlop = useVerticalHitSlop('6')
const [itemRects, setItemRects] = useState>()
const offset = useSharedValue(null)
@@ -189,8 +189,12 @@ const NavBar = ({
])
return (
-
-
+
+
{items}
diff --git a/src/components/NetworkAwareStatusBar.tsx b/src/components/NetworkAwareStatusBar.tsx
deleted file mode 100644
index b0c00f688..000000000
--- a/src/components/NetworkAwareStatusBar.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from 'react'
-import { StatusBar } from 'react-native'
-import { useColors, useColorScheme } from '@theme/themeHooks'
-
-const NetworkAwareStatusBar = () => {
- const colors = useColors()
- const theme = useColorScheme()
-
- return (
-
- )
-}
-
-export default NetworkAwareStatusBar
diff --git a/src/components/Pill.tsx b/src/components/Pill.tsx
index 0af433008..823a7a752 100644
--- a/src/components/Pill.tsx
+++ b/src/components/Pill.tsx
@@ -32,41 +32,41 @@ export const Pill = memo(
blue: {
border: 'blueBorder',
background: 'blue950',
- text: 'blue500',
+ text: 'blue.500',
},
green: {
- border: 'greenBorder',
- background: 'green950',
- text: 'green500',
+ border: 'green.300',
+ background: 'green.950',
+ text: 'green.500',
},
red: {
- border: 'redBorder',
- background: 'matchaRed950',
- text: 'matchaRed500',
+ border: 'ros.300',
+ background: 'ros.950',
+ text: 'ros.500',
},
orange: {
- border: 'orangeBorder',
- background: 'orange950',
- text: 'orange500',
+ border: 'orange.300',
+ background: 'orange.950',
+ text: 'orange.500',
},
black: {
background: 'black',
- text: 'white',
+ text: 'base.white',
border: 'black',
},
hntBlue: {
background: 'hntBlue',
- text: 'white',
+ text: 'base.white',
border: 'black',
},
iotGreen: {
background: 'iotGreen',
- text: 'white',
+ text: 'base.white',
border: 'black',
},
mobileBlue: {
background: 'mobileBlue',
- text: 'white',
+ text: 'base.white',
border: 'black',
},
}
@@ -74,7 +74,7 @@ export const Pill = memo(
diff --git a/src/components/ProgressBar.tsx b/src/components/ProgressBar.tsx
index bdc2f4710..c1b84c1c8 100644
--- a/src/components/ProgressBar.tsx
+++ b/src/components/ProgressBar.tsx
@@ -46,7 +46,7 @@ const ProgressBar = ({
diff --git a/src/components/RadioButton.tsx b/src/components/RadioButton.tsx
index aa3c31699..67060f77e 100644
--- a/src/components/RadioButton.tsx
+++ b/src/components/RadioButton.tsx
@@ -16,18 +16,18 @@ const RadioButton: React.FC = ({
}) => {
return (
onClick()}
@@ -35,11 +35,11 @@ const RadioButton: React.FC = ({
- onClick()} color="white">
+ onClick()} color="primaryText">
{label}
diff --git a/src/components/RevealWords.tsx b/src/components/RevealWords.tsx
index 44900ec38..68eeeb244 100644
--- a/src/components/RevealWords.tsx
+++ b/src/components/RevealWords.tsx
@@ -12,6 +12,7 @@ import TouchableOpacityBox from '@components/TouchableOpacityBox'
import useCopyText from '@hooks/useCopyText'
import useHaptic from '@hooks/useHaptic'
import { FadeIn } from 'react-native-reanimated'
+import { useSafeAreaInsets } from 'react-native-safe-area-context'
type Props = {
mnemonic: string[]
@@ -24,6 +25,7 @@ const RevealWords = ({ mnemonic, onDone, ListHeaderComponent }: Props) => {
const { secondaryText } = useColors()
const copyText = useCopyText()
const { triggerImpact } = useHaptic()
+ const { bottom } = useSafeAreaInsets()
const handleCopySeedPhrase = useCallback(() => {
triggerImpact('light')
@@ -38,13 +40,15 @@ const RevealWords = ({ mnemonic, onDone, ListHeaderComponent }: Props) => {
({ item, index }: { item: string; index: number }) => {
return (
{
const contentContainerStyle = useMemo(
() => ({
flexGrow: 1,
- paddingHorizontal: spacing.l,
+ paddingHorizontal: spacing[4],
}),
[spacing],
)
@@ -85,13 +89,13 @@ const RevealWords = ({ mnemonic, onDone, ListHeaderComponent }: Props) => {
justifyContent="center"
alignItems="center"
flexDirection="row"
- marginTop="m"
- marginBottom="xl"
+ marginTop="4"
+ marginBottom="8"
>
{
@@ -131,6 +135,7 @@ const RevealWords = ({ mnemonic, onDone, ListHeaderComponent }: Props) => {
ListFooterComponentStyle={{
flexGrow: 1,
justifyContent: 'flex-end',
+ paddingBottom: bottom,
}}
renderItem={renderItem}
contentContainerStyle={contentContainerStyle}
diff --git a/src/components/RewardItem.tsx b/src/components/RewardItem.tsx
index e33e4e3d7..0adf3e397 100644
--- a/src/components/RewardItem.tsx
+++ b/src/components/RewardItem.tsx
@@ -28,8 +28,8 @@ const RewardItem = ({ mint, amount, hasMore, ...rest }: RewardItemProps) => {
return (
{
{pendingRewardsString}
-
+
{symbol}
diff --git a/src/components/SearchInput.tsx b/src/components/SearchInput.tsx
index 33134ecc1..042227974 100644
--- a/src/components/SearchInput.tsx
+++ b/src/components/SearchInput.tsx
@@ -40,7 +40,7 @@ const SearchInput = ({
return (
)
diff --git a/src/components/SecretKeyWarningScreen.tsx b/src/components/SecretKeyWarningScreen.tsx
index f39cfb654..46c91f873 100644
--- a/src/components/SecretKeyWarningScreen.tsx
+++ b/src/components/SecretKeyWarningScreen.tsx
@@ -21,7 +21,7 @@ const SecretKeyWarningScreen = ({ children }: { children: ReactNode }) => {
const [secondsPassed, setSecondsPassed] = useState(0)
const animValue = useSharedValue(1)
const [animationComplete, setAnimationComplete] = useState(false)
- const { primaryBackground, red500 } = useColors()
+ const { primaryBackground, ...colors } = useColors()
useEffect(() => {
// set interval to update text every second
@@ -85,18 +85,14 @@ const SecretKeyWarningScreen = ({ children }: { children: ReactNode }) => {
backgroundColor="primaryBackground"
flex={1}
justifyContent="center"
- paddingHorizontal="xl"
+ paddingHorizontal="8"
height="100%"
>
-
-
+
+
{
{t('secretKeyWarningScreen.body')}
diff --git a/src/components/SegmentedControl.tsx b/src/components/SegmentedControl.tsx
new file mode 100644
index 000000000..90f8ec2d6
--- /dev/null
+++ b/src/components/SegmentedControl.tsx
@@ -0,0 +1,107 @@
+import React, { memo, useCallback, useMemo } from 'react'
+import { BoxProps } from '@shopify/restyle'
+import useLayoutWidth from '@hooks/useLayoutWidth'
+import { GestureResponderEvent } from 'react-native'
+import { useAnimatedStyle, withSpring } from 'react-native-reanimated'
+import { Theme } from '../theme/theme'
+import { Box, ReAnimatedBox, Text } from '.'
+import TouchableOpacityBox from './TouchableOpacityBox'
+
+type Option = { value: string; label: string }
+
+const SegmentedItem = ({
+ option,
+ selected,
+ onSelected,
+}: {
+ option: Option
+ selected: boolean
+ onSelected: ((event: GestureResponderEvent) => void) | undefined
+}) => {
+ return (
+
+
+ {option.label}
+
+
+ )
+}
+
+type Props = {
+ options: Option[]
+ selectedIndex: number
+ onItemSelected: (index: number) => void
+} & BoxProps
+const SegmentedControl = ({
+ options,
+ onItemSelected,
+ selectedIndex,
+ ...boxProps
+}: Props) => {
+ const [containerWidth, setContainerWidth] = useLayoutWidth()
+
+ const itemWidth = useMemo(
+ () => containerWidth / options.length,
+ [containerWidth, options.length],
+ )
+
+ const handleItemSelected = useCallback(
+ (index: number) => () => {
+ onItemSelected(index)
+ },
+ [onItemSelected],
+ )
+
+ const selectedStyle = useAnimatedStyle(() => {
+ return {
+ left: withSpring(itemWidth * selectedIndex, {
+ stiffness: 70,
+ }),
+ }
+ }, [itemWidth, selectedIndex])
+
+ return (
+
+
+
+ {options.map((option, index) => (
+
+ ))}
+
+
+ )
+}
+
+export default memo(SegmentedControl)
diff --git a/src/components/Select.tsx b/src/components/Select.tsx
index 3710c2a2e..8fc8fda60 100644
--- a/src/components/Select.tsx
+++ b/src/components/Select.tsx
@@ -1,3 +1,4 @@
+import { useColors } from '@theme/themeHooks'
import ChevronDown from '@assets/images/chevronDown.svg'
import { BoxProps } from '@shopify/restyle'
import { Theme } from '@theme/theme'
@@ -26,15 +27,16 @@ export const Select: React.FC = ({
}) => {
const [filtersOpen, setFiltersOpen] = useState(false)
const { t } = useTranslation()
+ const colors = useColors()
return (
<>
= ({
>
{options.find((o) => o.value === value)?.icon}
-
+
{options.find((o) => o.value === value)?.label}
-
+
const SubmitButton = ({
- color = 'blueBright500',
+ color = 'blue.light-500',
onSubmit,
title,
disabled = false,
- backgroundColor = 'secondaryIcon',
+ backgroundColor = 'secondaryText',
...boxProps
}: Props) => {
- const { surfaceSecondary, secondaryText, ...rest } = useColors()
+ const { secondaryText, ...rest } = useColors()
const colorActual = rest[color as keyof typeof rest]
const backgroundActual = rest[backgroundColor as keyof typeof rest]
const icon = useMemo(
@@ -39,18 +39,18 @@ const SubmitButton = ({
paddingLeft: 30,
},
railStyles: {
- backgroundColor: surfaceSecondary,
- borderColor: surfaceSecondary,
+ backgroundColor: rest['bg.tertiary'],
+ borderColor: rest['bg.tertiary'],
paddingLeft: 8,
},
}),
- [colorActual, disabled, secondaryText, surfaceSecondary],
+ [colorActual, disabled, secondaryText, rest],
)
return (
diff --git a/src/components/Surface.tsx b/src/components/Surface.tsx
index 216c46129..a27d6523d 100644
--- a/src/components/Surface.tsx
+++ b/src/components/Surface.tsx
@@ -12,7 +12,7 @@ type Props = BoxProps & {
}
const Surface = ({
- backgroundColor = 'surface',
+ backgroundColor = 'cardBackground',
children,
style,
...boxProps
@@ -31,7 +31,7 @@ const Surface = ({
return (
{
- const hitSlop = useVerticalHitSlop('l')
+ const hitSlop = useVerticalHitSlop('6')
const [itemRects, setItemRects] = useState>()
const offset = useSharedValue(null)
const { triggerImpact } = useHaptic()
@@ -190,7 +190,7 @@ const TabBar = ({
return (
-
+
{items}
{hasIndicator && (
@@ -204,7 +204,9 @@ const TabBar = ({
/>
)}
- {hasDivider && }
+ {hasDivider && (
+
+ )}
)
}
diff --git a/src/components/TextInput.tsx b/src/components/TextInput.tsx
index 5167f3c08..81f2322fc 100644
--- a/src/components/TextInput.tsx
+++ b/src/components/TextInput.tsx
@@ -8,7 +8,7 @@ import {
import { TextInput, TextStyle } from 'react-native'
import tinycolor from 'tinycolor2'
import { SvgProps } from 'react-native-svg'
-import { Color, theme, Theme } from '@theme/theme'
+import { Color, darkTheme, Theme } from '@theme/theme'
import { useColors, useInputVariants, useTextVariants } from '@theme/themeHooks'
import Box from './Box'
import Text from './Text'
@@ -49,8 +49,8 @@ const TI = forwardRef(
TrailingIcon,
onTrailingIconPress,
TrailingIconOptions = {
- paddingVertical: 'm',
- paddingHorizontal: 's',
+ paddingVertical: '4',
+ paddingHorizontal: '2',
},
...rest
}: Props,
@@ -64,7 +64,7 @@ const TI = forwardRef(
const findColor = () => {
if (placeholderTextColor) return colors[placeholderTextColor]
- return colors[theme.inputVariants.regular.color as Color]
+ return colors[darkTheme.inputVariants.regular.color as Color]
}
const color = findColor()
@@ -89,8 +89,8 @@ const TI = forwardRef(
{floatingLabel && (
{floatingLabel}
@@ -98,7 +98,7 @@ const TI = forwardRef(
)}
{optional && (
-
+
)}
diff --git a/src/components/TextTransform.tsx b/src/components/TextTransform.tsx
index 9c1582c45..f16156f0d 100644
--- a/src/components/TextTransform.tsx
+++ b/src/components/TextTransform.tsx
@@ -7,18 +7,18 @@ import Text from './Text'
const getComponents = (variant?: ResponsiveValue) => ({
b: ,
- errorText: ,
+ errorText: ,
primaryText: ,
secondaryText: ,
- havelockBlue: ,
- jazzberryJam: ,
- red500: ,
- greenBright500: ,
- blueBright500: ,
- caribbeanGreen: ,
+ 'blue.500': ,
+ 'pink.500': ,
+ 'ros.500': ,
+ 'green.light-500': ,
+ 'blue.light-500': ,
+ 'green.400': ,
codeHighlight: (
{
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const colors = useColors()
const { triggerImpact } = useHaptic()
@@ -66,20 +66,25 @@ const TokenButton = ({
>
-
+
{title}
{!!subtitle && (
-
+
{subtitle}
)}
diff --git a/src/components/TokenIcon.tsx b/src/components/TokenIcon.tsx
index bb562664e..c0228e32b 100644
--- a/src/components/TokenIcon.tsx
+++ b/src/components/TokenIcon.tsx
@@ -22,10 +22,10 @@ const TokenIcon = ({ size = 40, img }: Props) => {
return (
)
}
diff --git a/src/components/TokenPill.tsx b/src/components/TokenPill.tsx
index ff73d0642..e0dfe485d 100644
--- a/src/components/TokenPill.tsx
+++ b/src/components/TokenPill.tsx
@@ -16,8 +16,8 @@ export const TokenPill = memo(
isActive = false,
isDisabled = false,
onPress,
- activeColor = 'black',
- inactiveColor = 'secondary',
+ activeColor = 'primaryBackground',
+ inactiveColor = 'bg.tertiary',
...rest
}: {
mint: PublicKey
@@ -43,10 +43,10 @@ export const TokenPill = memo(
disabled: boolean
}) => {
if (disabled) {
- return generateBackgroundStyle('surfaceSecondary', 0.5)
+ return generateBackgroundStyle('bg.tertiary', 0.5)
}
if (pressed) {
- return generateBackgroundStyle(activeColor || 'surfaceSecondary', 1.0)
+ return generateBackgroundStyle(activeColor || 'bg.tertiary', 1.0)
}
if (active) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -77,30 +77,30 @@ export const TokenPill = memo(
rest.style ? rest.style : {},
]}
height={45}
- borderRadius="round"
+ borderRadius="full"
flexDirection="row"
alignItems="center"
- shadowColor="black"
+ shadowColor="base.black"
shadowOpacity={0.2}
shadowOffset={{ width: 0, height: 3 }}
shadowRadius={3}
- padding="s"
- paddingRight="m"
+ padding="2"
+ paddingRight="4"
>
@@ -108,7 +108,7 @@ export const TokenPill = memo(
{hasCarot && (
-
+
)}
diff --git a/src/components/TokenSelector.tsx b/src/components/TokenSelector.tsx
index 73323464b..1922dea0f 100644
--- a/src/components/TokenSelector.tsx
+++ b/src/components/TokenSelector.tsx
@@ -46,7 +46,7 @@ const ProvidedListItem = ({
Icon={json?.image ? : undefined}
onPress={onPress}
selected={selected}
- paddingStart="l"
+ paddingStart="6"
hasDivider
/>
)
@@ -69,7 +69,7 @@ const TokenSelector = forwardRef(
const { bottom } = useSafeAreaInsets()
const bottomSheetModalRef = useRef(null)
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
const { handleDismiss, setIsShowing } = useBackHandler(bottomSheetModalRef)
const { secondaryText } = useColors()
diff --git a/src/components/TouchableContainer.tsx b/src/components/TouchableContainer.tsx
index 02e795b64..da22629d7 100644
--- a/src/components/TouchableContainer.tsx
+++ b/src/components/TouchableContainer.tsx
@@ -31,8 +31,8 @@ const TouchableContainer = ({
pressableStyles,
onLayout,
hitSlop,
- backgroundColor = 'surfaceSecondary',
- backgroundColorPressed = 'black500',
+ backgroundColor = 'bg.tertiary',
+ backgroundColorPressed = 'gray.800',
...boxProps
}: ButtonPressAnimationProps & {
backgroundColorPressed?: BoxProps['backgroundColor']
diff --git a/src/components/TreasuryWarningScreen.tsx b/src/components/TreasuryWarningScreen.tsx
index a191d1979..70032bc31 100644
--- a/src/components/TreasuryWarningScreen.tsx
+++ b/src/components/TreasuryWarningScreen.tsx
@@ -89,18 +89,14 @@ const TreausuryWarningScreen = ({ children }: { children: ReactNode }) => {
backgroundColor="primaryBackground"
flex={1}
justifyContent="center"
- paddingHorizontal="xl"
+ paddingHorizontal="8"
height="100%"
>
-
+
{
{t('swapsScreen.treasurySwapWarningBody')}
diff --git a/src/components/WarningBanner.tsx b/src/components/WarningBanner.tsx
index 1b3cf0b56..9b12fa7fb 100644
--- a/src/components/WarningBanner.tsx
+++ b/src/components/WarningBanner.tsx
@@ -68,15 +68,15 @@ const Banner = ({ type, onLayout, ...rest }: BannerProps) => {
return (
{
{
const StatusBanner = () => {
const { t } = useTranslation()
const incidents = useStatusPage()
- const hitSlop = useHitSlop('m')
+ const hitSlop = useHitSlop('4')
const { primaryText } = useColors()
const getAlertDescription = useCallback(
@@ -53,7 +53,7 @@ const StatusBanner = () => {
return (
{
- if (compact) return 'm'
- if (maxCompact) return 's'
+ if (compact) return '4'
+ if (maxCompact) return '2'
return undefined
}, [compact, maxCompact])
@@ -118,10 +118,10 @@ const AccountActionBar = ({
>
{hasBottomTitle && (
-
+
{hasBottomTitle && (
-
+
{hasBottomTitle && (
-
+
{hasBottomTitle && (
-
+
-
+
-
+
{`${balanceToDisplay} `}
@@ -81,7 +85,7 @@ const CheckableTokenListItem = ({
{symbol && (
@@ -95,7 +99,7 @@ const CheckableTokenListItem = ({
true: colors.primaryText,
false: colors.transparent10,
}}
- onCheckColor={colors.secondary}
+ onCheckColor={colors.secondaryText}
onTintColor={colors.primaryText}
tintColor={colors.transparent10}
onFillColor={colors.primaryText}
@@ -112,7 +116,7 @@ const CheckableTokenListItem = ({
const AccountManageTokenListScreen: React.FC = () => {
const navigation = useNavigation()
const { primaryText } = useColors()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const { visibleTokens, setVisibleTokens } = useVisibleTokens()
const { tokenAccounts } = useBalance()
const mints = useMemo(() => {
@@ -164,11 +168,11 @@ const AccountManageTokenListScreen: React.FC = () => {
flexDirection="row"
justifyContent="space-between"
alignItems="center"
- borderTopStartRadius="xl"
- borderTopEndRadius="xl"
- marginBottom="m"
+ borderTopStartRadius="4xl"
+ borderTopEndRadius="4xl"
+ marginBottom="4"
>
-
+
@@ -38,7 +42,7 @@ const EscrowDetails = () => {
return (
-
+
{t('accountsScreen.receivedBalance', {
amount: humanReadable(
new BN(iotEscrowAcct?.amount?.toString() || '0').add(
@@ -80,10 +84,15 @@ const AccountTokenBalance = ({
{!showTicker &&
(loadingOwned ? (
-
+
) : (
{showTicker && (
{
numberOfLines={1}
adjustsFontSizeToFit
maxFontSizeMultiplier={1}
+ color="primaryText"
{...textProps}
>
{balanceString || ' '}
diff --git a/src/features/account/AccountTokenList.tsx b/src/features/account/AccountTokenList.tsx
index 5524b768e..ba8068a80 100644
--- a/src/features/account/AccountTokenList.tsx
+++ b/src/features/account/AccountTokenList.tsx
@@ -196,10 +196,10 @@ const AccountTokenList = ({ onLayout }: Props) => {
onPress={onManageTokenList}
flexDirection="row"
justifyContent="center"
- mt="m"
+ mt="4"
>
-
+
{t('accountTokenList.manage')}
diff --git a/src/features/account/AccountTokenScreen.tsx b/src/features/account/AccountTokenScreen.tsx
index e6407a5f5..3eaa0809b 100644
--- a/src/features/account/AccountTokenScreen.tsx
+++ b/src/features/account/AccountTokenScreen.tsx
@@ -217,7 +217,7 @@ const AccountTokenScreen = () => {
left={0}
right={0}
backgroundColor="primaryBackground"
- paddingHorizontal="l"
+ paddingHorizontal="6"
flexDirection="row"
justifyContent="space-between"
alignItems="center"
@@ -225,10 +225,10 @@ const AccountTokenScreen = () => {
borderBottomWidth={1}
borderBottomColor="secondaryText"
borderTopColor="secondaryText"
- marginBottom="m"
+ marginBottom="4"
>
{
{filterName}
-
+
{t('accountsScreen.filter')}
@@ -255,7 +255,7 @@ const AccountTokenScreen = () => {
return (
{
return (
{
}}
>
@@ -309,8 +309,8 @@ const AccountTokenScreen = () => {
return (
{
)
const backgroundComponent = useCallback(
- () => ,
+ () => ,
[],
)
@@ -429,7 +429,7 @@ const AccountTokenScreen = () => {
return (
{
}}
>
{
{
{!!symbol && (
)}
@@ -486,18 +486,18 @@ const AccountTokenScreen = () => {
-
-
+
+
-
+
{!!symbol && (
)}
{
<>
-
+
{t('accountsScreen.solWarning')}
showModal({ type: 'InsufficientSolConversion' })
}
>
-
+
{t('accountsScreen.solSwap')}
diff --git a/src/features/account/AccountView.tsx b/src/features/account/AccountView.tsx
index 32e758fe6..3fd3a3d7c 100644
--- a/src/features/account/AccountView.tsx
+++ b/src/features/account/AccountView.tsx
@@ -59,7 +59,7 @@ const AccountView = ({ selectedBalance, ...boxProps }: Props) => {
{!balanceString && (
{
{balanceString}
@@ -104,7 +104,7 @@ const AccountView = ({ selectedBalance, ...boxProps }: Props) => {
{
const listAnimatedPos = useSharedValue(0)
const [topHeaderHeight, setTopHeaderHeight] = useState(0)
const topHeaderRef = useRef(null)
- const bottomSheetStyle = useBackgroundStyle('surfaceSecondary')
+ const bottomSheetStyle = useBackgroundStyle('cardBackground')
const dispatch = useAppDispatch()
const { triggerImpact } = useHaptic()
const colors = useColors()
@@ -265,16 +265,16 @@ const AccountsScreen = () => {
-
+
@@ -337,7 +337,6 @@ const AccountsScreen = () => {
ref={bottomSheetRef}
snapPoints={snapPoints || [10, 100]}
backgroundStyle={bottomSheetStyle}
- detached
animatedPosition={listAnimatedPos}
handleIndicatorStyle={handleIndicatorStyle}
>
diff --git a/src/features/account/AccountsTopNav.tsx b/src/features/account/AccountsTopNav.tsx
index 0c6e40928..f36c027f8 100644
--- a/src/features/account/AccountsTopNav.tsx
+++ b/src/features/account/AccountsTopNav.tsx
@@ -86,24 +86,25 @@ const AccountsTopNav = ({ onPressWallet, onLayout }: Props) => {
>
-
+
-
+
{
-
+
{hasUnreadNotifications && (
{
alignItems="center"
top={14}
right={12}
- backgroundColor="black"
- borderRadius="round"
+ backgroundColor="base.black"
+ borderRadius="full"
height={10}
width={10}
>
)}
-
-
+
+
diff --git a/src/features/account/AirdropScreen.tsx b/src/features/account/AirdropScreen.tsx
index 5db0db711..c879c5d03 100644
--- a/src/features/account/AirdropScreen.tsx
+++ b/src/features/account/AirdropScreen.tsx
@@ -146,17 +146,17 @@ const AirdropScreen = () => {
}, [ring, ringDrop])
return (
-
-
+
+
-
+
{t('airdropScreen.title')}
{t('airdropScreen.subtitle')}
@@ -165,7 +165,7 @@ const AirdropScreen = () => {
flex={1}
justifyContent="center"
alignItems="center"
- marginBottom="l"
+ marginBottom="6"
>
@@ -176,18 +176,23 @@ const AirdropScreen = () => {
-
+
{errorMessage ? t('airdropScreen.error') : ''}
{
: ''
}
disabled={loading}
- marginVertical="l"
- marginHorizontal="l"
+ marginVertical="6"
+ marginHorizontal="6"
LeadingComponent={
- loading &&
+ loading &&
}
/>
diff --git a/src/features/account/ConnectedWallets.tsx b/src/features/account/ConnectedWallets.tsx
index 228e5fa72..cadcbdb2a 100644
--- a/src/features/account/ConnectedWallets.tsx
+++ b/src/features/account/ConnectedWallets.tsx
@@ -1,7 +1,6 @@
import Add from '@assets/images/add.svg'
import Checkmark from '@assets/images/checkmark.svg'
import AccountIcon from '@components/AccountIcon'
-import BackgroundFill from '@components/BackgroundFill'
import Box from '@components/Box'
import Text from '@components/Text'
import TouchableContainer from '@components/TouchableContainer'
@@ -55,7 +54,7 @@ const ConnectedWallets = forwardRef(
ref: Ref,
) => {
useImperativeHandle(ref, () => ({ show, hide }))
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
const keyExtractor = useCallback((item) => item.address, [])
const { primaryText, secondaryText } = useColors()
const { t } = useTranslation()
@@ -204,19 +203,16 @@ const ConnectedWallets = forwardRef(
onPress={handleAccountChange(item)}
onLayout={setListItemHeight}
flexDirection="row"
- paddingHorizontal="l"
- paddingVertical="lm"
- paddingLeft="xxl"
+ paddingHorizontal="6"
+ paddingVertical="5"
+ paddingLeft="12"
alignItems="center"
>
- {item.netType === NetTypes.TESTNET && (
-
- )}
{item.alias}
@@ -242,38 +238,20 @@ const ConnectedWallets = forwardRef(
-
+
{t('connectedWallets.add')}
-
- {enableTestnet && (
-
-
-
-
- {t('connectedWallets.addTestnet')}
-
-
- )}
),
- [enableTestnet, handleAddNew, primaryText, t, setFooterHeight],
+ [handleAddNew, primaryText, t, setFooterHeight],
)
const renderBackdrop = useCallback(
@@ -351,11 +329,11 @@ const ConnectedWallets = forwardRef(
onLayout={setSectionHeaderHeight}
flexDirection="row"
alignItems="center"
- backgroundColor="surfaceSecondary"
- paddingHorizontal="l"
+ backgroundColor="bg.tertiary"
+ paddingHorizontal="6"
>
-
+
{t('connectedWallets.addSub')}
diff --git a/src/features/account/TokenListItem.tsx b/src/features/account/TokenListItem.tsx
index db3e413ba..bbf948fc3 100644
--- a/src/features/account/TokenListItem.tsx
+++ b/src/features/account/TokenListItem.tsx
@@ -42,19 +42,24 @@ export const TokenSkeleton = () => {
flexDirection="row"
height={ITEM_HEIGHT}
alignItems="center"
- paddingHorizontal="l"
+ paddingHorizontal="6"
borderBottomColor="primaryBackground"
borderBottomWidth={1}
>
-
-
-
+
+
+
@@ -94,8 +99,8 @@ export const TokenListItem = ({ mint }: Props) => {
flexDirection="row"
minHeight={ITEM_HEIGHT}
alignItems="center"
- paddingHorizontal="m"
- paddingVertical="m"
+ paddingHorizontal="4"
+ paddingVertical="4"
borderBottomColor="primaryBackground"
borderBottomWidth={1}
>
@@ -103,36 +108,36 @@ export const TokenListItem = ({ mint }: Props) => {
) : (
)}
-
+
{loadingOwned ? (
-
-
+
+
) : (
{`${balanceToDisplay} `}
@@ -141,7 +146,7 @@ export const TokenListItem = ({ mint }: Props) => {
{symbol && (
@@ -150,7 +155,7 @@ export const TokenListItem = ({ mint }: Props) => {
)}
{mint.equals(NATIVE_MINT) && (amount || 0) < MIN_BALANCE_THRESHOLD && (
-
+
)}
@@ -261,8 +266,8 @@ export const TokenListGovItem = ({ mint }: { mint: PublicKey }) => {
flexDirection="row"
minHeight={ITEM_HEIGHT}
alignItems="center"
- paddingHorizontal="m"
- paddingVertical="m"
+ paddingHorizontal="4"
+ paddingVertical="4"
borderBottomColor="primaryBackground"
borderBottomWidth={1}
>
@@ -270,8 +275,8 @@ export const TokenListGovItem = ({ mint }: { mint: PublicKey }) => {
) : (
@@ -280,16 +285,16 @@ export const TokenListGovItem = ({ mint }: { mint: PublicKey }) => {
position="absolute"
top={-6}
right={-8}
- backgroundColor="bottomSheetBg"
+ backgroundColor="cardBackground"
justifyContent="center"
- borderRadius="round"
+ borderRadius="full"
alignItems="center"
height={22}
width={22}
>
{
)}
-
+
{loadingAmount ? (
-
-
+
+
) : (
{`${balanceToDisplay} `}
diff --git a/src/features/account/TransactionDetail.tsx b/src/features/account/TransactionDetail.tsx
index 5e8d7c046..86bc9b052 100644
--- a/src/features/account/TransactionDetail.tsx
+++ b/src/features/account/TransactionDetail.tsx
@@ -103,7 +103,7 @@ const TransactionDetailSelector = ({ children }: { children: ReactNode }) => {
bottom={0}
left={0}
right={0}
- borderRadius="xl"
+ borderRadius="4xl"
overflow="hidden"
/>
)
@@ -130,7 +130,7 @@ const TransactionDetailSelector = ({ children }: { children: ReactNode }) => {
{
index: index + 1,
})}
bodyText={amt}
- bodyColor="blueBright500"
+ bodyColor="blue.light-500"
/>
))}
@@ -156,7 +156,7 @@ const TransactionDetailSelector = ({ children }: { children: ReactNode }) => {
))}
diff --git a/src/features/account/TransactionLineItem.tsx b/src/features/account/TransactionLineItem.tsx
index 9753652c5..da2cca679 100644
--- a/src/features/account/TransactionLineItem.tsx
+++ b/src/features/account/TransactionLineItem.tsx
@@ -37,8 +37,8 @@ const TransactionLineItem = ({
bodyEndColor,
}: Props) => {
const { primaryText } = useColors()
- const linkHitSlop = useHitSlop('s')
- const copyHitSlop = useVerticalHitSlop('s')
+ const linkHitSlop = useHitSlop('2')
+ const copyHitSlop = useVerticalHitSlop('2')
const { contacts, sortedAccounts } = useAccountStorage()
const copyText = useCopyText()
const navigation = useNavigation()
@@ -113,15 +113,15 @@ const TransactionLineItem = ({
return (
@@ -148,7 +148,7 @@ const TransactionLineItem = ({
numberOfLines={3}
adjustsFontSizeToFit
flexShrink={1}
- variant="body1"
+ variant="textMdRegular"
color={bodyColor || 'primaryText'}
marginLeft={icon ? 'xs' : 'none'}
>
@@ -162,7 +162,7 @@ const TransactionLineItem = ({
adjustsFontSizeToFit
flex={1}
textAlign="right"
- variant="body1"
+ variant="textMdRegular"
color={bodyEndColor || 'primaryText'}
marginLeft={icon ? 'xs' : 'none'}
>
@@ -179,7 +179,7 @@ const TransactionLineItem = ({
diff --git a/src/features/account/TxnListItem.tsx b/src/features/account/TxnListItem.tsx
index fab5acc52..4abf2fbe0 100644
--- a/src/features/account/TxnListItem.tsx
+++ b/src/features/account/TxnListItem.tsx
@@ -32,7 +32,7 @@ const TxnListItem = ({ mint, item, now, isLast, onPress }: Props) => {
flexDirection="row"
onPress={handlePress}
>
- {listIcon}
+ {listIcon}
{item.pending && (
{
)}
-
- {title}
-
+
+ {title}
+
{time}
-
-
+
+
{amt}
diff --git a/src/features/account/useTxn.tsx b/src/features/account/useTxn.tsx
index 1e97899dc..f6d1999f6 100644
--- a/src/features/account/useTxn.tsx
+++ b/src/features/account/useTxn.tsx
@@ -96,7 +96,7 @@ const useTxn = (
const color = useMemo((): Color => {
switch (item?.type as TxnType) {
case 'payment_v2':
- return isSending ? 'blueBright500' : 'greenBright500'
+ return isSending ? 'blue.light-500' : 'green.light-500'
default:
return 'primaryText'
}
diff --git a/src/features/activity/ActivityDetailsScreen.tsx b/src/features/activity/ActivityDetailsScreen.tsx
index 0093c4bf7..36e27ab9d 100644
--- a/src/features/activity/ActivityDetailsScreen.tsx
+++ b/src/features/activity/ActivityDetailsScreen.tsx
@@ -46,7 +46,7 @@ function ScamWarningImageBox(props: any): React.ReactElement {
>
{
backgroundColor: 'rgba(0, 0, 0, 0.5)',
}}
>
-
+
{t('activityScreen.scamWarning')}
setDismissed(true)}
- borderRadius="round"
- borderColor="red500"
+ borderRadius="full"
+ borderColor="ros.500"
borderWidth={1}
- px="m"
- titleColorDisabled="black500"
- titleColor="red500"
+ px="4"
+ titleColorDisabled="gray.800"
+ titleColor="ros.500"
fontWeight="500"
- marginTop="l"
+ marginTop="6"
/>
@@ -128,7 +128,7 @@ const ActivityDetailsScreen = () => {
const confirmedSig = transaction as ConfirmedSignatureInfo
if (enrichedTx.transactionError || confirmedSig.err) {
- return
+ return
}
const userSignedTransaction =
wallet && enrichedTx.signers?.includes(wallet.toBase58())
@@ -141,8 +141,8 @@ const ActivityDetailsScreen = () => {
if (!nft?.metadata.image) {
return (
{
}}
width={250}
height={250}
- borderRadius="xxl"
+ borderRadius="4xl"
/>
)
}
@@ -178,15 +178,15 @@ const ActivityDetailsScreen = () => {
}}
width={250}
height={250}
- borderRadius="xxl"
+ borderRadius="4xl"
/>
)
}
return userSignedTransaction ? (
-
+
) : (
-
+
)
}, [colors, transaction, wallet])
@@ -224,13 +224,13 @@ const ActivityDetailsScreen = () => {
}
return (
-
+
{fromAccount && (
@@ -238,8 +238,8 @@ const ActivityDetailsScreen = () => {
{toAccount && (
)}
@@ -352,43 +352,47 @@ const ActivityDetailsScreen = () => {
-
+
{activityImage}
{title}
{description}
-
+
{dateLabel}
{AccountAddressListItems}
diff --git a/src/features/activity/ActivityListItem.tsx b/src/features/activity/ActivityListItem.tsx
index 7748c5658..099aa9d55 100644
--- a/src/features/activity/ActivityListItem.tsx
+++ b/src/features/activity/ActivityListItem.tsx
@@ -95,26 +95,26 @@ const ActivityListItem = ({
return (
{!transactionFailed ? (
userSignedTransaction ? (
-
+
) : (
-
+
)
) : (
-
+
)}
-
- {title}
-
+
+ {title}
+
{subtitle}
diff --git a/src/features/activity/ActivityScreen.tsx b/src/features/activity/ActivityScreen.tsx
index d10d4190d..d9a91304e 100644
--- a/src/features/activity/ActivityScreen.tsx
+++ b/src/features/activity/ActivityScreen.tsx
@@ -29,9 +29,9 @@ const ActivityScreen = () => {
const contentContainer = useMemo(
() => ({
- paddingBottom: spacing.xxxl,
+ paddingBottom: spacing['15'],
}),
- [spacing.xxxl],
+ [spacing],
)
const SectionData = useMemo((): {
@@ -80,13 +80,13 @@ const ActivityScreen = () => {
-
+
{title}
@@ -97,12 +97,12 @@ const ActivityScreen = () => {
const renderHeader = useCallback(() => {
return (
-
+
{t('activityScreen.title')}
@@ -134,7 +134,7 @@ const ActivityScreen = () => {
borderBottomStartRadius={lastItem ? 'xl' : undefined}
borderBottomEndRadius={lastItem ? 'xl' : undefined}
hasDivider={!lastItem || (firstItem && section.data.length !== 1)}
- marginHorizontal="m"
+ marginHorizontal="4"
transaction={item}
onPress={handleActivityItemPress(item)}
/>
@@ -146,7 +146,7 @@ const ActivityScreen = () => {
const Footer = useCallback(() => {
return fetchingMore ? (
-
+
) : null
diff --git a/src/features/activity/AddressActivityItem.tsx b/src/features/activity/AddressActivityItem.tsx
index 1524e7c07..65ec24029 100644
--- a/src/features/activity/AddressActivityItem.tsx
+++ b/src/features/activity/AddressActivityItem.tsx
@@ -32,29 +32,31 @@ const AddressActivityItem = ({
return (
<>
-
+
{currentAccount &&
currentAccount.solanaAddress === accountAddress && (
- {t('activityScreen.myAccount')}
+
+ {t('activityScreen.myAccount')}
+
)}
{ellipsizeAddress(accountAddress)}
-
-
+
+
{showBubbleArrow && (
diff --git a/src/features/addressBook/AddressBook.tsx b/src/features/addressBook/AddressBook.tsx
index a762a4061..6508e0644 100644
--- a/src/features/addressBook/AddressBook.tsx
+++ b/src/features/addressBook/AddressBook.tsx
@@ -31,20 +31,22 @@ const AddressBook = () => {
)
return (
-
+
- {t('addressBook.title')}
+
+ {t('addressBook.title')}
+
diff --git a/src/features/addressBook/AddressExtra.tsx b/src/features/addressBook/AddressExtra.tsx
index 5fc09334b..7b64458f1 100644
--- a/src/features/addressBook/AddressExtra.tsx
+++ b/src/features/addressBook/AddressExtra.tsx
@@ -16,17 +16,17 @@ const AddressExtra = ({
onScanPress,
}: AddressExtraProps) => {
const colors = useColors()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
if (addressLoading) {
- return
+ return
}
if (isValidAddress) {
- return
+ return
}
return (
-
+
)
}
diff --git a/src/features/addressBook/ContactDetails.tsx b/src/features/addressBook/ContactDetails.tsx
index b1566410d..c139301f8 100644
--- a/src/features/addressBook/ContactDetails.tsx
+++ b/src/features/addressBook/ContactDetails.tsx
@@ -16,7 +16,6 @@ import {
Platform,
} from 'react-native'
import Checkmark from '@assets/images/checkmark.svg'
-import { useKeyboard } from '@react-native-community/hooks'
import Box from '@components/Box'
import Text from '@components/Text'
import { useColors, useOpacity, useSpacing } from '@theme/themeHooks'
@@ -51,17 +50,16 @@ type Props = {
}
const ContactDetails = ({ action, contact }: Props) => {
- const { keyboardShown } = useKeyboard()
const { t } = useTranslation()
const homeNav = useNavigation()
const addressBookNav = useNavigation()
const route = useRoute()
- const { backgroundStyle } = useOpacity('surface', keyboardShown ? 0.85 : 0.4)
+ const { backgroundStyle } = useOpacity('secondaryBackground', 1)
const { addContact, editContact, deleteContact } = useAccountStorage()
const [nickname, setNickname] = useState(contact?.alias || '')
const [address, setAddress] = useState('')
const nicknameInput = useRef(null)
- const { blueBright500 } = useColors()
+ const colors = useColors()
const { scannedAddress, setScannedAddress } = useAppStorage()
const spacing = useSpacing()
const { showOKCancelAlert } = useAlert()
@@ -175,20 +173,20 @@ const ContactDetails = ({ action, contact }: Props) => {
return (
-
+
-
+
{isAddingContact
? t('addNewContact.title')
: t('editContact.title')}
@@ -196,8 +194,8 @@ const ContactDetails = ({ action, contact }: Props) => {
@@ -206,28 +204,28 @@ const ContactDetails = ({ action, contact }: Props) => {
)}
{!!nickname && (
-
+
{nickname}
)}
-
+
-
+
{t('addNewContact.address.title', {
network: 'Solana',
})}
@@ -240,6 +238,7 @@ const ContactDetails = ({ action, contact }: Props) => {
{
autoCorrect: false,
onKeyPress: handleKeydown,
}}
- paddingVertical="xl"
+ paddingVertical="8"
/>
- {t('addNewContact.nickname.title')}
- {!!nickname && }
+
+ {t('addNewContact.nickname.title')}
+
+ {!!nickname && }
{
/>
-
+
{t('addressBook.addNext')}
diff --git a/src/features/browser/BrowserListItem.tsx b/src/features/browser/BrowserListItem.tsx
index 3244e82ea..f624472df 100644
--- a/src/features/browser/BrowserListItem.tsx
+++ b/src/features/browser/BrowserListItem.tsx
@@ -18,15 +18,17 @@ const BrowserListItem = ({
}: ActivityListItemProps) => {
return (
-
- {url}
+
+
+ {url}
+
)
diff --git a/src/features/browser/BrowserScreen.tsx b/src/features/browser/BrowserScreen.tsx
index 4dffd4812..cbc5ebd96 100644
--- a/src/features/browser/BrowserScreen.tsx
+++ b/src/features/browser/BrowserScreen.tsx
@@ -79,7 +79,7 @@ const BrowserScreen = () => {
if (inputFocused) {
// Animate margin end
return {
- marginEnd: withTiming(spacing.xxl, {
+ marginEnd: withTiming(spacing[12], {
duration: 100,
}),
}
@@ -115,14 +115,14 @@ const BrowserScreen = () => {
const BrowserHeader = useCallback(() => {
return (
{
TrailingIcon={inputFocused ? CloseCircle : undefined}
onTrailingIconPress={onClearPressed}
TrailingIconOptions={{
- paddingStart: 's',
+ paddingStart: '2',
}}
textInputProps={{
placeholder: 'Search or type URL',
@@ -155,12 +155,12 @@ const BrowserScreen = () => {
{inputFocused && (
-
+
{t('generic.cancel')}
@@ -187,13 +187,13 @@ const BrowserScreen = () => {
-
+
{title}
@@ -222,7 +222,7 @@ const BrowserScreen = () => {
borderBottomStartRadius={lastItem ? 'xl' : undefined}
borderBottomEndRadius={lastItem ? 'xl' : undefined}
hasDivider={!lastItem || (firstItem && section.data?.length !== 1)}
- marginHorizontal="m"
+ marginHorizontal="4"
url={item}
onPress={handleBrowserListItemPress(item)}
/>
@@ -240,12 +240,12 @@ const BrowserScreen = () => {
return (
-
+
{title === t('browserScreen.myFavorites')
? t('browserScreen.myFavoritesEmpty')
: t('browserScreen.recentlyVisitedEmpty')}
@@ -258,17 +258,17 @@ const BrowserScreen = () => {
const contentContainer = useMemo(
() => ({
- paddingTop: spacing.m,
+ paddingTop: spacing[4],
}),
- [spacing.m],
+ [spacing],
)
const keyExtractor = useCallback((item, index) => item + index, [])
return (
-
+
{
const isAndroid = useMemo(() => Platform.OS === 'android', [])
const spacing = useSpacing()
const [isScriptInjected, setIsScriptInjected] = useState(false)
+ const { primaryText } = useColors()
const isFavorite = useMemo(() => {
return favorites.some((favorite) => favorite === currentUrl)
@@ -439,30 +440,30 @@ const BrowserWebViewScreen = () => {
const BrowserHeader = useCallback(() => {
return (
-
+
{currentUrl}
-
-
+
+
)
- }, [currentUrl, closeModal, spacing])
+ }, [currentUrl, closeModal, spacing, primaryText])
const onBack = useCallback(() => {
webview.current?.goBack()
@@ -482,23 +483,23 @@ const BrowserWebViewScreen = () => {
const BrowserFooter = useCallback(() => {
return (
-
+
-
+
-
+
{isFavorite ? (
-
+
) : (
-
+
)}
@@ -509,13 +510,13 @@ const BrowserWebViewScreen = () => {
)
- }, [onBack, onForward, isFavorite, onFavorite, onRefresh])
+ }, [onBack, onForward, isFavorite, onFavorite, onRefresh, primaryText])
return (
{}}>
{
= [
titleKey: 'defiTutorial.slides.0.title',
bodyKey: 'defiTutorial.slides.0.body',
image: require('@assets/images/defiSlide1.png'),
- imageVerticalOffset: 'n_xxl',
+ imageVerticalOffset: '-12',
},
{
titleKey: 'defiTutorial.slides.1.title',
bodyKey: 'defiTutorial.slides.1.body',
image: require('@assets/images/defiSlide2.png'),
- imageVerticalOffset: 'n_xxl',
+ imageVerticalOffset: '-12',
},
{
titleKey: 'defiTutorial.slides.2.title',
bodyKey: 'defiTutorial.slides.2.body',
image: require('@assets/images/defiSlide3.png'),
- imageVerticalOffset: 'n_xxl',
+ imageVerticalOffset: '-12',
},
{
titleKey: 'defiTutorial.slides.3.title',
bodyKey: 'defiTutorial.slides.3.body',
image: require('@assets/images/defiSlide4.png'),
- imageVerticalOffset: 'n_xxl',
+ imageVerticalOffset: '-12',
},
]
const DAppTutorial = () => {
@@ -87,18 +87,18 @@ const DAppTutorial = () => {
width={wp(50)}
/>
{t(item.titleKey)}
@@ -112,21 +112,21 @@ const DAppTutorial = () => {
width: 6,
height: 6,
borderRadius: 3,
- marginHorizontal: spacing.s,
- backgroundColor: colors.white,
+ marginHorizontal: spacing['0.5'],
+ backgroundColor: colors['base.white'],
}),
- [colors.white, spacing.s],
+ [colors, spacing],
)
return (
-
+
{t('defiTutorial.title')}
@@ -151,16 +151,15 @@ const DAppTutorial = () => {
/>
diff --git a/src/features/burn/BurnScreen.tsx b/src/features/burn/BurnScreen.tsx
index 74e7cac45..610452ab5 100644
--- a/src/features/burn/BurnScreen.tsx
+++ b/src/features/burn/BurnScreen.tsx
@@ -81,7 +81,7 @@ const BurnScreen = () => {
const navigation = useNavigation()
const { t } = useTranslation()
const { primaryText } = useColors()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const accountSelectorRef = useRef(null)
const { submitDelegateDataCredits } = useSubmitTxn()
const addressBookRef = useRef(null)
@@ -327,7 +327,7 @@ const BurnScreen = () => {
justifyContent="space-between"
alignItems="center"
>
-
+
{
{
@@ -360,27 +360,27 @@ const BurnScreen = () => {
keyboardShouldPersistTaps="always"
>
1}
address={currentAccount?.address}
onPress={handleShowAccounts}
showBubbleArrow
- marginHorizontal="l"
+ marginHorizontal="6"
marginBottom="xs"
/>
@@ -410,7 +410,7 @@ const BurnScreen = () => {
) : (
<>
{
showBubbleArrow
showChevron={false}
address={route.params.address}
- marginHorizontal="l"
+ marginHorizontal="6"
/>
-
+
{t('burn.amount')}
-
+
{amountBalance.toString()}
{t('payment.fee', {
@@ -448,16 +452,20 @@ const BurnScreen = () => {
-
+
{t('burn.equivalent')}
{amountInDc?.toString()}
@@ -465,19 +473,19 @@ const BurnScreen = () => {
>
)}
{submitError && (
-
+
{submitError}
@@ -485,12 +493,12 @@ const BurnScreen = () => {
)}
{
hasError ||
(!delegateAddress && isDelegate)
}
- marginTop="l"
+ marginTop="6"
title={t(
isDelegate ? 'delegate.swipe' : 'burn.swipeToBurn',
)}
diff --git a/src/features/collectables/AntennaSetupScreen.tsx b/src/features/collectables/AntennaSetupScreen.tsx
index ba71bce52..216d1f5d9 100644
--- a/src/features/collectables/AntennaSetupScreen.tsx
+++ b/src/features/collectables/AntennaSetupScreen.tsx
@@ -104,8 +104,8 @@ const AntennaSetupScreen = () => {
return (
@@ -115,25 +115,29 @@ const AntennaSetupScreen = () => {
edges={safeEdges}
backgroundColor="transparent"
flex={1}
- padding="m"
- marginHorizontal="s"
+ padding="4"
+ marginHorizontal="2"
marginVertical="xs"
>
-
+
{t('antennaSetupScreen.antennaSetup')}
{t('antennaSetupScreen.antennaSetupDescription')}
{
keyboardType: 'decimal-pad',
}}
/>
-
+
{
flexDirection="row"
justifyContent="center"
alignItems="center"
- marginVertical="s"
+ marginVertical="2"
minHeight={40}
>
{showError && (
-
+
{showError}
)}
@@ -178,18 +186,18 @@ const AntennaSetupScreen = () => {
+
) : undefined
}
/>
diff --git a/src/features/collectables/AssertLocationScreen.tsx b/src/features/collectables/AssertLocationScreen.tsx
index a2a23b6bf..5b58d5332 100644
--- a/src/features/collectables/AssertLocationScreen.tsx
+++ b/src/features/collectables/AssertLocationScreen.tsx
@@ -416,7 +416,7 @@ const AssertLocationScreen = () => {
flexGrow={1}
justifyContent="center"
alignItems="center"
- backgroundColor="surfaceSecondary"
+ backgroundColor="bg.tertiary"
overflow="hidden"
position="relative"
>
@@ -430,7 +430,7 @@ const AssertLocationScreen = () => {
zIndex={isLoading ? 100 : 0}
>
-
+
@@ -481,7 +481,7 @@ const AssertLocationScreen = () => {
@@ -491,7 +491,9 @@ const AssertLocationScreen = () => {
width={16}
height={16}
color={
- i === 0 ? colors.greenBright500 : colors.blueBright500
+ i === 0
+ ? colors['green.light-500']
+ : colors['blue.light-500']
}
/>
)}
@@ -505,8 +507,8 @@ const AssertLocationScreen = () => {
alignItems="center"
position="absolute"
width="100%"
- paddingTop="l"
- paddingLeft="ms"
+ paddingTop="6"
+ paddingLeft="3"
top={0}
>
{
alignItems="center"
onPress={() => navigation.goBack()}
>
-
-
+
+
Back
@@ -534,7 +536,7 @@ const AssertLocationScreen = () => {
flexDirection="row"
justifyContent="space-between"
position="absolute"
- marginHorizontal="ms"
+ marginHorizontal="3"
width="100%"
bottom={20}
>
@@ -542,19 +544,19 @@ const AssertLocationScreen = () => {
flexShrink={1}
flexDirection="row"
alignItems="center"
- marginHorizontal="ms"
+ marginHorizontal="3"
>
{reverseGeoLoading && (
)}
{showError && (
-
+
{showError}
)}
@@ -562,17 +564,17 @@ const AssertLocationScreen = () => {
{reverseGeo.result}
@@ -586,14 +588,14 @@ const AssertLocationScreen = () => {
flexDirection="row"
alignItems="center"
justifyContent="flex-end"
- marginHorizontal="ms"
+ marginHorizontal="3"
>
{
/>
{
style={{
marginTop: -10,
}}
- backgroundColor="surfaceSecondary"
- borderTopLeftRadius="l"
- borderTopRightRadius="l"
- padding="ms"
+ backgroundColor="bg.tertiary"
+ borderTopLeftRadius="2xl"
+ borderTopRightRadius="2xl"
+ padding="3"
>
-
+
{
{metadata?.name && (
@@ -662,21 +664,25 @@ const AssertLocationScreen = () => {
)}
-
+
IOT:
-
+
-
+
{t('assertLocationScreen.mobileTitle')}:
@@ -684,7 +690,9 @@ const AssertLocationScreen = () => {
width={16}
height={16}
color={
- mobileLocation ? colors.blueBright500 : colors.darkGrey
+ mobileLocation
+ ? colors['blue.light-500']
+ : colors['gray.700']
}
/>
@@ -693,9 +701,9 @@ const AssertLocationScreen = () => {
{
onPress={handleAssertLocationPress}
>
{debouncedDisabled || asserting ? (
-
+
) : (
{t('assertLocationScreen.title')}
@@ -733,27 +741,27 @@ const AssertLocationScreen = () => {
backgroundColor="transparent"
flex={1}
height="100%"
- marginHorizontal="ms"
+ marginHorizontal="3"
>
{t('assertLocationScreen.antennaSetup')}
{t('assertLocationScreen.antennaSetupDescription')}
{
{
-
+
diff --git a/src/features/collectables/ChangeRewardsRecipientScreen.tsx b/src/features/collectables/ChangeRewardsRecipientScreen.tsx
index 1bfaef5db..87d691773 100644
--- a/src/features/collectables/ChangeRewardsRecipientScreen.tsx
+++ b/src/features/collectables/ChangeRewardsRecipientScreen.tsx
@@ -178,8 +178,8 @@ const ChangeRewardsRecipientScreen = () => {
return (
@@ -194,28 +194,28 @@ const ChangeRewardsRecipientScreen = () => {
edges={safeEdges}
backgroundColor="transparent"
flex={1}
- padding="m"
- marginHorizontal="s"
+ padding="4"
+ marginHorizontal="2"
marginVertical="xs"
>
{t('changeRewardsRecipientScreen.title')}
-
+
{t('changeRewardsRecipientScreen.description')}
-
+
{t('changeRewardsRecipientScreen.blurb')}
@@ -225,7 +225,7 @@ const ChangeRewardsRecipientScreen = () => {
{!recipientsAreDifferent ? (
<>
@@ -240,9 +240,9 @@ const ChangeRewardsRecipientScreen = () => {
@@ -267,9 +267,11 @@ const ChangeRewardsRecipientScreen = () => {
height={20}
/>
)}
- Recipient
+
+ Recipient
+
-
+
{ellipsizeAddress(
new PublicKey(
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
@@ -284,7 +286,7 @@ const ChangeRewardsRecipientScreen = () => {
) : (
{
{hasIotRecipient && (
@@ -310,9 +312,11 @@ const ChangeRewardsRecipientScreen = () => {
width={20}
height={20}
/>
- Recipient
+
+ Recipient
+
-
+
{ellipsizeAddress(
new PublicKey(
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
@@ -325,9 +329,9 @@ const ChangeRewardsRecipientScreen = () => {
{hasMobileRecipient && (
@@ -344,9 +348,11 @@ const ChangeRewardsRecipientScreen = () => {
width={20}
height={20}
/>
- Recipient
+
+ Recipient
+
-
+
{ellipsizeAddress(
new PublicKey(
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
@@ -362,18 +368,21 @@ const ChangeRewardsRecipientScreen = () => {
flexDirection="row"
justifyContent="space-between"
alignItems="center"
- borderRadius="m"
- paddingVertical="sx"
- marginLeft="s"
- paddingLeft="s"
- paddingRight="s"
- backgroundColor="black600"
+ borderRadius="2xl"
+ paddingVertical="1.5"
+ marginLeft="2"
+ paddingLeft="2"
+ paddingRight="2"
+ backgroundColor="cardBackground"
onPress={handleRemoveRecipient}
>
{removing ? (
-
+
) : (
-
+
{t('generic.remove')}
)}
@@ -385,16 +394,16 @@ const ChangeRewardsRecipientScreen = () => {
'changeRewardsRecipientScreen.newRecipient',
)} ${recipientName}`}
variant="regular"
- marginTop="s"
+ marginTop="2"
height={80}
width="100%"
- textColor="white"
+ textColor="base.white"
fontSize={15}
TrailingIcon={Menu}
onTrailingIconPress={handleAddressBookSelected}
textInputProps={{
placeholder: t('generic.solanaAddress'),
- placeholderTextColor: 'white',
+ placeholderTextColor: 'base.white',
autoCorrect: false,
autoComplete: 'off',
onChangeText: handleEditAddress,
@@ -403,12 +412,12 @@ const ChangeRewardsRecipientScreen = () => {
}}
/>
-
+
{t('changeRewardsRecipientScreen.warning')}
@@ -424,35 +433,35 @@ const ChangeRewardsRecipientScreen = () => {
minHeight={40}
>
{showError && (
-
+
{showError}
)}
{} : handleUpdateRecipient}
TrailingComponent={
updating ? (
-
+
) : undefined
}
/>
diff --git a/src/features/collectables/ClaimAllRewardsScreen.tsx b/src/features/collectables/ClaimAllRewardsScreen.tsx
index b53486d7e..0be39b488 100644
--- a/src/features/collectables/ClaimAllRewardsScreen.tsx
+++ b/src/features/collectables/ClaimAllRewardsScreen.tsx
@@ -103,15 +103,15 @@ const ClaimAllRewardsScreen = () => {
entering={DelayedFadeIn}
backgroundColor="primaryBackground"
>
-
+
-
+
{subtitle}
-
+
{t('collectablesScreen.hotspots.hotspotsClaimMessage')}
@@ -126,7 +126,7 @@ const ClaimAllRewardsScreen = () => {
) : null}
@@ -135,7 +135,7 @@ const ClaimAllRewardsScreen = () => {
) : null}
@@ -143,9 +143,9 @@ const ClaimAllRewardsScreen = () => {
{claimError && (
@@ -155,23 +155,23 @@ const ClaimAllRewardsScreen = () => {
)}
+
) : undefined
}
/>
diff --git a/src/features/collectables/ClaimRewardsScreen.tsx b/src/features/collectables/ClaimRewardsScreen.tsx
index 992646a0c..3b44a97ed 100644
--- a/src/features/collectables/ClaimRewardsScreen.tsx
+++ b/src/features/collectables/ClaimRewardsScreen.tsx
@@ -113,18 +113,18 @@ const ClaimRewardsScreen = () => {
-
+
{subtitle}
-
+
{t('collectablesScreen.hotspots.hotspotClaimMessage')}
@@ -138,7 +138,7 @@ const ClaimRewardsScreen = () => {
)}
@@ -146,7 +146,7 @@ const ClaimRewardsScreen = () => {
)}
@@ -154,9 +154,9 @@ const ClaimRewardsScreen = () => {
{claimError && (
@@ -166,23 +166,23 @@ const ClaimRewardsScreen = () => {
)}
+
) : undefined
}
/>
diff --git a/src/features/collectables/ClaimingRewardsScreen.tsx b/src/features/collectables/ClaimingRewardsScreen.tsx
index c9bc85b5f..67f37aff9 100644
--- a/src/features/collectables/ClaimingRewardsScreen.tsx
+++ b/src/features/collectables/ClaimingRewardsScreen.tsx
@@ -78,7 +78,11 @@ const ClaimingRewardsScreen = () => {
}
return (
-
+
{
>
{
entering={FadeIn}
exiting={FadeOut}
>
-
+
{t('collectablesScreen.claimComplete')}
@@ -125,14 +129,18 @@ const ClaimingRewardsScreen = () => {
entering={FadeIn}
exiting={FadeOut}
>
-
-
+
+
{t('collectablesScreen.rewardsError')}
@@ -151,12 +159,12 @@ const ClaimingRewardsScreen = () => {
entering={FadeIn}
exiting={FadeOut}
>
-
+
{t('collectablesScreen.rewardsError')}
@@ -170,15 +178,19 @@ const ClaimingRewardsScreen = () => {
entering={FadeIn}
exiting={FadeOut}
>
-
-
+
+
{t('collectablesScreen.claimingRewards')}
{t('collectablesScreen.claimingRewardsBody')}
@@ -188,8 +200,8 @@ const ClaimingRewardsScreen = () => {
{typeof solanaPayment.progress !== 'undefined' ? (
{
{solanaPayment.progress.text}
) : (
-
+
)}
) : (
@@ -242,19 +254,19 @@ const ClaimingRewardsScreen = () => {
style={{ marginBottom: bottom }}
>
+
}
/>
diff --git a/src/features/collectables/CollectablesScreen.tsx b/src/features/collectables/CollectablesScreen.tsx
index a5ffb07a1..3239b2edf 100644
--- a/src/features/collectables/CollectablesScreen.tsx
+++ b/src/features/collectables/CollectablesScreen.tsx
@@ -47,16 +47,16 @@ const CollectablesScreen = () => {
return (
-
+
{t('collectablesScreen.title')}
{selectedItem === tabData[0].value && }
diff --git a/src/features/collectables/CollectablesTopTabs.tsx b/src/features/collectables/CollectablesTopTabs.tsx
index 394cf8c5e..35ead94d3 100644
--- a/src/features/collectables/CollectablesTopTabs.tsx
+++ b/src/features/collectables/CollectablesTopTabs.tsx
@@ -89,7 +89,13 @@ const CollectablesTopTabs = () => {
return (
-
+
{t('collectablesScreen.title')}
{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}
diff --git a/src/features/collectables/CollectionScreen.tsx b/src/features/collectables/CollectionScreen.tsx
index 38b69931f..bddd75e03 100644
--- a/src/features/collectables/CollectionScreen.tsx
+++ b/src/features/collectables/CollectionScreen.tsx
@@ -27,7 +27,7 @@ const CollectionScreen = () => {
const navigation = useNavigation()
const COLLECTABLE_HEIGHT = Dimensions.get('window').width / 2
const collectables = route.params.collection
- const { lm: borderRadius } = useBorderRadii()
+ const borderRadii = useBorderRadii()
const { triggerImpact } = useHaptic()
const handleNavigateToCollectable = useCallback(
@@ -52,15 +52,15 @@ const CollectionScreen = () => {
exiting={FadeOut}
>
handleNavigateToCollectable(item)}
>
{
)
},
- [COLLECTABLE_HEIGHT, borderRadius, handleNavigateToCollectable],
+ [COLLECTABLE_HEIGHT, borderRadii, handleNavigateToCollectable],
)
const keyExtractor = useCallback((item: Collectable) => item.id, [])
return (
diff --git a/src/features/collectables/HotspotCompressedListItem.tsx b/src/features/collectables/HotspotCompressedListItem.tsx
index bdc7ae2e4..8b74f0880 100644
--- a/src/features/collectables/HotspotCompressedListItem.tsx
+++ b/src/features/collectables/HotspotCompressedListItem.tsx
@@ -39,7 +39,7 @@ const HotspotListItem = ({
const { t } = useTranslation()
const colors = useColors()
const wallet = useCurrentWallet()
- const { backgroundStyle: flamecoOpaque } = useOpacity('flamenco', 0.1)
+ const { backgroundStyle: flamecoOpaque } = useOpacity('orange.500', 0.1)
const streetAddress = useHotspotAddress(hotspot)
const { info: iotMint } = useMint(IOT_MINT)
@@ -128,8 +128,8 @@ const HotspotListItem = ({
return (
onPress(hotspot)}
>
{hasRecipientSet && (
@@ -147,15 +147,15 @@ const HotspotListItem = ({
flexDirection="row"
justifyContent="space-between"
alignItems="center"
- borderRadius="m"
- paddingVertical="sx"
- paddingLeft="s"
- paddingRight="s"
+ borderRadius="2xl"
+ paddingVertical="1.5"
+ paddingLeft="2"
+ paddingRight="2"
style={{
...flamecoOpaque,
}}
>
-
+
{t('changeRewardsRecipientScreen.set')}
@@ -163,7 +163,7 @@ const HotspotListItem = ({
)}
-
+
{metadata?.name && (
@@ -184,12 +184,16 @@ const HotspotListItem = ({
)}
{streetAddress && (
-
+
{streetAddress}
)}
-
+
{!!hasMobileRewards && (
-
+
{pendingMobileRewardsString}
@@ -226,13 +230,13 @@ const HotspotListItem = ({
justifyContent="space-between"
alignItems="center"
backgroundColor="iotDarkGreen"
- borderRadius="m"
+ borderRadius="2xl"
paddingVertical="xs"
paddingLeft="xs"
- paddingRight="s"
+ paddingRight="2"
>
-
+
{pendingIotRewardsString}
diff --git a/src/features/collectables/HotspotList.tsx b/src/features/collectables/HotspotList.tsx
index 5558a9516..234a2615d 100644
--- a/src/features/collectables/HotspotList.tsx
+++ b/src/features/collectables/HotspotList.tsx
@@ -50,8 +50,8 @@ function RewardItem({
-
+
{symbol}
@@ -126,8 +126,8 @@ const HotspotList = () => {
const renderHeader = useCallback(() => {
return (
@@ -135,44 +135,47 @@ const HotspotList = () => {
flexDirection="row"
justifyContent="space-between"
alignItems="stretch"
- marginBottom="l"
+ marginBottom="6"
+ paddingHorizontal="4"
>
}
+ LeadingComponent={
+
+ }
title={t('collectablesScreen.hotspots.openMap')}
- titleColor="white"
+ titleColor="base.white"
fontSize={14}
onPress={handleNavigateToMap}
/>
}
title={t('collectablesScreen.hotspots.connect')}
- titleColor="black"
+ titleColor="base.black"
fontSize={14}
onPress={handleNavigateToHotspotOnboard}
/>
-
-
- You own
-
+
+
+ You own
+
{totalHotspots} hotspots
-
+
)
@@ -186,7 +189,7 @@ const HotspotList = () => {
hotspot={item}
onPress={handleNavigateToHotspot}
key={item.id}
- marginBottom="s"
+ marginBottom="2"
/>
)
},
@@ -215,7 +218,7 @@ const HotspotList = () => {
const Footer = useCallback(
() => (
-
+
{fetchingMore ? : }
),
@@ -258,10 +261,10 @@ const HotspotList = () => {
ListFooterComponent={Footer}
/>
{
onPress(hotspot)}
>
-
+
{pendingMobileRewardsString}
@@ -130,15 +134,15 @@ const HotspotListItem = ({
-
+
{pendingIotRewardsString}
@@ -154,7 +162,7 @@ const HotspotListItem = ({
)}
{metadata?.name && (
-
+
{removeDashAndCapitalize(metadata.name)}
)}
diff --git a/src/features/collectables/HotspotMapHotspotDetails.tsx b/src/features/collectables/HotspotMapHotspotDetails.tsx
index a0adc12ac..65dd33f9e 100644
--- a/src/features/collectables/HotspotMapHotspotDetails.tsx
+++ b/src/features/collectables/HotspotMapHotspotDetails.tsx
@@ -57,40 +57,40 @@ const IotMapDetails = ({
const { gain, elevation } = info
return (
-
+
-
+
{t('collectablesScreen.hotspots.map.transmitScale')}
-
-
+
+
---
-
+
{t('generic.maker')}
-
+
{maker}
-
+
{t('generic.gain')}
-
+
{gain ? gain / 10 : gain} {t('generic.dBi')}
-
+
{t('generic.elevation')}
- {elevation}m
+ {elevation}m
@@ -109,24 +109,24 @@ const MobileMapDetails = ({
const { deviceType } = info
return (
-
+
- {t('generic.coverage')}
+ {t('generic.coverage')}
-
-
+
+
---
- {t('generic.maker')}
- {maker}
+ {t('generic.maker')}
+ {maker}
- {t('generic.radioType')}
-
+ {t('generic.radioType')}
+
{deviceType ? Object.keys(deviceType)[0] : '---'}
@@ -170,7 +170,7 @@ export const HotspotMapHotspotDetails = ({
)?.group_value
const collectionKey = usePublicKey(collection)
const { primaryText } = useColors()
- const { backgroundStyle: flamecoOpaque } = useOpacity('flamenco', 0.1)
+ const { backgroundStyle: flamecoOpaque } = useOpacity('orange.500', 0.1)
const { loading: mplxLoading, metadata: mplxMetadata } =
useMetaplexMetadata(collectionKey)
@@ -448,7 +448,7 @@ export const HotspotMapHotspotDetails = ({
return (
<>
-
+
{isLoading && (
-
+
)}
@@ -465,10 +465,10 @@ export const HotspotMapHotspotDetails = ({
<>
@@ -491,16 +491,16 @@ export const HotspotMapHotspotDetails = ({
{streetAddress && (
<>
-
+
{streetAddress}
>
)}
@@ -510,7 +510,11 @@ export const HotspotMapHotspotDetails = ({
alignItems="center"
onPress={handleCopyAddress}
>
-
+
{ellipsizeAddress(eccCompact, { numChars: 4 })}
@@ -536,9 +540,9 @@ export const HotspotMapHotspotDetails = ({
flexDirection="row"
justifyContent="center"
alignItems="center"
- paddingTop="ms"
+ paddingTop="3"
>
-
+
{onboardError.toString()}
@@ -559,20 +563,20 @@ export const HotspotMapHotspotDetails = ({
alignItems="center"
zIndex={100}
>
-
+
{selectExplorerOpen ? (
<>
-
+
{t('activityScreen.selectExplorer')}
-
+
{t('activityScreen.selectExplorerSubtitle')}
@@ -603,8 +607,8 @@ export const HotspotMapHotspotDetails = ({
) : (
<>
-
+
{t('collectablesScreen.hotspots.claimRewards')}
{pendingMobileRewardsString}
@@ -657,10 +661,10 @@ export const HotspotMapHotspotDetails = ({
justifyContent="space-between"
alignItems="center"
backgroundColor="iotDarkGreen"
- borderRadius="m"
+ borderRadius="2xl"
paddingVertical="xs"
paddingLeft="xs"
- paddingRight="s"
+ paddingRight="2"
>
{pendingIotRewardsString}
@@ -680,8 +684,8 @@ export const HotspotMapHotspotDetails = ({
@@ -689,10 +693,10 @@ export const HotspotMapHotspotDetails = ({
flex={1}
flexDirection="row"
alignItems="center"
- marginHorizontal="m"
+ marginHorizontal="4"
justifyContent="space-between"
>
-
+
{t('changeRewardsRecipientScreen.title')}
{hasRecipientSet && (
@@ -701,15 +705,15 @@ export const HotspotMapHotspotDetails = ({
flexDirection="row"
justifyContent="space-between"
alignItems="center"
- borderRadius="m"
- paddingVertical="sx"
- paddingLeft="s"
- paddingRight="s"
+ borderRadius="2xl"
+ paddingVertical="1.5"
+ paddingLeft="2"
+ paddingRight="2"
style={{
...flamecoOpaque,
}}
>
-
+
{t('changeRewardsRecipientScreen.set')}
diff --git a/src/features/collectables/HotspotMapLegend.tsx b/src/features/collectables/HotspotMapLegend.tsx
index 01a0b1c27..ca5153009 100644
--- a/src/features/collectables/HotspotMapLegend.tsx
+++ b/src/features/collectables/HotspotMapLegend.tsx
@@ -16,13 +16,13 @@ export const HotspotMapLegend = ({
flexDirection="column"
justifyContent="center"
alignItems="center"
- paddingTop="ms"
- paddingBottom="m"
+ paddingTop="3"
+ paddingBottom="4"
>
-
+
{network} Hotspot
@@ -51,11 +51,11 @@ export const HotspotMapLegend = ({
flexDirection="row"
justifyContent="center"
alignItems="center"
- paddingRight="ms"
- paddingLeft="s"
- paddingVertical="sx"
- borderRadius="round"
- backgroundColor="darkGrey"
+ paddingRight="3"
+ paddingLeft="2"
+ paddingVertical="1.5"
+ borderRadius="full"
+ backgroundColor="gray.700"
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
gap={6}
@@ -68,10 +68,14 @@ export const HotspotMapLegend = ({
-
+
Low Boost
@@ -80,8 +84,12 @@ export const HotspotMapLegend = ({
justifyContent="center"
alignItems="center"
>
-
-
+
+
High Boost
@@ -91,11 +99,11 @@ export const HotspotMapLegend = ({
flexDirection="row"
justifyContent="center"
alignItems="center"
- paddingRight="ms"
- paddingLeft="s"
- paddingVertical="sx"
- borderRadius="round"
- backgroundColor="darkGrey"
+ paddingRight="3"
+ paddingLeft="2"
+ paddingVertical="1.5"
+ borderRadius="full"
+ backgroundColor="gray.700"
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
gap={8}
@@ -107,13 +115,13 @@ export const HotspotMapLegend = ({
color={colors.solanaPurple}
opacity={0.6}
/>
-
+
Weak Signal
-
+
Strong Signal
diff --git a/src/features/collectables/HotspotMapScreen.tsx b/src/features/collectables/HotspotMapScreen.tsx
index 13b290374..8c4d7633e 100644
--- a/src/features/collectables/HotspotMapScreen.tsx
+++ b/src/features/collectables/HotspotMapScreen.tsx
@@ -63,7 +63,7 @@ const HotspotMapScreen = () => {
const { t } = useTranslation()
const { anchorProvider } = useSolana()
const route = useRoute()
- const bottomSheetStyle = useBackgroundStyle('surfaceSecondary')
+ const bottomSheetStyle = useBackgroundStyle('bg.tertiary')
const navigation = useNavigation()
const colors = useColors()
const mapRef = useRef(null)
@@ -404,7 +404,7 @@ const HotspotMapScreen = () => {
flexGrow={1}
justifyContent="center"
alignItems="center"
- backgroundColor="surfaceSecondary"
+ backgroundColor="bg.tertiary"
overflow="hidden"
position="relative"
>
@@ -419,7 +419,7 @@ const HotspotMapScreen = () => {
zIndex={isLoading ? 100 : 0}
>
-
+
)}
@@ -157,20 +157,20 @@ const SettingUpAntennaScreen = () => {
style={{ marginBottom: bottom }}
>
+
}
/>
diff --git a/src/features/collectables/TransferCollectableScreen.tsx b/src/features/collectables/TransferCollectableScreen.tsx
index 1fb377295..1cede6347 100644
--- a/src/features/collectables/TransferCollectableScreen.tsx
+++ b/src/features/collectables/TransferCollectableScreen.tsx
@@ -185,13 +185,13 @@ const TransferCollectableScreen = () => {
return (
{
edges={safeEdges}
backgroundColor="transparent"
flex={1}
- padding="m"
+ padding="4"
alignItems="center"
>
{metadata && (
{
uri: metadata?.image,
cache: 'force-cache',
}}
- borderRadius="xxl"
+ borderRadius="4xl"
/>
)}
{metadata.name}
-
+
{metadata.description ||
t('collectablesScreen.collectables.noDescription')}
@@ -257,16 +257,16 @@ const TransferCollectableScreen = () => {
'collectablesScreen.transferTo',
)} ${recipientName}`}
variant="thickBlur"
- marginBottom="s"
+ marginBottom="2"
height={80}
width="100%"
- textColor="white"
+ textColor="base.white"
fontSize={15}
TrailingIcon={Menu}
onTrailingIconPress={handleAddressBookSelected}
textInputProps={{
placeholder: t('generic.solanaAddress'),
- placeholderTextColor: 'white',
+ placeholderTextColor: 'base.white',
autoCorrect: false,
autoComplete: 'off',
onChangeText: handleEditAddress,
@@ -276,18 +276,18 @@ const TransferCollectableScreen = () => {
/>
{solFee ? (
) : (
{t('generic.calculatingTransactionFee')}
@@ -297,38 +297,38 @@ const TransferCollectableScreen = () => {
opacity={
hasError || hasInsufficientBalance || networkError ? 100 : 0
}
- marginHorizontal="m"
- variant="body3Medium"
- marginBottom="l"
- color="red500"
+ marginHorizontal="4"
+ variant="textXsMedium"
+ marginBottom="6"
+ color="ros.500"
>
{showError}
-
+
+
) : (
)
diff --git a/src/features/collectables/TransferCompleteScreen.tsx b/src/features/collectables/TransferCompleteScreen.tsx
index 26092ebb1..fc4afc982 100644
--- a/src/features/collectables/TransferCompleteScreen.tsx
+++ b/src/features/collectables/TransferCompleteScreen.tsx
@@ -71,43 +71,43 @@ const TransferCollectableScreen = () => {
return (
{metadata && (
)}
@@ -119,7 +119,11 @@ const TransferCollectableScreen = () => {
entering={FadeIn}
exiting={FadeOut}
>
-
+
{t('collectablesScreen.transferComplete')}
@@ -132,17 +136,17 @@ const TransferCollectableScreen = () => {
exiting={FadeOut}
>
{t('collectablesScreen.transferError')}
@@ -161,9 +165,9 @@ const TransferCollectableScreen = () => {
exiting={FadeOut}
>
{t('collectablesScreen.transferError')}
@@ -178,42 +182,42 @@ const TransferCollectableScreen = () => {
exiting={FadeOut}
>
{t('collectablesScreen.transferingNftTitle')}
{t('collectablesScreen.transferingNftBody')}
-
-
+
+
)}
+
}
/>
diff --git a/src/features/dappLogin/DappAccount.tsx b/src/features/dappLogin/DappAccount.tsx
index 1df7e60be..42f2434fb 100644
--- a/src/features/dappLogin/DappAccount.tsx
+++ b/src/features/dappLogin/DappAccount.tsx
@@ -60,27 +60,27 @@ const DappLogin = ({ onLogin, onCancel, appName, loading }: Props) => {
flexDirection="row"
alignItems="center"
justifyContent="center"
- marginVertical="l"
+ marginVertical="6"
>
{isCrowdspot ? (
) : (
)}
-
+
-
+
{t('dappLogin.account.title', {
appName,
})}
{t('dappLogin.account.subtitle', { appName })}
@@ -96,35 +96,35 @@ const DappLogin = ({ onLogin, onCancel, appName, loading }: Props) => {
flex={1}
minHeight={66}
justifyContent="center"
- marginEnd="m"
- borderRadius="round"
+ marginEnd="4"
+ borderRadius="full"
overflow="hidden"
- backgroundColor="secondaryIcon"
+ backgroundColor="secondaryText"
onPress={onCancel}
>
-
+
{t('generic.cancel')}
{loading ? (
-
+
) : (
{t('dappLogin.login')}
diff --git a/src/features/dappLogin/DappConnect.tsx b/src/features/dappLogin/DappConnect.tsx
index e7be44d1f..2d5267ad2 100644
--- a/src/features/dappLogin/DappConnect.tsx
+++ b/src/features/dappLogin/DappConnect.tsx
@@ -25,49 +25,49 @@ const DappConnect = ({ appName, onApprove, onDeny }: Props) => {
) : (
)}
-
+
{t('dappLogin.connect.title', { appName })}
{t('dappLogin.connect.subtitle', { appName })}
-
+
-
+
{t('generic.cancel')}
{t('dappLogin.connect.continue')}
diff --git a/src/features/dappLogin/DappLoginScreen.tsx b/src/features/dappLogin/DappLoginScreen.tsx
index 1bd9a7451..cd52f86ac 100644
--- a/src/features/dappLogin/DappLoginScreen.tsx
+++ b/src/features/dappLogin/DappLoginScreen.tsx
@@ -224,17 +224,17 @@ const DappLoginScreen = () => {
return (
-
+
{body}
diff --git a/src/features/governance/AssignProxyScreen.tsx b/src/features/governance/AssignProxyScreen.tsx
index 0d2596557..c45ca768e 100644
--- a/src/features/governance/AssignProxyScreen.tsx
+++ b/src/features/governance/AssignProxyScreen.tsx
@@ -110,7 +110,7 @@ export const AssignProxyScreen = () => {
return (
{
setSelectedPositions((sel) => {
@@ -229,17 +229,17 @@ export const AssignProxyScreen = () => {
-
-
+
+
{t('gov.assignProxy.description')}
-
+
{
{/* Don't show network when position already defined */}
{position ? null : (
-
-
+
+
{t('gov.assignProxy.selectNetwork')}
)}
-
+
{t('gov.assignProxy.assignPositions')}
@@ -274,7 +274,7 @@ export const AssignProxyScreen = () => {
: t('gov.assignProxy.selectAll')}
-
+
{error && (
@@ -282,15 +282,15 @@ export const AssignProxyScreen = () => {
flexDirection="row"
justifyContent="center"
alignItems="center"
- paddingTop="ms"
+ paddingTop="3"
>
-
+
{error.toString()}
)}
-
+
{t('gov.assignProxy.expiryDate')}
{
step={1}
/>
-
+
{selectedDays} {t('gov.assignProxy.days')}
@@ -309,20 +309,20 @@ export const AssignProxyScreen = () => {
: undefined
+ isSubmitting ? : undefined
}
/>
diff --git a/src/features/governance/ClaimingRewardsModal.tsx b/src/features/governance/ClaimingRewardsModal.tsx
index ace2cf3d8..4a1ff7629 100644
--- a/src/features/governance/ClaimingRewardsModal.tsx
+++ b/src/features/governance/ClaimingRewardsModal.tsx
@@ -26,7 +26,7 @@ export const ClaimingRewardsModal = ({ status }: { status?: Status }) => {
return {
helpText: `Sending batch of ${actualBatchSize} transactions.\n${remainingTxs} total transaction${
- remainingTxs > 1 ? 's' : ''
+ remainingTxs > 1 ? '2' : ''
} remaining.`,
percent: (totalProgress * 100) / totalTxs,
}
@@ -45,13 +45,13 @@ export const ClaimingRewardsModal = ({ status }: { status?: Status }) => {
edges={edges}
backgroundColor="transparent"
flex={1}
- padding="m"
- marginHorizontal="s"
+ padding="4"
+ marginHorizontal="2"
marginVertical="xs"
>
{
{t('gov.claiming.title')}
-
+
{t('gov.claiming.body')}
-
+
{t('gov.claiming.multiple')}
-
+
{helpText}
diff --git a/src/features/governance/DelegateTokensModal.tsx b/src/features/governance/DelegateTokensModal.tsx
index 952885741..994170d5d 100644
--- a/src/features/governance/DelegateTokensModal.tsx
+++ b/src/features/governance/DelegateTokensModal.tsx
@@ -77,19 +77,23 @@ export const DelegateTokensModal = ({
onClose={handleOnClose}
backgroundColor="transparent"
flex={1}
- padding="m"
- marginHorizontal="s"
+ padding="4"
+ marginHorizontal="2"
>
{!loading && (
<>
-
+
{t('gov.transactions.delegatePosition')}
{t('gov.positions.selectSubDao')}
@@ -98,7 +102,11 @@ export const DelegateTokensModal = ({
{loading && (
-
+
{t('gov.positions.fetchingSubDaos')}
@@ -114,18 +122,18 @@ export const DelegateTokensModal = ({
return (
0 ? 'm' : 'none'}
+ borderRadius="2xl"
+ marginTop={idx > 0 ? '4' : 'none'}
backgroundColor={
- isSelected ? 'secondaryBackground' : 'secondary'
+ isSelected ? 'secondaryBackground' : 'bg.tertiary'
}
onPress={() => setSelectedSubDaoPk(subDao.pubkey)}
>
-
+
{subDao.dntMetadata.name}
@@ -150,29 +158,29 @@ export const DelegateTokensModal = ({
flexDirection="row"
justifyContent="center"
alignItems="center"
- paddingTop="ms"
+ paddingTop="3"
>
-
+
{showError}
)}
-
+
: undefined
+ isSubmitting ? : undefined
}
/>
diff --git a/src/features/governance/GovernanceTutorialScreen.tsx b/src/features/governance/GovernanceTutorialScreen.tsx
index 7384589fe..002618cc3 100644
--- a/src/features/governance/GovernanceTutorialScreen.tsx
+++ b/src/features/governance/GovernanceTutorialScreen.tsx
@@ -4,7 +4,6 @@ import { useTranslation } from 'react-i18next'
import { Edge } from 'react-native-safe-area-context'
import { Carousel, Pagination } from 'react-native-snap-carousel'
import Box from '@components/Box'
-import CloseButton from '@components/CloseButton'
import ImageBox from '@components/ImageBox'
import SafeAreaBox from '@components/SafeAreaBox'
import Text from '@components/Text'
@@ -28,7 +27,7 @@ const slides: Array = [
titleKey: 'gov.tutorial.slides.0.title',
bodyKey: 'gov.tutorial.slides.0.body',
image: require('@assets/images/voteSlide0.png'),
- imageVerticalOffset: 'n_xxl',
+ imageVerticalOffset: '-12',
},
{
titleKey: 'gov.tutorial.slides.1.title',
@@ -39,19 +38,19 @@ const slides: Array = [
titleKey: 'gov.tutorial.slides.2.title',
bodyKey: 'gov.tutorial.slides.2.body',
image: require('@assets/images/voteSlide2.png'),
- imageVerticalOffset: 'xxl',
+ imageVerticalOffset: '12',
},
{
titleKey: 'gov.tutorial.slides.3.title',
bodyKey: 'gov.tutorial.slides.3.body',
image: require('@assets/images/voteSlide3.png'),
- imageVerticalOffset: 'xxl',
+ imageVerticalOffset: '12',
},
{
titleKey: 'gov.tutorial.slides.4.title',
bodyKey: 'gov.tutorial.slides.4.body',
image: require('@assets/images/voteSlide4.png'),
- imageVerticalOffset: 'xxl',
+ imageVerticalOffset: '12',
},
]
@@ -82,7 +81,7 @@ export const GovernanceTutorialScreen = () => {
// eslint-disable-next-line react/no-unused-prop-types
({ item }: { item: CarouselItem }) => {
return (
-
+
{
alignSelf="center"
/>
{t(item.titleKey)}
@@ -115,20 +114,15 @@ export const GovernanceTutorialScreen = () => {
width: 6,
height: 6,
borderRadius: 3,
- marginHorizontal: spacing.s,
- backgroundColor: colors.white,
+ marginHorizontal: spacing['0.5'],
+ backgroundColor: colors['base.white'],
}),
- [colors.white, spacing.s],
+ [colors, spacing],
)
return (
-
-
+
{
inactiveDotScale={1}
/>
-
+
diff --git a/src/features/governance/GovernanceWrapper.tsx b/src/features/governance/GovernanceWrapper.tsx
index b3eecfa9d..20c6e947d 100644
--- a/src/features/governance/GovernanceWrapper.tsx
+++ b/src/features/governance/GovernanceWrapper.tsx
@@ -23,9 +23,9 @@ import { useSetTab } from './useSetTab'
import { NetworkTabs } from './NetworkTabs'
const icons: { [key: string]: React.ReactElement } = {
- proposals: ,
- voters: ,
- positions: ,
+ proposals: ,
+ voters: ,
+ positions: ,
}
type Route = RouteProp
@@ -89,21 +89,26 @@ export const GovernanceWrapper: React.FC<
-
+
{t('gov.title')}
-
+
{loading ? (
-
-
+
+
) : (
-
+
{header}
)
@@ -96,24 +96,24 @@ export const VotingPowerCard = ({
return (
<>
-
+
{!compact && (
-
+
{t('gov.votingPower.yourPower')}
-
+
>
)}
{!compact && noVotingPower && (
-
+
{t('gov.votingPower.noPower')}
@@ -122,11 +122,11 @@ export const VotingPowerCard = ({
<>
-
+
{t('gov.votingPower.title')}
-
+
{mintAcc &&
humanReadable(
votingPower || new BN(0),
@@ -141,16 +141,16 @@ export const VotingPowerCard = ({
flexDirection="row"
justifyContent="center"
alignItems="center"
- borderRadius="m"
- paddingHorizontal="s"
- paddingLeft="s"
+ borderRadius="2xl"
+ paddingHorizontal="2"
+ paddingLeft="2"
>
-
+
{`${
votingPower &&
amountLocked &&
@@ -167,10 +167,18 @@ export const VotingPowerCard = ({
-
+
{t('gov.votingPower.locked', { symbol })}
-
+
{mintAcc &&
humanReadable(
amountLocked || new BN(0),
@@ -185,10 +193,10 @@ export const VotingPowerCard = ({
-
+
{t('gov.votingPower.youHave', {
amount:
mintAcc &&
@@ -207,8 +215,8 @@ export const VotingPowerCard = ({
if (onPress)
return (
{renderCard(true)}
diff --git a/src/features/governance/governanceTypes.ts b/src/features/governance/governanceTypes.ts
index f4cd7004c..b8b458c29 100644
--- a/src/features/governance/governanceTypes.ts
+++ b/src/features/governance/governanceTypes.ts
@@ -36,18 +36,18 @@ const voteAccentColors = [] as Color[]
export default voteAccentColors
export const VotingResultColors: Color[] = [
- 'blueRibbon',
- 'aquaMarine',
- 'purple500',
- 'blueBright500',
- 'greenBright500',
- 'orange500',
- 'persianRose',
- 'gold',
- 'electricViolet',
- 'flamenco',
- 'malachite',
- 'turquoise',
- 'white',
- 'red500',
+ 'success.500',
+ 'ros.500',
+ 'purple.500',
+ 'blue.light-500',
+ 'green.light-500',
+ 'orange.500',
+ 'pink.500',
+ 'yellow.500',
+ 'fuchsia.500',
+ 'orange.dark-500',
+ 'green.500',
+ 'cyan.500',
+ 'base.white',
+ 'fuchsia.500',
]
diff --git a/src/features/home/HomeNavigator.tsx b/src/features/home/HomeNavigator.tsx
index d2c3286c8..f0e86a42d 100644
--- a/src/features/home/HomeNavigator.tsx
+++ b/src/features/home/HomeNavigator.tsx
@@ -80,7 +80,7 @@ const HomeStackScreen = () => {
{
return (
-
-
+
+
- {t('addNewAccount.title')}
+
+ {t('addNewAccount.title')}
+
{
navigation.push(item.type, item.options)
}}
alignItems="center"
- padding="s"
+ padding="2"
flexDirection="row"
borderTopWidth={index === 0 ? 0 : 1}
- borderColor="grey900"
+ borderColor="gray.900"
borderBottomWidth={1}
>
{item.image && (
{
/>
)}
{item.icon && item.icon}
-
+
{item.name}
@@ -68,7 +68,7 @@ const SelectOnboardableDevice = () => {
return (
{
{
})}
{error && (
-
+
{error.message ? error.message.toString() : error.toString()}
)}
{!wrongOwner && balError && (
<>
-
+
{t('hotspotOnboarding.onboarding.responsible')}
-
+
{t('hotspotOnboarding.onboarding.manufacturerMissing', {
name: maker?.name,
tokens: `${[
@@ -346,11 +346,11 @@ const AddGatewayBle = () => {
.join(' and ')}`,
})}
-
+
{t('hotspotOnboarding.onboarding.twoSolutions')}
{
{selectedOption === 'contact' && (
{
const url = `https://docs.helium.com/hotspot-makers/#${maker?.name.toLowerCase()}`
@@ -393,12 +393,12 @@ const AddGatewayBle = () => {
{selectedOption === 'pay' && (
<>
{!callbackLoading && insufficientMySolBal && (
-
+
{t('hotspotOnboarding.onboarding.notEnoughSol')}
)}
{!callbackLoading && insufficientMyDcBal && (
-
+
{t('hotspotOnboarding.onboarding.notEnoughDc')}
)}
@@ -407,9 +407,9 @@ const AddGatewayBle = () => {
<>
{t('hotspotOnboarding.onboarding.pay', {
usd,
@@ -417,12 +417,12 @@ const AddGatewayBle = () => {
})}
{
)}
{!wrongOwner && !balError ? (
{
key={key}
flexDirection="row"
justifyContent="space-between"
- mb="s"
- pb="s"
- borderColor="grey900"
+ mb="2"
+ pb="2"
+ borderColor="gray.900"
borderBottomWidth={1}
>
-
+
{key}
-
+
{JSON.stringify(value)}
))}
{!diagnosticInfo && !loading && (
-
+
{t('hotspotOnboarding.diagnostics.noneFound')}
)}
: undefined}
/>
diff --git a/src/features/hotspot-onboarding/iot-ble/ScanHotspots.tsx b/src/features/hotspot-onboarding/iot-ble/ScanHotspots.tsx
index 4e46c950b..48a89b7c3 100644
--- a/src/features/hotspot-onboarding/iot-ble/ScanHotspots.tsx
+++ b/src/features/hotspot-onboarding/iot-ble/ScanHotspots.tsx
@@ -165,22 +165,22 @@ const ScanHotspots = () => {
-
+
{item.name}
@@ -194,9 +194,9 @@ const ScanHotspots = () => {
return (
{
{scannedDevices.length === 0 && scanning && }
{scannedDevices.length === 0 && scanning && (
@@ -221,17 +221,17 @@ const ScanHotspots = () => {
keyExtractor={keyExtractor}
/>
{error && (
-
+
{error}
)}
{
: t('hotspotOnboarding.scan.notEnabled')
}
onPress={handleScanPress}
- backgroundColorDisabled="surfaceSecondary"
+ backgroundColorDisabled="bg.tertiary"
backgroundColorDisabledOpacity={0.5}
disabled={!canScan || connecting}
/>
diff --git a/src/features/hotspot-onboarding/iot-ble/Settings.tsx b/src/features/hotspot-onboarding/iot-ble/Settings.tsx
index c5d9873f3..45e831061 100644
--- a/src/features/hotspot-onboarding/iot-ble/Settings.tsx
+++ b/src/features/hotspot-onboarding/iot-ble/Settings.tsx
@@ -151,21 +151,21 @@ const Settings = () => {
navigation.push(item.route, {})
}}
alignItems="center"
- padding="l"
+ padding="6"
flexDirection="row"
borderTopWidth={index === 0 ? 0 : 1}
- borderColor="grey900"
+ borderColor="gray.900"
borderBottomWidth={1}
>
-
+
{item.name}
@@ -190,18 +190,18 @@ const Settings = () => {
keyExtractor={keyExtractor}
/>
{error && (
-
+
{t('hotspotOnboarding.settings.hotspotError')}
{errorMessage}
)}
{!loadingInfo && !loadingKta && (
{
return (
-
+
{network}
@@ -135,7 +135,7 @@ const WifiSettings = () => {
}: {
section: Section
}) => (
-
+
{title}
)
@@ -159,7 +159,7 @@ const WifiSettings = () => {
return (
{error && (
-
+
{error.message ? error.message.toString() : error.toString()}
)}
@@ -172,11 +172,11 @@ const WifiSettings = () => {
onRefresh={handleRefresh}
/>
diff --git a/src/features/hotspot-onboarding/iot-ble/WifiSetup.tsx b/src/features/hotspot-onboarding/iot-ble/WifiSetup.tsx
index 833f95576..f66e79ee0 100644
--- a/src/features/hotspot-onboarding/iot-ble/WifiSetup.tsx
+++ b/src/features/hotspot-onboarding/iot-ble/WifiSetup.tsx
@@ -70,10 +70,10 @@ const WifiSetup = () => {
{
-
+
{t('ledger.chooseType.title')}
-
+
{t('ledger.chooseType.bluetooth.title')}
-
+
{t('ledger.chooseType.bluetooth.types')}
-
+
{t('ledger.chooseType.usb.title')}
-
+
{t('ledger.chooseType.usb.types')}
diff --git a/src/features/ledger/DeviceScan.tsx b/src/features/ledger/DeviceScan.tsx
index a7f4c96b7..270861023 100644
--- a/src/features/ledger/DeviceScan.tsx
+++ b/src/features/ledger/DeviceScan.tsx
@@ -32,7 +32,7 @@ const DeviceScan = () => {
const route = useRoute()
const { primaryText } = useColors()
- const { backgroundStyle } = useOpacity('secondary', 1)
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
const bottomSheetModalRef = useRef(null)
const [contentHeight, setContentHeight] = useState(0)
const { handleDismiss, setIsShowing } = useBackHandler(bottomSheetModalRef)
@@ -108,21 +108,21 @@ const DeviceScan = () => {
return (
-
+
{device.name}
@@ -135,29 +135,30 @@ const DeviceScan = () => {
return (
-
+
{t('ledger.scan.title')}
{
{t('ledger.scan.subtitle')}
-
+
{
return (
-
+
{device.name}
@@ -85,27 +85,27 @@ const DeviceScanUsb = () => {
return (
{t('ledger.scan.title')}
{
{t('ledger.scan.subtitleUsb')}
-
+
{
return (
<>
-
-
+
+
-
+
{t('ledger.show.title')}
{t('ledger.show.subtitle')}
{t('accountImport.accountLimitLedger')}
{isScanning && (
-
+
)}
@@ -203,20 +203,20 @@ const DeviceShow = () => {
{index === 0 && PageHeader()}
-
+
{title}
{index === 0 && (
-
+
{selectAll
? t('ledger.show.deselectAll')
: t('ledger.show.selectAll')}
@@ -236,9 +236,9 @@ const DeviceShow = () => {
{index === 0 && newLedgerAccounts?.length === 0 && (
{t('ledger.show.emptyAccount', {
@@ -347,24 +347,24 @@ const DeviceShow = () => {
bottom={0}
left={0}
right={0}
- borderTopColor="secondaryIcon"
+ borderTopColor="secondaryText"
borderTopWidth={1}
height="11%"
>
diff --git a/src/features/ledger/LedgerAccountListItem.tsx b/src/features/ledger/LedgerAccountListItem.tsx
index 9efa0ccf4..47b7dbce7 100644
--- a/src/features/ledger/LedgerAccountListItem.tsx
+++ b/src/features/ledger/LedgerAccountListItem.tsx
@@ -68,25 +68,25 @@ const LedgerAccountListItem = ({
)
return (
-
+
-
-
+
+
{account.alias}
-
+
- {hasBottomBorder ? : null}
+ {hasBottomBorder ? (
+
+ ) : null}
)
}
diff --git a/src/features/ledger/LedgerConnectSteps.tsx b/src/features/ledger/LedgerConnectSteps.tsx
index 97aa35342..6ece8dd74 100644
--- a/src/features/ledger/LedgerConnectSteps.tsx
+++ b/src/features/ledger/LedgerConnectSteps.tsx
@@ -20,39 +20,43 @@ const LedgerConnectSteps = ({ onLayout, onRetry }: Props) => {
const { primaryText } = useColors()
return (
-
-
+
+
-
+
{t('ledger.connectError.title')}
-
+
{t('ledger.connectError.subtitle')}
{steps.map((step) => (
-
+
{step}
))}
-
+
{t('generic.tryAgain')}
diff --git a/src/features/ledger/LedgerModal.tsx b/src/features/ledger/LedgerModal.tsx
index 651265b56..c89b42f4a 100644
--- a/src/features/ledger/LedgerModal.tsx
+++ b/src/features/ledger/LedgerModal.tsx
@@ -54,9 +54,9 @@ const LedgerModal = forwardRef(
const { currentAccount } = useAccountStorage()
const bottomSheetModalRef = useRef(null)
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
const { setIsShowing } = useBackHandler(bottomSheetModalRef)
- const { secondaryText } = useColors()
+ const { primaryText } = useColors()
const { t } = useTranslation()
const { getTransport, openSolanaApp } = useLedger()
const [transactionBuffer, setTransactionBuffer] = useState()
@@ -216,9 +216,9 @@ const LedgerModal = forwardRef(
const handleIndicatorStyle = useMemo(() => {
return {
- backgroundColor: secondaryText,
+ backgroundColor: primaryText,
}
- }, [secondaryText])
+ }, [primaryText])
const deviceModelId = useMemo(() => {
let model = DeviceModelId.nanoX
@@ -271,7 +271,7 @@ const LedgerModal = forwardRef(
return null
case 'openApp':
return (
-
+
{t('ledger.openTheSolanaApp', {
device: currentAccount?.ledgerDevice?.name,
})}
@@ -279,7 +279,7 @@ const LedgerModal = forwardRef(
)
case 'sign':
return (
-
+
{t('ledger.pleaseConfirmTransaction', {
device: currentAccount?.ledgerDevice?.name,
})}
@@ -288,19 +288,19 @@ const LedgerModal = forwardRef(
case 'enterPinCode':
return (
-
+
{t('ledger.pleaseEnterPinCode', {
device: currentAccount?.ledgerDevice?.name,
})}
-
+
{t('generic.tryAgain')}
@@ -309,17 +309,17 @@ const LedgerModal = forwardRef(
case 'enableBlindSign':
return (
-
+
{t('ledger.enableBlindSign')}
-
+
{t('generic.tryAgain')}
@@ -335,19 +335,17 @@ const LedgerModal = forwardRef(
return (
- {/* */}
-
+
diff --git a/src/features/ledger/PairStart.tsx b/src/features/ledger/PairStart.tsx
index 393063eb4..ef0297253 100644
--- a/src/features/ledger/PairStart.tsx
+++ b/src/features/ledger/PairStart.tsx
@@ -24,44 +24,49 @@ const PairStart = () => {
-
+
{t('ledger.pairStart.title')}
-
+
{t('ledger.pairStart.subtitle')}
{t('accountImport.accountLimit')}
)
diff --git a/src/features/ledger/PairSuccess.tsx b/src/features/ledger/PairSuccess.tsx
index 80be4e92d..fbee8493d 100644
--- a/src/features/ledger/PairSuccess.tsx
+++ b/src/features/ledger/PairSuccess.tsx
@@ -36,28 +36,28 @@ const PairSuccess = () => {
-
+
{t('ledger.success.title')}
-
+
{t('ledger.success.subtitle')}
)
diff --git a/src/features/migration/SolanaMigration.tsx b/src/features/migration/SolanaMigration.tsx
index 5b39ef84b..2b3d610f5 100644
--- a/src/features/migration/SolanaMigration.tsx
+++ b/src/features/migration/SolanaMigration.tsx
@@ -153,7 +153,7 @@ const SolanaMigration = ({
const boxProps = {
backgroundColor: 'transparent',
flex: 1,
- padding: 'm',
+ padding: '4',
alignItems: 'center',
justifyContent: 'center',
} as BoxProps
@@ -174,7 +174,7 @@ const SolanaMigration = ({
{t('solanaMigrationScreen.migrationComplete')}
{t('solanaMigrationScreen.error')}
@@ -243,9 +243,9 @@ const SolanaMigration = ({
exiting={FadeOut}
>
{t('solanaMigrationScreen.migratingBody')}
-
-
+
+
{total > 200 && (
{progress} / {total}
@@ -284,8 +284,8 @@ const SolanaMigration = ({
{(error || migrationError) && (
0 && (
)}
diff --git a/src/features/modals/InsufficientSolConversionModal.tsx b/src/features/modals/InsufficientSolConversionModal.tsx
index 4e9ddd44b..4f3367d37 100644
--- a/src/features/modals/InsufficientSolConversionModal.tsx
+++ b/src/features/modals/InsufficientSolConversionModal.tsx
@@ -168,24 +168,29 @@ const InsufficientSolConversionModal: FC = () => {
zIndex={9999}
height="100%"
width="100%"
- paddingBottom="xl"
+ paddingBottom="8"
>
-
+
{t('insufficientSolConversionModal.title')}
-
+
@@ -194,7 +199,7 @@ const InsufficientSolConversionModal: FC = () => {
{validInputMints.map((mint) => (
{
/>
))}
-
- {loading && }
+
+ {loading && }
{!loading && !hasAtLeastOne && (
-
-
+
+
{t('insufficientSolConversionModal.noBalance')}
)}
{!loading && hasAtLeastOne && (
<>
-
+
{t('swapsScreen.youPay')}
-
+
{inputAmount}
-
+
{symbol}
-
+
{t('swapsScreen.youReceive')}
-
+
~0.02
-
+
SOL
{showError}
@@ -276,19 +285,19 @@ const InsufficientSolConversionModal: FC = () => {
setUseAuto((ua) => !ua)}
/>
-
+
{t('insufficientSolConversionModal.useAuto')}
@@ -296,16 +305,16 @@ const InsufficientSolConversionModal: FC = () => {
{!loading && (
{
{hasAtLeastOne && (
+
) : undefined
}
/>
diff --git a/src/features/notifications/AccountSlider.tsx b/src/features/notifications/AccountSlider.tsx
index 5c3a7f476..aed7118a0 100644
--- a/src/features/notifications/AccountSlider.tsx
+++ b/src/features/notifications/AccountSlider.tsx
@@ -108,7 +108,7 @@ const AccountSlider = () => {
const keyExtractor = useCallback((item) => item || '', [])
return (
-
+
@@ -64,8 +64,8 @@ const AccountSliderIcon = ({
width={15}
borderWidth={2}
borderColor="primaryBackground"
- borderRadius="round"
- backgroundColor="malachite"
+ borderRadius="full"
+ backgroundColor="green.500"
/>
>
)
diff --git a/src/features/notifications/NotificationDetailBanner.tsx b/src/features/notifications/NotificationDetailBanner.tsx
index 7707f0c70..bfc2d1a22 100644
--- a/src/features/notifications/NotificationDetailBanner.tsx
+++ b/src/features/notifications/NotificationDetailBanner.tsx
@@ -34,7 +34,7 @@ const NotificationDetailBanner = ({ icon }: { icon: string }) => {
)
diff --git a/src/features/notifications/NotificationDetails.tsx b/src/features/notifications/NotificationDetails.tsx
index 26b3a9456..c2f077782 100644
--- a/src/features/notifications/NotificationDetails.tsx
+++ b/src/features/notifications/NotificationDetails.tsx
@@ -70,34 +70,38 @@ const NotificationDetails = () => {
-
+
{notification.title}
-
+
{time}
{parseMarkup(notification.body)}
diff --git a/src/features/notifications/NotificationListItem.tsx b/src/features/notifications/NotificationListItem.tsx
index 31a7a2134..b6b6e54dd 100644
--- a/src/features/notifications/NotificationListItem.tsx
+++ b/src/features/notifications/NotificationListItem.tsx
@@ -40,24 +40,24 @@ const NotificationListItem = ({
-
+
{!viewed && (
)}
-
+
{subtitle}
{time}
diff --git a/src/features/notifications/NotificationsList.tsx b/src/features/notifications/NotificationsList.tsx
index 0e0b3767c..b14f9543d 100644
--- a/src/features/notifications/NotificationsList.tsx
+++ b/src/features/notifications/NotificationsList.tsx
@@ -29,9 +29,9 @@ const NotificationsList = ({
const contentContainer = useMemo(
() => ({
- paddingBottom: spacing.xxxl,
+ paddingBottom: spacing['15'],
}),
- [spacing.xxxl],
+ [spacing],
)
const SectionData = useMemo((): {
@@ -79,7 +79,7 @@ const NotificationsList = ({
return (
(
-
+
{t('notifications.emptyTitle')}
@@ -114,13 +114,17 @@ const NotificationsList = ({
-
+
{sectionTitle}
diff --git a/src/features/notifications/NotificationsScreen.tsx b/src/features/notifications/NotificationsScreen.tsx
index 3639379d0..21b16fe42 100644
--- a/src/features/notifications/NotificationsScreen.tsx
+++ b/src/features/notifications/NotificationsScreen.tsx
@@ -34,7 +34,13 @@ const NotificationsScreen = () => {
const HeaderComponent = useMemo(() => {
return (
<>
-
+
{t('notifications.title')}
@@ -49,17 +55,17 @@ const NotificationsScreen = () => {
position="absolute"
bottom={0}
width="100%"
- paddingHorizontal="m"
- marginBottom="xl"
+ paddingHorizontal="4"
+ marginBottom="8"
>
) : (
diff --git a/src/features/onboarding/AccountAssignScreen.tsx b/src/features/onboarding/AccountAssignScreen.tsx
index c2793c824..38b12365c 100644
--- a/src/features/onboarding/AccountAssignScreen.tsx
+++ b/src/features/onboarding/AccountAssignScreen.tsx
@@ -174,31 +174,34 @@ const AccountAssignScreen = () => {
{t('accountAssign.title')}
{
{
{
true: colors.primaryText,
false: colors.transparent10,
}}
- onCheckColor={colors.secondary}
+ onCheckColor={colors.secondaryText}
onTintColor={colors.primaryText}
tintColor={colors.transparent10}
onFillColor={colors.primaryText}
@@ -246,9 +249,9 @@ const AccountAssignScreen = () => {
/>
{t('accountAssign.setDefault')}
@@ -256,7 +259,7 @@ const AccountAssignScreen = () => {
{!loading && existingNames?.has(alias) ? (
-
+
{t('accountAssign.nameExists')}
) : null}
@@ -266,10 +269,10 @@ const AccountAssignScreen = () => {
)}
diff --git a/src/features/onboarding/AccountCreatePinScreen.tsx b/src/features/onboarding/AccountCreatePinScreen.tsx
index bd6fc887f..18a1f97f9 100644
--- a/src/features/onboarding/AccountCreatePinScreen.tsx
+++ b/src/features/onboarding/AccountCreatePinScreen.tsx
@@ -59,14 +59,14 @@ const AccountCreatePinScreen = () => {
{
{t('accountSetup.createPin.title')}
-
+
{t('accountSetup.createPin.subtitle')}
-
+
diff --git a/src/features/onboarding/CreateImportAccountScreen.tsx b/src/features/onboarding/CreateImportAccountScreen.tsx
index bad69c894..c10ce4f29 100644
--- a/src/features/onboarding/CreateImportAccountScreen.tsx
+++ b/src/features/onboarding/CreateImportAccountScreen.tsx
@@ -34,32 +34,50 @@ const CreateImportAccountScreen = () => {
}, [navigation])
return (
-
-
- {t('accountSetup.createImport.title')}
-
-
-
+
+
+
+ {t('accountSetup.createImport.title')}
+
+
+
+
-
+
{t('accountSetup.createImport.import')}
-
+
-
+
-
+
{t('accountSetup.createImport.create')}
-
+
-
+
-
+
{t('accountSetup.createImport.ledger')}
@@ -69,8 +87,8 @@ const CreateImportAccountScreen = () => {
{
const { t } = useTranslation()
const { xs: switchMarginHorizontal } = useSpacing()
const colors = useColors()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const { onboardingData, setOnboardingData } = useOnboarding()
const { enableTestnet } = useAppStorage()
const trackColor = useMemo(
- () => ({ false: colors.secondaryText, true: colors.blueBright500 }),
+ () => ({ false: colors.secondaryText, true: colors['blue.light-500'] }),
[colors],
)
@@ -68,10 +68,10 @@ const NetTypeSegment = (boxProps: Props) => {
{
{
}, [navigation])
return (
-
-
-
+
+
+
-
+
{t('accountImport.cli.import.title')}
diff --git a/src/features/onboarding/cli-import/CLIPasswordScreen.tsx b/src/features/onboarding/cli-import/CLIPasswordScreen.tsx
index 84fe6169b..409231ee6 100644
--- a/src/features/onboarding/cli-import/CLIPasswordScreen.tsx
+++ b/src/features/onboarding/cli-import/CLIPasswordScreen.tsx
@@ -41,7 +41,11 @@ const CLIPasswordScreen = () => {
const [password, setPassword] = useState('')
const inputStyle = useMemo(() => {
- return { color: 'white', fontSize: 24, textAlign: 'center' } as TextStyle
+ return {
+ color: 'base.white',
+ fontSize: 24,
+ textAlign: 'center',
+ } as TextStyle
}, [])
const handleNext = useCallback(async () => {
@@ -98,21 +102,26 @@ const CLIPasswordScreen = () => {
])
return (
-
-
+
+
-
+
{t('accountImport.cli.password.title')}
{t('accountImport.cli.password.body')}
@@ -122,7 +131,7 @@ const CLIPasswordScreen = () => {
variant="transparent"
textInputProps={{
onChangeText: setPassword,
- placeholderTextColor: 'grey500',
+ placeholderTextColor: 'gray.500',
value: password,
placeholder: 'password',
autoCorrect: false,
@@ -131,19 +140,19 @@ const CLIPasswordScreen = () => {
style: inputStyle,
secureTextEntry: true,
}}
- marginTop="xl"
+ marginTop="8"
width="100%"
/>
diff --git a/src/features/onboarding/create/AccountCreatePassphraseScreen.tsx b/src/features/onboarding/create/AccountCreatePassphraseScreen.tsx
index be85375c7..93ea89320 100644
--- a/src/features/onboarding/create/AccountCreatePassphraseScreen.tsx
+++ b/src/features/onboarding/create/AccountCreatePassphraseScreen.tsx
@@ -62,33 +62,39 @@ const AccountCreatePassphraseScreen = () => {
return (
<>
-
+
-
+
{t('accountSetup.passphrase.title')}
{t('accountSetup.passphrase.subtitle1')}
{t('accountSetup.passphrase.subtitle2')}
diff --git a/src/features/onboarding/create/AccountCreateStart.tsx b/src/features/onboarding/create/AccountCreateStart.tsx
index c7ec5a954..4f14c2dee 100644
--- a/src/features/onboarding/create/AccountCreateStart.tsx
+++ b/src/features/onboarding/create/AccountCreateStart.tsx
@@ -1,4 +1,5 @@
import React, { memo, useCallback } from 'react'
+import { useColors } from '@theme/themeHooks'
import { useTranslation } from 'react-i18next'
import CreateAccount from '@assets/images/createAccount.svg'
import { useNavigation } from '@react-navigation/native'
@@ -15,6 +16,7 @@ const AccountCreateStart = ({ onCreate, inline }: Props) => {
const { t } = useTranslation()
const { reachedAccountLimit } = useAccountStorage()
const navigation = useNavigation()
+ const colors = useColors()
const onClose = useCallback(() => {
navigation.goBack()
@@ -24,34 +26,35 @@ const AccountCreateStart = ({ onCreate, inline }: Props) => {
-
+
{t('accountSetup.title')}
{t('accountSetup.subtitle1')}
{t('accountSetup.subtitle2')}
@@ -59,26 +62,26 @@ const AccountCreateStart = ({ onCreate, inline }: Props) => {
{t('accountImport.accountLimit')}
diff --git a/src/features/onboarding/create/AccountEnterPassphraseScreen.tsx b/src/features/onboarding/create/AccountEnterPassphraseScreen.tsx
index f6b14e997..b0b4dea86 100644
--- a/src/features/onboarding/create/AccountEnterPassphraseScreen.tsx
+++ b/src/features/onboarding/create/AccountEnterPassphraseScreen.tsx
@@ -18,10 +18,9 @@ const AccountEnterPassphraseScreen = () => {
onboardingData: { words },
} = useOnboarding()
- const onWordsConfirmed = useCallback(
- () => navigation.navigate('AccountAssignScreen', params),
- [navigation, params],
- )
+ const onWordsConfirmed = useCallback(() => {
+ navigation.navigate('AccountAssignScreen', params)
+ }, [navigation, params])
return (
diff --git a/src/features/onboarding/create/ConfirmWordsScreen.tsx b/src/features/onboarding/create/ConfirmWordsScreen.tsx
index c63f38169..3f7f14346 100644
--- a/src/features/onboarding/create/ConfirmWordsScreen.tsx
+++ b/src/features/onboarding/create/ConfirmWordsScreen.tsx
@@ -15,18 +15,18 @@ import { CreateAccountNavigationProp } from './createAccountNavTypes'
import PassphraseAutocomplete from '../import/PassphraseAutocomplete'
const accentColors = [
- 'purple500',
- 'blueBright500',
- 'greenBright500',
- 'orange500',
- 'persianRose',
- 'grey350',
- 'flamenco',
- 'electricViolet',
- 'malachite',
- 'turquoise',
- 'white',
- 'red500',
+ 'purple.500',
+ 'blue.light-500',
+ 'green.light-500',
+ 'orange.500',
+ 'pink.500',
+ 'gray.350',
+ 'orange.500',
+ 'violet.200',
+ 'green.500',
+ 'cyan.500',
+ 'base.white',
+ 'ros.500',
] as Color[]
type Props = {
@@ -49,7 +49,7 @@ const ConfirmWordsScreen: React.FC = ({
const navigation = useNavigation()
const flatlistRef = useRef(null)
const colors = useColors()
- const flatListStyle = usePaddingStyle('m', ['left', 'right'])
+ const flatListStyle = usePaddingStyle('4', ['left', 'right'])
const wordCount = mnemonic.length
const [words, setWords] = useState<(string | null)[]>(
new Array(wordCount).fill(null),
@@ -138,13 +138,13 @@ const ConfirmWordsScreen: React.FC = ({
({ index, item: w }: { item: string | null; index: number }) => {
return (
= ({
style={{ transform: [{ translateX: shakeAnim.current }] }}
>
{title || t('accountSetup.confirm.title')}
{t('accountSetup.confirm.subtitleOrdinal', {
ordinal: wordIndex + 1,
@@ -248,9 +249,9 @@ const ConfirmWordsScreen: React.FC = ({
/>
-
+
= ({
{__DEV__ && (
{
- const { surface, primary } = useColors()
+ const { cardBackground, primaryText } = useColors()
const [underlayShowing, setUnderlayShowing] = useState(false)
const getBackgroundColor = useCallback((): Color => {
- if (fail) return 'error'
- if (success) return 'greenBright500'
+ if (fail) return 'ros.500'
+ if (success) return 'green.light-500'
return 'transparent10'
}, [fail, success])
const getIcon = useCallback(() => {
- if (success) return
+ if (success) return
- if (fail) return
+ if (fail) return
return null
- }, [fail, primary, success])
+ }, [fail, primaryText, success])
const handleUnderlayChange = useCallback(
(val: boolean) => () => setUnderlayShowing(val),
@@ -51,11 +51,11 @@ const PhraseChip = ({
return (
{upperCase(title)}
diff --git a/src/features/onboarding/import/AccountImportScreen.tsx b/src/features/onboarding/import/AccountImportScreen.tsx
index 618814063..d19434958 100644
--- a/src/features/onboarding/import/AccountImportScreen.tsx
+++ b/src/features/onboarding/import/AccountImportScreen.tsx
@@ -25,18 +25,18 @@ import {
} from './importAccountNavTypes'
const accentColors = [
- 'purple500',
- 'blueBright500',
- 'greenBright500',
- 'orange500',
- 'persianRose',
- 'grey350',
- 'flamenco',
- 'electricViolet',
- 'malachite',
- 'turquoise',
- 'white',
- 'red500',
+ 'purple.500',
+ 'blue.light-500',
+ 'green.light-500',
+ 'orange.500',
+ 'pink.500',
+ 'gray.350',
+ 'orange.500',
+ 'violet.200',
+ 'green.500',
+ 'cyan.500',
+ 'base.white',
+ 'ros.500',
] as Color[]
type Route = RouteProp
@@ -52,7 +52,7 @@ const AccountImportScreen = () => {
const [wordCount, setWordCount] = useState(12)
const colors = useColors()
const { t } = useTranslation()
- const flatListStyle = usePaddingStyle('m', ['left', 'right'])
+ const flatListStyle = usePaddingStyle('4', ['left', 'right'])
const [wordIndex, setWordIndex] = useState(0)
const [words, setWords] = useState<(string | null)[]>(
@@ -260,13 +260,13 @@ const AccountImportScreen = () => {
({ index, item: w }: { item: string | null; index: number }) => {
return (
{
return (
-
+
{
keyboardShouldPersistTaps="always"
>
{t('accountImport.wordEntry.title', { totalWords: wordCount })}
@@ -338,7 +339,7 @@ const AccountImportScreen = () => {
flex={1}
alignItems="center"
>
-
+
{t('accountImport.wordEntry.changeWordAmount', {
totalWords: wordCount === 12 ? 24 : 12,
})}
diff --git a/src/features/onboarding/import/AccountImportStartScreen.tsx b/src/features/onboarding/import/AccountImportStartScreen.tsx
index 971d21109..acd70774c 100644
--- a/src/features/onboarding/import/AccountImportStartScreen.tsx
+++ b/src/features/onboarding/import/AccountImportStartScreen.tsx
@@ -82,56 +82,57 @@ const AccountImportStartScreen = ({ inline }: { inline?: boolean }) => {
backgroundColor="secondaryBackground"
>
{isInline ? null : (
-
+
)}
{t('accountImport.title')}
{reachedAccountLimit
? t('accountImport.accountLimit')
: t('accountImport.pickKeyType')}
-
+
{
/>
{
/>
diff --git a/src/features/onboarding/import/ImportPrivateKey.tsx b/src/features/onboarding/import/ImportPrivateKey.tsx
index 5ef30754c..c5dd0fca7 100644
--- a/src/features/onboarding/import/ImportPrivateKey.tsx
+++ b/src/features/onboarding/import/ImportPrivateKey.tsx
@@ -195,15 +195,16 @@ const ImportPrivateKey = () => {
)
return (
-
-
-
+
+
+
{t('accountImport.privateKey.title')}
{t('accountImport.privateKey.paste')}
@@ -222,9 +223,9 @@ const ImportPrivateKey = () => {
variant="underline"
/>
Enter the password you set for your private key.
@@ -240,24 +241,25 @@ const ImportPrivateKey = () => {
autoComplete: 'off',
returnKeyType: 'done',
}}
+ textColor="primaryText"
variant="underline"
/>
{error}
-
+
{t('accountImport.privateKey.body')}
@@ -267,12 +269,12 @@ const ImportPrivateKey = () => {
diff --git a/src/features/onboarding/import/ImportReplaceWordModal.tsx b/src/features/onboarding/import/ImportReplaceWordModal.tsx
index 726b2f187..971fac8b1 100644
--- a/src/features/onboarding/import/ImportReplaceWordModal.tsx
+++ b/src/features/onboarding/import/ImportReplaceWordModal.tsx
@@ -69,10 +69,10 @@ const ImportReplaceWordModal = ({
opacity={0.97}
/>
-
+
-
+
diff --git a/src/features/onboarding/import/ImportSubAccountsScreen.tsx b/src/features/onboarding/import/ImportSubAccountsScreen.tsx
index 38148e49f..59eb09c02 100644
--- a/src/features/onboarding/import/ImportSubAccountsScreen.tsx
+++ b/src/features/onboarding/import/ImportSubAccountsScreen.tsx
@@ -86,29 +86,29 @@ export default () => {
flexDirection="row"
minHeight={72}
alignItems="center"
- paddingHorizontal="m"
- paddingVertical="m"
+ paddingHorizontal="4"
+ paddingVertical="4"
borderBottomColor="primaryBackground"
borderBottomWidth={index === derivationAccounts.length - 1 ? 0 : 1}
>
-
+
{item.derivationPath}
{ellipsizeAddress(item.keypair.publicKey.toBase58())}
@@ -116,7 +116,7 @@ export default () => {
{(item.tokens?.value.length || 0) > 0 ? (
@@ -125,7 +125,7 @@ export default () => {
) : null}
{(item.nfts?.length || 0) > 0 ? (
@@ -136,7 +136,7 @@ export default () => {
) : null}
{item.needsMigrated ? (
@@ -153,7 +153,7 @@ export default () => {
true: colors.primaryText,
false: colors.transparent10,
}}
- onCheckColor={colors.secondary}
+ onCheckColor={colors.secondaryText}
onTintColor={colors.primaryText}
tintColor={colors.transparent10}
onFillColor={colors.primaryText}
@@ -168,7 +168,7 @@ export default () => {
},
[
colors.primaryText,
- colors.secondary,
+ colors.secondaryText,
colors.transparent10,
derivationAccounts,
selected,
@@ -215,19 +215,19 @@ export default () => {
{t('accountImport.privateKey.selectAccounts')}
-
+
{t('accountImport.privateKey.selectAccountsBody')}
- {error && {error.message}}
+ {error && {error.message}}
{
onEndReached={fetchMore}
/>
diff --git a/src/features/onboarding/import/MatchingWord.tsx b/src/features/onboarding/import/MatchingWord.tsx
index 2c49473f7..b174a82d2 100644
--- a/src/features/onboarding/import/MatchingWord.tsx
+++ b/src/features/onboarding/import/MatchingWord.tsx
@@ -22,20 +22,20 @@ const MatchingWord = ({ fullWord, matchingText, onPress }: Props) => {
{upperCase(matchingText)}
-
+
@@ -131,7 +131,7 @@ const PassphraseAutocomplete = ({
onPress={onSubmit}
icon="arrowRight"
backgroundColor={accentKey}
- backgroundColorPressed="surfaceContrast"
+ backgroundColorPressed="primaryBackground"
iconColor="primaryBackground"
backgroundColorOpacityPressed={0.1}
/>
diff --git a/src/features/payment/PaymentCard.tsx b/src/features/payment/PaymentCard.tsx
index bcf7b0539..f1c3ce008 100644
--- a/src/features/payment/PaymentCard.tsx
+++ b/src/features/payment/PaymentCard.tsx
@@ -66,14 +66,14 @@ const PaymentCard = ({
return (
{!payEnabled ? (
<>
-
+
-
+
{t('generic.cancel')}
{t('payment.pay')}
@@ -126,7 +130,7 @@ const PaymentCard = ({
>
) : (
-
+
-
+
{t('payment.submitFailed')}
{!!errorMessage && (
{errorMessage}
)}
-
+
-
+
-
-
+
+
{t('generic.cancel')}
diff --git a/src/features/payment/PaymentItem.tsx b/src/features/payment/PaymentItem.tsx
index a0286bfe7..b4d520046 100644
--- a/src/features/payment/PaymentItem.tsx
+++ b/src/features/payment/PaymentItem.tsx
@@ -203,21 +203,21 @@ const PaymentItem = ({
return (
- {hasError && }
+ {hasError && }
{isDeepLink && address ? (
{ellipsizeAddress(address)}
@@ -229,10 +229,14 @@ const PaymentItem = ({
justifyContent="space-between"
alignItems="center"
>
-
+
-
+
{account?.alias && account?.alias.split('.').length === 2
? address && shortenAddress(address, 6)
: account?.alias}
@@ -255,13 +259,13 @@ const PaymentItem = ({
}}
/>
{isProgramAccount ? (
-
+
{t('payment.programOwnedWarning')}
) : null}
@@ -273,7 +277,7 @@ const PaymentItem = ({
{!!onRemove && (
@@ -295,8 +299,8 @@ const PaymentItem = ({
{!loadingMeta && (
@@ -314,14 +318,18 @@ const PaymentItem = ({
flex={1}
>
{humanReadable(amount, decimals)}
{fee && (
-
+
{t('payment.fee', {
value: humanReadable(feeAsTokens, 8),
})}
@@ -332,19 +340,22 @@ const PaymentItem = ({
-
+
{toUpper(t('payment.max'))}
diff --git a/src/features/payment/PaymentScreen.tsx b/src/features/payment/PaymentScreen.tsx
index 0579d2206..708730dca 100644
--- a/src/features/payment/PaymentScreen.tsx
+++ b/src/features/payment/PaymentScreen.tsx
@@ -142,7 +142,7 @@ const PaymentScreen = () => {
const rootNav = useNavigation()
const { t } = useTranslation()
const { primaryText } = useColors()
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
useDisappear(() => {
appDispatch(solanaSlice.actions.resetPayment())
@@ -690,18 +690,18 @@ const PaymentScreen = () => {
-
+
{
{t('payment.send')}
-
+
{
keyboardShouldPersistTaps="always"
>
{
address={currentAccount?.address}
onPress={handleShowAccounts}
showBubbleArrow
- marginHorizontal="l"
+ marginHorizontal="6"
marginBottom="xs"
/>
@@ -768,7 +768,7 @@ const PaymentScreen = () => {
{...p}
hideMemo
marginTop={index === 0 ? 'xs' : 'none'}
- marginBottom="l"
+ marginBottom="6"
hasError={
p.address === currentAccount?.address || p.hasError
}
@@ -794,15 +794,15 @@ const PaymentScreen = () => {
-
+
{t('payment.addRecipient')}
diff --git a/src/features/payment/PaymentSubmitLoading.tsx b/src/features/payment/PaymentSubmitLoading.tsx
index b4821d106..00d91c528 100644
--- a/src/features/payment/PaymentSubmitLoading.tsx
+++ b/src/features/payment/PaymentSubmitLoading.tsx
@@ -45,10 +45,10 @@ const PaymentSubmitLoading = ({ onVideoEnd }: Props) => {
{t('payment.sending')}
diff --git a/src/features/payment/PaymentSuccess.tsx b/src/features/payment/PaymentSuccess.tsx
index a7ea9b5b0..cf400ff1d 100644
--- a/src/features/payment/PaymentSuccess.tsx
+++ b/src/features/payment/PaymentSuccess.tsx
@@ -30,19 +30,19 @@ const PaymentSuccess = ({
const { t } = useTranslation()
return (
-
+
-
+
{t('payment.submitSuccess')}
-
+
-
+
{actionTitle}
diff --git a/src/features/payment/PaymentSummary.tsx b/src/features/payment/PaymentSummary.tsx
index 429091bf7..482e6a37f 100644
--- a/src/features/payment/PaymentSummary.tsx
+++ b/src/features/payment/PaymentSummary.tsx
@@ -68,9 +68,9 @@ const PaymentSummary = ({
key="ellipsis"
style={{ marginLeft: MAX_ACCOUNT_ICONS * -4 }}
width={16}
- borderRadius="round"
+ borderRadius="full"
height={16}
- backgroundColor="black300"
+ backgroundColor="gray.true-700"
flexDirection="row"
alignItems="center"
justifyContent="space-evenly"
@@ -78,20 +78,20 @@ const PaymentSummary = ({
,
)
@@ -102,10 +102,10 @@ const PaymentSummary = ({
return (
<>
-
+
{t('payment.total')}
-
+
{total}
@@ -114,17 +114,22 @@ const PaymentSummary = ({
{showRecipients && payments.length > 0 && (
<>
{accountIcons}
-
+
{t('payment.totalRecipients', { count: payments.length })}
>
)}
{!!errors?.length && (
-
+
{errors[0]}
)}
-
+
{fee}
diff --git a/src/features/request/RequestScreen.tsx b/src/features/request/RequestScreen.tsx
index 85ec79e17..c4f30dec8 100644
--- a/src/features/request/RequestScreen.tsx
+++ b/src/features/request/RequestScreen.tsx
@@ -71,8 +71,8 @@ const RequestScreen = () => {
const accountSelectorRef = useRef(null)
const { triggerNavHaptic } = useHaptic()
const navigation = useNavigation()
- const { l } = useSpacing()
- const { l: borderRadius } = useBorderRadii()
+ const spacing = useSpacing()
+ const borderRadii = useBorderRadii()
const { secondaryText, primaryText } = useColors()
const [isEditing, setIsEditing] = useState(false)
const { keyboardShown } = useKeyboard()
@@ -137,8 +137,8 @@ const RequestScreen = () => {
alignSelf: 'center',
backgroundColor: primaryText,
aspectRatio: 1,
- padding: l,
- borderRadius,
+ padding: spacing[6],
+ borderRadius: borderRadii['2xl'],
}
}, [requestType, qrLink, keyboardShown])
@@ -241,20 +241,25 @@ const RequestScreen = () => {
flex={1}
onLayout={handleContainerLayout}
borderWidth={1}
- borderTopStartRadius="xl"
- borderTopEndRadius="xl"
+ borderTopStartRadius="4xl"
+ borderTopEndRadius="4xl"
>
-
+
{t('request.title')}
-
+
{
{!isEditing ? (
{
{link}
@@ -295,9 +300,9 @@ const RequestScreen = () => {
{
title={t('request.requestType', {
ticker: symbol || '',
})}
- backgroundColor="secondary"
+ backgroundColor="secondaryBackground"
address={currentAccount?.address}
onPress={handleTickerSelected}
showBubbleArrow
@@ -315,64 +320,68 @@ const RequestScreen = () => {
-
+
{t('request.amount')}
{!paymentAmount || paymentAmount.isZero() ? (
-
+
{t('request.enterAmount', {
ticker: symbol,
})}
) : (
-
+
{humanReadable(paymentAmount, decimals)}
)}
-
+
-
-
+
+
{t('generic.cancel')}
diff --git a/src/features/settings/AutoGasManager.tsx b/src/features/settings/AutoGasManager.tsx
index c9455370a..7179833e2 100644
--- a/src/features/settings/AutoGasManager.tsx
+++ b/src/features/settings/AutoGasManager.tsx
@@ -46,17 +46,22 @@ const AutoGasManager: FC = () => {
flexDirection="row"
alignItems="center"
justifyContent="center"
- paddingTop="s"
- paddingHorizontal="m"
+ paddingTop="2"
+ paddingHorizontal="4"
>
-
+
{t('settings.autoGasManagement.title')}
-
+
@@ -65,20 +70,20 @@ const AutoGasManager: FC = () => {
-
+
{t('settings.autoGasManagement.enabled')}
@@ -86,22 +91,22 @@ const AutoGasManager: FC = () => {
{inputMint && (
{t('settings.autoGasManagement.selectTokenBody')}
-
+
{validInputMints.map((mint) => (
))}
@@ -111,27 +116,27 @@ const AutoGasManager: FC = () => {
navigation.goBack()}
/>
{
if (!mnemonic) return null
return (
-
+
{mnemonic ? (
{
return (
-
+
{t('settings.revealPrivateKey.title')}
{revealed ? (
<>
{
{
diff --git a/src/features/settings/RevealWordsScreen.tsx b/src/features/settings/RevealWordsScreen.tsx
index bb7340885..8b916ec2a 100644
--- a/src/features/settings/RevealWordsScreen.tsx
+++ b/src/features/settings/RevealWordsScreen.tsx
@@ -24,15 +24,15 @@ const RevealWordsScreen = () => {
const ListHeaderComponent = useMemo(() => {
return (
{
return (
{
: ''
}
edges={[]}
- padding="none"
+ padding="0"
>
{
const spacing = useSpacing()
const version = useAppVersion()
const buildNumber = deviceInfo.getBuildNumber()
- const hitSlop = useHitSlop('xxl')
const authIntervals = useAuthIntervals()
+ const colors = useColors()
const {
currentAccount,
accounts,
@@ -76,16 +76,11 @@ const Settings = () => {
() => appPin !== undefined && appPin.status !== 'off',
[appPin],
)
-
- const onRequestClose = useCallback(() => {
- homeNav.navigate('AccountsScreen')
- }, [homeNav])
-
const contentContainer = useMemo(
() => ({
- paddingBottom: spacing.xxxl,
+ paddingBottom: spacing['15'],
}),
- [spacing.xxxl],
+ [spacing],
)
const keyExtractor = useCallback((item, index) => item.title + index, [])
@@ -605,12 +600,12 @@ const Settings = () => {
{icon !== undefined && icon}
-
+
{title}
@@ -619,33 +614,46 @@ const Settings = () => {
)
return (
-
-
+
- {t('settings.title')}
-
+
+ {t('settings.title')}
+
+
+
+
-
-
-
+
+
)
}
diff --git a/src/features/settings/SettingsCreatePinScreen.tsx b/src/features/settings/SettingsCreatePinScreen.tsx
index a8ee158a9..d5a3779fd 100644
--- a/src/features/settings/SettingsCreatePinScreen.tsx
+++ b/src/features/settings/SettingsCreatePinScreen.tsx
@@ -43,14 +43,14 @@ const SettingsCreatePinScreen = () => {
{
{t('accountSetup.createPin.title')}
-
+
{t('accountSetup.createPin.subtitle')}
-
+
diff --git a/src/features/settings/SettingsListItem.tsx b/src/features/settings/SettingsListItem.tsx
index deb727934..cc49033d0 100644
--- a/src/features/settings/SettingsListItem.tsx
+++ b/src/features/settings/SettingsListItem.tsx
@@ -74,7 +74,7 @@ const SettingsListItem = ({
}
const trackColor = useMemo(
- () => ({ false: colors.grey900, true: colors.greenBright500 }),
+ () => ({ false: colors['gray.900'], true: colors['green.light-500'] }),
[colors],
)
@@ -88,9 +88,9 @@ const SettingsListItem = ({
const actionSheetTextProps = useMemo(
() =>
({
- variant: 'regular',
+ variant: 'textMdRegular',
fontSize: 16,
- color: 'surfaceSecondaryText',
+ color: 'secondaryText',
} as TextProps),
[],
)
@@ -107,9 +107,9 @@ const SettingsListItem = ({
)
let textColor: Color = 'primaryText'
- if (destructive && !disabled) textColor = 'red300'
- if (destructive && disabled) textColor = 'red400'
- if (!destructive && disabled) textColor = 'grey400'
+ if (destructive && !disabled) textColor = 'ros.300'
+ if (destructive && disabled) textColor = 'ros.400'
+ if (!destructive && disabled) textColor = 'gray.400'
const handleSelect = useCallback(
async (itemValue: string | number, itemIndex: number) => {
@@ -127,41 +127,41 @@ const SettingsListItem = ({
justifyContent="space-between"
alignItems="center"
minHeight={56}
- paddingHorizontal="l"
- marginBottom="xxxs"
+ paddingHorizontal="6"
+ marginBottom="0.25"
onPress={handlePress}
disabled={disabled || !(onPress || openUrl || select)}
- borderBottomColor="black"
+ borderBottomColor="border.secondary"
borderBottomWidth={1}
- borderTopColor="black"
+ borderTopColor="border.secondary"
borderTopWidth={isTop ? 1 : 0}
>
{renderModal && renderModal()}
{label}
-
+
{title}
{helperText}
{!onToggle && !select && onPress && (
-
+
)}
- {openUrl && }
+ {openUrl && }
{onToggle && (
)}
{staticText && (
-
+
{value}
)}
diff --git a/src/features/settings/ShareAddressScreen.tsx b/src/features/settings/ShareAddressScreen.tsx
index b112ce66e..874b4265a 100644
--- a/src/features/settings/ShareAddressScreen.tsx
+++ b/src/features/settings/ShareAddressScreen.tsx
@@ -82,13 +82,13 @@ const ShareAddressScreen = () => {
flex={1}
justifyContent="center"
alignItems="center"
- marginBottom="xxxl"
+ marginBottom="15"
>
{currentAccount.alias}
@@ -101,10 +101,10 @@ const ShareAddressScreen = () => {
}
>
{ellipsizeAddress(address)}
@@ -112,9 +112,9 @@ const ShareAddressScreen = () => {
{
{
>
{
-
+
{t('accountAssign.title')}
@@ -67,8 +72,8 @@ const UpdateAliasScreen = () => {
autoCapitalize: 'words',
}}
fontSize={24}
- marginLeft="m"
- marginRight="xl"
+ marginLeft="4"
+ marginRight="8"
/>
@@ -79,8 +84,8 @@ const UpdateAliasScreen = () => {
icon="arrowRight"
disabled={!alias}
backgroundColor="primaryText"
- iconColor="primary"
- backgroundColorPressed="surfaceContrast"
+ iconColor="primaryText"
+ backgroundColorPressed="primaryBackground"
backgroundColorOpacityPressed={0.1}
/>
diff --git a/src/features/swaps/SwapItem.tsx b/src/features/swaps/SwapItem.tsx
index 2b719cc47..c5fe2ca13 100644
--- a/src/features/swaps/SwapItem.tsx
+++ b/src/features/swaps/SwapItem.tsx
@@ -38,9 +38,9 @@ const SwapItem = ({
const getBackgroundColorStyle = useCallback(
(pressed: boolean) => {
if (pressed) {
- return generateBackgroundStyle('black500', 1.0)
+ return generateBackgroundStyle('gray.800', 1.0)
}
- return generateBackgroundStyle('surfaceSecondary', 1.0)
+ return generateBackgroundStyle('bg.tertiary', 1.0)
},
[generateBackgroundStyle],
)
@@ -51,7 +51,7 @@ const SwapItem = ({
@@ -62,14 +62,21 @@ const SwapItem = ({
onPress={onCurrencySelect}
/>
-
+
{isPaying ? t('swapsScreen.youPay') : t('swapsScreen.youReceive')}
-
+
{!loading ? amount.toString() : t('generic.loading')}
- {`${symbol}`}
+ {`${symbol}`}
{isPaying && (
diff --git a/src/features/swaps/SwapScreen.tsx b/src/features/swaps/SwapScreen.tsx
index dee182657..8486327cb 100644
--- a/src/features/swaps/SwapScreen.tsx
+++ b/src/features/swaps/SwapScreen.tsx
@@ -158,7 +158,7 @@ const SwapScreen = () => {
},
[],
)
- const hitSlop = useHitSlop('l')
+ const hitSlop = useHitSlop('6')
const handleEditAddress = useCallback((text?: string) => {
setRecipient(text || '')
@@ -263,13 +263,18 @@ const SwapScreen = () => {
flexDirection="row"
justifyContent="center"
alignItems="center"
- paddingHorizontal="m"
+ paddingHorizontal="4"
>
-
+
{t('swapsScreen.title')}
-
+
@@ -281,11 +286,11 @@ const SwapScreen = () => {
return (
)
@@ -295,11 +300,11 @@ const SwapScreen = () => {
return (
{
justifyContent="center"
alignContent="center"
flexDirection="row"
- paddingHorizontal="ms"
+ paddingHorizontal="3"
onPress={() => setSlippageInfoVisible(true)}
>
-
+
{t('swapsScreen.slippage')}
@@ -326,19 +331,19 @@ const SwapScreen = () => {
disabled={disabled}
key={bps}
flex={1}
- padding="ms"
+ padding="3"
alignItems="center"
borderEndWidth={isLast ? 0 : 2}
- borderTopRightRadius={isLast ? 'l' : 'none'}
- borderBottomRightRadius={isLast ? 'l' : 'none'}
+ borderTopRightRadius={isLast ? '4xl' : 'none'}
+ borderBottomRightRadius={isLast ? '4xl' : 'none'}
backgroundColor={
- !disabled && isActive ? 'black500' : 'surfaceSecondary'
+ !disabled && isActive ? 'gray.800' : 'bg.tertiary'
}
onPress={() => setSlippageBps(bps)}
>
{bps / 100}%
@@ -698,16 +703,16 @@ const SwapScreen = () => {
tokenData={tokenData}
>
-
+
{Header}
-
+
{
{
/>
{!isRecipientOpen && outputMint.equals(DC_MINT) && (
@@ -749,17 +754,17 @@ const SwapScreen = () => {
floatingLabel={t('collectablesScreen.transferTo')}
optional
variant="thickDark"
- backgroundColor="red500"
- marginHorizontal="m"
- marginBottom="m"
+ backgroundColor="ros.500"
+ marginHorizontal="4"
+ marginBottom="4"
height={80}
- textColor="white"
+ textColor="base.white"
fontSize={15}
TrailingIcon={Menu}
onTrailingIconPress={handleAddressBookSelected}
textInputProps={{
placeholder: t('generic.solanaAddress'),
- placeholderTextColor: 'white',
+ placeholderTextColor: 'base.white',
autoCorrect: false,
autoComplete: 'off',
onChangeText: handleEditAddress,
@@ -768,12 +773,12 @@ const SwapScreen = () => {
/>
)}
{showError && (
-
+
{showError}
@@ -781,13 +786,13 @@ const SwapScreen = () => {
)}
{priceImpact > 2.5 && (
-
+
{t('swapsScreen.priceImpact', {
percent: priceImpact.toFixed(2),
@@ -800,19 +805,19 @@ const SwapScreen = () => {
{
onPress={handleSwapTokens}
TrailingComponent={
swapping ? (
-
+
) : undefined
}
/>
-
+
{!isDevnet && !outputMint.equals(DC_MINT) && (
)}
{!isDevnet && !outputMint.equals(DC_MINT) && (
@@ -877,18 +882,18 @@ const SwapScreen = () => {
flexDirection="row"
justifyContent="space-between"
alignItems="center"
- marginTop="l"
+ marginTop="6"
>
setSlippageInfoVisible(false)}
/>
@@ -897,10 +902,10 @@ const SwapScreen = () => {
-
+
diff --git a/src/features/swaps/SwappingScreen.tsx b/src/features/swaps/SwappingScreen.tsx
index 0677c2fef..e3ce7f16f 100644
--- a/src/features/swaps/SwappingScreen.tsx
+++ b/src/features/swaps/SwappingScreen.tsx
@@ -51,19 +51,19 @@ const SwappingScreen = () => {
return (
-
+
@@ -78,12 +78,12 @@ const SwappingScreen = () => {
backgroundColor="secondaryBackground"
>
{TokensSwappedContainer}
@@ -93,13 +93,17 @@ const SwappingScreen = () => {
entering={FadeIn}
exiting={FadeOut}
>
-
+
{t('swapsScreen.swapComplete')}
{t('swapsScreen.swapCompleteBody')}
@@ -114,17 +118,17 @@ const SwappingScreen = () => {
exiting={FadeOut}
>
{t('swapsScreen.swapError')}
{parseTransactionError(
@@ -142,9 +146,9 @@ const SwappingScreen = () => {
exiting={FadeOut}
>
{t('swapsScreen.swapError')}
@@ -159,42 +163,42 @@ const SwappingScreen = () => {
exiting={FadeOut}
>
{t('swapsScreen.swappingTokens')}
{t('swapsScreen.swappingTokensBody')}
-
-
+
+
)}
-
+
+
}
/>
diff --git a/src/features/txnDelegation/LinkWallet.tsx b/src/features/txnDelegation/LinkWallet.tsx
index 7e8553bb8..ccff4991d 100644
--- a/src/features/txnDelegation/LinkWallet.tsx
+++ b/src/features/txnDelegation/LinkWallet.tsx
@@ -140,37 +140,33 @@ const LinkWallet = () => {
-
+
{t('linkWallet.title', { appName })}
-
+
{t('linkWallet.body', { appName })}
-
+
{t('linkWallet.yes')}
@@ -178,12 +174,12 @@ const LinkWallet = () => {
-
+
{t('linkWallet.no')}
diff --git a/src/features/txnDelegation/SignHotspot.tsx b/src/features/txnDelegation/SignHotspot.tsx
index ab11961aa..cc1ca9c9b 100644
--- a/src/features/txnDelegation/SignHotspot.tsx
+++ b/src/features/txnDelegation/SignHotspot.tsx
@@ -54,7 +54,7 @@ const SignHotspot = () => {
const { t } = useTranslation()
const [validated, setValidated] = useState()
const { accounts } = useAccountStorage()
- const { surfaceContrastText } = useColors()
+ const { secondaryText } = useColors()
const linkInvalid = useMemo(() => {
return (
@@ -222,12 +222,12 @@ const SignHotspot = () => {
if (linkInvalid) {
return (
-
+
-
+
{t('signHotspot.error.title')}
-
+
{t('signHotspot.error.subtitle', {
maker: parsedToken?.appName || 'Maker',
})}
@@ -238,10 +238,10 @@ const SignHotspot = () => {
-
+
{t('signHotspot.error.takeMeBack', {
maker: parsedToken?.appName || 'Maker',
})}
@@ -257,12 +257,12 @@ const SignHotspot = () => {
{title ? (
{
)}
-
+
{t('signHotspot.name')}
-
+
{name}
{locationData?.location && (
<>
-
+
{t('signHotspot.location')}
-
+
{locationData.location}
>
)}
{solana.configMsg && (
<>
-
+
{t('signHotspot.direction')}
-
+
{`${(
METERS_TO_FEET * solana.configMsg.height
).toLocaleString()}ft/${solana.configMsg.azimuth}° ${degToCompass(
@@ -322,29 +314,21 @@ const SignHotspot = () => {
)}
{locationData?.gain !== undefined && (
-
-
+
+
{t('generic.gain')}:
-
+
{locationData.gain}
)}
{locationData?.elevation !== undefined && (
-
+
{t('generic.elevation')}:
-
+
{locationData.elevation}
@@ -353,26 +337,18 @@ const SignHotspot = () => {
{(solana.burnAmounts?.hntFee?.gt(new BN(0)) ||
solana.burnAmounts?.dcFee?.gt(new BN(0))) && (
<>
-
+
{t('signHotspot.burnAmounts')}
{solana.burnAmounts?.dcFee?.gt(new BN(0)) && (
-
+
{solana.burnAmounts?.dcFee?.toString()}
)}
{solana.burnAmounts?.hntFee?.gt(new BN(0)) && (
-
+
{solana.burnAmounts?.hntFee?.toString()}
)}
@@ -380,30 +356,26 @@ const SignHotspot = () => {
)}
{transferData?.newOwner && (
<>
-
+
{t('signHotspot.newOwner')}
-
+
{transferData.newOwner}
>
)}
{!!parsedToken?.address && accounts?.[parsedToken.address] && (
<>
-
+
{t('signHotspot.owner')}
-
+
{formatAccountAlias(accounts[parsedToken.address])}
@@ -412,51 +384,47 @@ const SignHotspot = () => {
)}
{!!gatewayAddress && (
<>
-
+
{t('generic.maker')}:
-
+
{onboardingRecord?.maker.name || 'Unknown'}
>
)}
-
+
-
+
{t('generic.cancel')}
-
+
{t('generic.confirm')}
{submitLoading && (
-
-
+
+
)}
diff --git a/src/hooks/useNetworkColor.tsx b/src/hooks/useNetworkColor.tsx
index 2941617bc..88cb8383c 100644
--- a/src/hooks/useNetworkColor.tsx
+++ b/src/hooks/useNetworkColor.tsx
@@ -14,7 +14,7 @@ export default ({
return useMemo(() => {
if (netType === NetTypes.TESTNET) {
if (muted) {
- return 'lividBrown'
+ return 'orange.dark-500'
}
return 'testnet'
}
diff --git a/src/locales/en.ts b/src/locales/en.ts
index 93619cf94..9cbbded8a 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -121,7 +121,7 @@ export default {
recoveryPhrase: 'Secret Phrase',
keyImport: 'Private Key',
subTitle:
- 'To import your existing Helium wallet, enter its 12 or 24 word security key.',
+ 'To import your existing Helium wallet, enter its 12 or 24 word security key.',
title: 'Import\nWallet',
wordEntry: {
changeWordAmount: 'Change to a {{totalWords}}-word recovery phrase',
@@ -991,6 +991,9 @@ export default {
},
},
settings: {
+ system: 'System',
+ light: 'Light',
+ dark: 'Dark',
confirmSignout: {
forgotAlert: {
body: 'Would you like to reveal your wallets words?',
@@ -1004,14 +1007,14 @@ export default {
alertTitle: 'Are you sure?',
done: 'Done',
subtitle:
- 'Do not share your private key!\n\nIf someone has your private key they will have full control of your wallet! Do not enter this into any websites. Any individual asking for this key is likely a scammer.',
+ 'Do not share your private key!\n\nIf someone has your private key they will have full control of your wallet! Do not enter this into any websites. Any individual asking for this key is likely a scammer.',
tap: 'Tap to reveal your private key',
title: 'Your Private Key',
},
revealWords: {
next: 'I have written these down',
subtitle:
- 'Never give these words to anyone, or enter them into any website. Any person or website asking for these words is likely a scammer. It is crucial you write all of these\n{{numWords}} words down, in order, and keep them safe.\n\nHelium cannot recover these words.',
+ 'Never give these words to anyone, or enter them into any website. Any person or website asking for these words is likely a scammer. It is crucial you write all of these\n{{numWords}} words down, in order, and keep them safe.\n\nHelium cannot recover these words.',
title: 'Your {{numWords}} Word Password',
warning: 'Helium cannot recover these words',
},
@@ -1244,7 +1247,7 @@ export default {
title: 'Vote Power',
},
{
- body: 'Get your voice heard.\n\nVote on Active Votes\nManage your locked positions\nOr browse past HIPs.',
+ body: 'Get your voice heard.\n\nVote on Active Votes\nManage your locked positions\nOr browse past HIPs.',
title: 'Ready to Vote?',
},
],
diff --git a/src/navigation/TabBarNavigator.tsx b/src/navigation/TabBarNavigator.tsx
index 43a4550cb..5bde5f690 100644
--- a/src/navigation/TabBarNavigator.tsx
+++ b/src/navigation/TabBarNavigator.tsx
@@ -44,26 +44,26 @@ function MyTabBar({ state, navigation }: BottomTabBarProps) {
hasBadge?: boolean
}> => {
return [
- { value: 'account', Icon: Dollar, iconColor: 'white' },
+ { value: 'account', Icon: Dollar, iconColor: 'primaryText' },
{
value: 'collectables',
Icon: Gem,
- iconColor: 'white',
+ iconColor: 'primaryText',
hasBadge: false,
},
{
value: 'activity',
Icon: Transactions,
- iconColor: 'white',
+ iconColor: 'primaryText',
hasBadge: hasNewTransactions && state.index !== 2,
},
{
value: 'governance',
Icon: Governance,
- iconColor: 'white',
+ iconColor: 'primaryText',
hasBadge: hasUnseenProposals && state.index !== 3,
},
- { value: 'browser', Icon: Globe, iconColor: 'white' },
+ { value: 'browser', Icon: Globe, iconColor: 'primaryText' },
]
}, [hasNewTransactions, hasUnseenProposals, state.index])
@@ -120,7 +120,7 @@ function MyTabBar({ state, navigation }: BottomTabBarProps) {
return (
-
+
{
lazy: true,
}}
sceneContainerStyle={{
- paddingBottom: NavBarHeight + bottom,
+ paddingBottom: NavBarHeight + bottom - 5,
}}
>
diff --git a/src/solana/CollapsibleWritableAccountPreview.tsx b/src/solana/CollapsibleWritableAccountPreview.tsx
index 1e3c7d004..426e52059 100644
--- a/src/solana/CollapsibleWritableAccountPreview.tsx
+++ b/src/solana/CollapsibleWritableAccountPreview.tsx
@@ -36,7 +36,7 @@ const TokenChange = ({
return (
-
+
{symbol}
@@ -132,7 +132,7 @@ export const CollapsibleWritableAccountPreview = ({
return (
setExpanded(!expanded)}>
{writableAccount.name.startsWith('Unknown') ? (
-
+
) : (
)}
-
+
{writableAccount.name}
)}
-
+
{shortenAddress(writableAccount.address.toBase58())}
@@ -205,7 +210,7 @@ export const CollapsibleWritableAccountPreview = ({
) : null}
-
+
{expanded ? (
diff --git a/src/solana/CollectablePreview.tsx b/src/solana/CollectablePreview.tsx
index 1d3811978..f5ff62a46 100644
--- a/src/solana/CollectablePreview.tsx
+++ b/src/solana/CollectablePreview.tsx
@@ -26,11 +26,11 @@ export const CollectablePreview = ({
return (
{metadata && (
)}
- {ellipsizeAddress(payee)}
+ {ellipsizeAddress(payee)}
diff --git a/src/solana/MessagePreview.tsx b/src/solana/MessagePreview.tsx
index 601c58676..735d149ed 100644
--- a/src/solana/MessagePreview.tsx
+++ b/src/solana/MessagePreview.tsx
@@ -12,16 +12,16 @@ export const MessagePreview = ({
message,
}: IMransactionPreviewProps) => (
- {message && {message}}
+ {message && {message}}
{warning && (
-
+
{warning}
)}
diff --git a/src/solana/PaymentPreview.tsx b/src/solana/PaymentPreview.tsx
index f24468c55..f89771107 100644
--- a/src/solana/PaymentPreview.tsx
+++ b/src/solana/PaymentPreview.tsx
@@ -26,11 +26,11 @@ export const PaymentPreivew = ({ mint, payments }: IPaymentPreviewProps) => {
return (
{payments.map(({ payee, balanceAmount }, index) => (
@@ -43,8 +43,8 @@ export const PaymentPreivew = ({ mint, payments }: IPaymentPreviewProps) => {
>
{json?.image ? : null}
- {symbol}
- {ellipsizeAddress(payee)}
+ {symbol}
+ {ellipsizeAddress(payee)}
{loadingInputMintMetadata || loadingOutputMintMetadata ? (
@@ -59,7 +59,7 @@ export const SwapPreview = ({
{inputMintJson ? (
) : null}
- {inputMintSymbol}
+ {inputMintSymbol}
@@ -74,7 +74,7 @@ export const SwapPreview = ({
{outputMintJson ? (
) : null}
- {outputMintSymbol}
+ {outputMintSymbol}
- Min Received due to slippage:
-
+ Min Received due to slippage:
+
{`~${minReceived.toFixed(outputDecimals)}`}
diff --git a/src/solana/WalletSIgnBottomSheetSimulated.tsx b/src/solana/WalletSIgnBottomSheetSimulated.tsx
index 7037e0f29..93bb4835d 100644
--- a/src/solana/WalletSIgnBottomSheetSimulated.tsx
+++ b/src/solana/WalletSIgnBottomSheetSimulated.tsx
@@ -173,7 +173,7 @@ export const WalletSignBottomSheetSimulated = ({
}
return a
- }, 'warning')
+ }, 'warning.500')
}
return 'critical'
}, [simulationResults])
@@ -199,17 +199,17 @@ export const WalletSignBottomSheetSimulated = ({
totalWarnings && !suppressWarnings && worstSeverity === 'critical'
return (
-
+
{header || url ? (
-
+
{header ? (
-
+
{header}
) : null}
{url ? (
@@ -221,30 +221,30 @@ export const WalletSignBottomSheetSimulated = ({
{type === WalletStandardMessageTypes.connect && (
-
-
-
+
+
+
{t('browserScreen.connectBullet1')}
-
-
+
+
{t('browserScreen.connectBullet2')}
{t('browserScreen.connectToWebsitesYouTrust')}
@@ -257,12 +257,12 @@ export const WalletSignBottomSheetSimulated = ({
{warning && (
-
+
{warning}
@@ -271,7 +271,7 @@ export const WalletSignBottomSheetSimulated = ({
-
+
{t('browserScreen.estimatedChanges')}
{infoVisible && (
-
+
{t('browserScreen.estimatedChangesDescription')}
)}
{!(insufficientFunds || insufficientRentExempt) && message && (
-
+
{message}
)}
{showWarnings ? (
@@ -310,7 +315,7 @@ export const WalletSignBottomSheetSimulated = ({
{(insufficientFunds || insufficientRentExempt) && (
@@ -330,10 +335,10 @@ export const WalletSignBottomSheetSimulated = ({
-
+
{t('browserScreen.writableAccounts')}
-
+
{t('browserScreen.transactions', {
num: simulationResults?.length || 1,
})}
{writableInfoVisible && (
-
+
{t('browserScreen.writableAccountsDescription')}
)}
-
+
{loading && }
{error ? (
-
+
{error.message || error.toString()}
@@ -389,12 +394,12 @@ export const WalletSignBottomSheetSimulated = ({
{hasMore && (
@@ -408,51 +413,51 @@ export const WalletSignBottomSheetSimulated = ({
setFeesExpanded(!feesExpanded)}
- marginTop="s"
+ marginTop="2"
flexDirection="row"
justifyContent="space-between"
>
-
+
{t('browserScreen.totalNetworkFee')}
-
+
{`~${estimatedTotalSol} SOL`}
-
+
{feesExpanded ? (
-
+
-
+
{t('browserScreen.totalBaseFee')}
-
+
{`~${estimatedTotalBaseFee} SOL`}
-
+
{t('browserScreen.totalPriorityFee')}
-
+
{`~${estimatedTotalPriorityFee} SOL`}
@@ -468,12 +473,12 @@ export const WalletSignBottomSheetSimulated = ({
flexDirection="row"
justifyContent="flex-start"
alignItems="center"
- mt={feesExpanded ? 's' : 'm'}
+ mt={feesExpanded ? '2' : '4'}
>
@@ -499,26 +504,26 @@ export const WalletSignBottomSheetSimulated = ({
diff --git a/src/solana/WalletSignBottomSheet.tsx b/src/solana/WalletSignBottomSheet.tsx
index 5034f236a..7127e860c 100644
--- a/src/solana/WalletSignBottomSheet.tsx
+++ b/src/solana/WalletSignBottomSheet.tsx
@@ -35,7 +35,7 @@ const WalletSignBottomSheet = forwardRef(
>(null)
useImperativeHandle(ref, () => ({ show, hide }))
const { secondaryText } = useColors()
- const { backgroundStyle } = useOpacity('surfaceSecondary', 1)
+ const { backgroundStyle } = useOpacity('bg.tertiary', 1)
const animatedContentHeight = useSharedValue(0)
const bottomSheetModalRef = useRef(null)
diff --git a/src/solana/WalletSignBottomSheetCompact.tsx b/src/solana/WalletSignBottomSheetCompact.tsx
index 7e775c363..d6082978b 100644
--- a/src/solana/WalletSignBottomSheetCompact.tsx
+++ b/src/solana/WalletSignBottomSheetCompact.tsx
@@ -65,38 +65,40 @@ export const WalletSignBottomSheetCompact = ({
)
return (
-
+
{warning && (
-
+
{warning}
)}
{!(insufficientFunds || insufficientRentExempt) && (
- {header || t('transactions.signTxn')}
+
+ {header || t('transactions.signTxn')}
+
)}
{!(insufficientFunds || insufficientRentExempt) && message && (
-
+
{message}
)}
{(insufficientFunds || insufficientRentExempt) && (
-
+
{insufficientFunds
? t('browserScreen.insufficientFunds')
: t('browserScreen.insufficientRentExempt', {
@@ -106,17 +108,17 @@ export const WalletSignBottomSheetCompact = ({
)}
{renderer && renderer()}
-
+
- {t('browserScreen.totalNetworkFee')}
+ {t('browserScreen.totalNetworkFee')}
-
+
{`~${estimatedTotalSolByLamports} SOL`}
-
+
-
+
{t('transactions.simulateTxn')}
@@ -124,25 +126,25 @@ export const WalletSignBottomSheetCompact = ({
diff --git a/src/solana/WalletSignBottomSheetTransaction.tsx b/src/solana/WalletSignBottomSheetTransaction.tsx
index ea1189709..98f2c39a9 100644
--- a/src/solana/WalletSignBottomSheetTransaction.tsx
+++ b/src/solana/WalletSignBottomSheetTransaction.tsx
@@ -120,13 +120,13 @@ const WalletSignBottomSheetTransaction = ({
}, [transaction.writableAccounts, warningsByAccount, wallet])
return (
-
+
-
+
{uncollapsedAccounts.length + collapsedAccounts.length}
- {t('browserScreen.accounts')}
+ {t('browserScreen.accounts')}
{nonAccountWarnings.length > 0 ? (
-
-
+
+
-
+
{nonAccountWarnings.length === 1
? nonAccountWarnings[0].shortMessage
: `${nonAccountWarnings.length} Warnings`}
@@ -156,14 +156,14 @@ const WalletSignBottomSheetTransaction = ({
) : null}
- {transactionIdx + 1}
- {t('generic.of')}
- {totalTransactions}
+ {transactionIdx + 1}
+ {t('generic.of')}
+ {totalTransactions}
Linking.openURL(transaction.explorerLink)}
>
@@ -173,7 +173,7 @@ const WalletSignBottomSheetTransaction = ({
{!transaction.error &&
nonAccountWarnings.length > 0 &&
!errorsCollapsed ? (
-
+
{nonAccountWarnings.map((warning, idx) => (
{transaction.error ? (
) : (
{uncollapsedAccounts.map((writableAccount) => (
setExpanded(!expanded)}>
-
+
-
+
{collapsedAccounts.length} {t('browserScreen.accounts')}
@@ -262,7 +266,7 @@ const WalletSignBottomSheetTransaction = ({
-
+
@@ -286,9 +290,9 @@ const WalletSignBottomSheetTransaction = ({
>
) : null}
{transaction.possibleCNftChanges.slice(0, 10).map((asset) => (
-
+
-
+
{asset.content.metadata?.name || 'Unknown cNFT'}
diff --git a/src/solana/WarningBox.tsx b/src/solana/WarningBox.tsx
index dc04f6a05..75b7ce2b6 100644
--- a/src/solana/WarningBox.tsx
+++ b/src/solana/WarningBox.tsx
@@ -12,22 +12,22 @@ export const WarningBox = ({
}) => {
return (
-
+
-
+
{header}
-
+
{body}
diff --git a/src/solana/WritableAccountPreview.tsx b/src/solana/WritableAccountPreview.tsx
index c04ba4649..226e36092 100644
--- a/src/solana/WritableAccountPreview.tsx
+++ b/src/solana/WritableAccountPreview.tsx
@@ -104,7 +104,7 @@ export const WritableAccountPreview = ({
)
: diff(writableAccount.pre.account, writableAccount.post.account)
return (
-
+
{warnings.map((warning, idx) => (
-
+
{t('browserScreen.estimatedAccountChanges')}
-
+
{writableAccount.pre.account && !writableAccount.post.account && (
-
+
{t('browserScreen.accountDeleted')}
)}
{!writableAccount.pre.account && writableAccount.post.account && (
-
+
{t('browserScreen.accountCreated')}
)}
@@ -155,7 +155,7 @@ export const WritableAccountPreview = ({
justifyContent="flex-start"
overflow="hidden"
>
-
+
{d.field}
{d.preValue || 'null'}
-
+
{d.postValue || 'null'}
@@ -184,27 +184,27 @@ export const WritableAccountPreview = ({
-
+
{t('browserScreen.instructionsAndPrograms')}
-
+
{instructions.map(({ parsed, raw }, index) => (
-
+
{parsed?.name || t('generic.unknown')}
-
+
{shortenAddress(raw.programId.toBase58())} (
{parsed?.programName})
diff --git a/src/theme/theme.ts b/src/theme/theme.ts
index a440f487f..c8c36f6fb 100644
--- a/src/theme/theme.ts
+++ b/src/theme/theme.ts
@@ -1,425 +1,219 @@
import { createTheme } from '@shopify/restyle'
-export const Font = {
- italic: 'DMSans-Italic',
- regular: 'DMSans-Regular',
- mediumItalic: 'DMSans-MediumItalic',
- medium: 'DMSans-Medium',
- bold: 'DMSans-Bold',
- boldItalic: 'DMSans-BoldItalic',
+import darkThemeTokens from '@novalabsxyz/mobile-theme/build/dark-theme.json'
+import lightThemeTokens from '@novalabsxyz/mobile-theme/build/light-theme.json'
+
+const NovaFont = {
+ bold: 'Figtree',
+ boldItalic: 'Figtree',
+ italic: 'Figtree',
+ light: 'Figtree',
+ medium: 'Figtree',
+ mediumItalic: 'Figtree',
+ regular: 'Figtree',
+ semiBold: 'Figtree',
}
-const textVariants = {
- h0: {
- fontFamily: Font.regular,
- fontSize: 42,
- lineHeight: 44,
- color: 'primaryText',
- },
- h1: {
- fontFamily: Font.regular,
- fontSize: 37,
- color: 'primaryText',
- },
- h2: {
- fontFamily: Font.regular,
- fontSize: 33,
- color: 'primaryText',
- },
- h3: {
- fontFamily: Font.regular,
- fontSize: 27,
- color: 'primaryText',
- },
- h4: {
- fontFamily: Font.regular,
- fontSize: 22,
- color: 'primaryText',
- },
- subtitle1: {
- fontFamily: Font.medium,
- fontSize: 20,
- color: 'primaryText',
- },
- subtitle2: {
- fontFamily: Font.medium,
- fontSize: 19,
- color: 'primaryText',
- },
- subtitle3: {
- fontFamily: Font.medium,
- fontSize: 17,
- color: 'primaryText',
- },
- subtitle4: {
- fontFamily: Font.medium,
- fontSize: 14,
- color: 'primaryText',
- },
- body0: {
- fontFamily: Font.regular,
- fontSize: 21,
- color: 'primaryText',
- },
- body1: {
- fontFamily: Font.regular,
- fontSize: 16,
- color: 'primaryText',
- },
- body2: {
- fontFamily: Font.regular,
- fontSize: 14,
- color: 'primaryText',
- },
- body3: {
- fontFamily: Font.regular,
- fontSize: 12,
- color: 'primaryText',
- },
- body4: {
- fontFamily: Font.regular,
- fontSize: 8,
- color: 'primaryText',
- },
- regular: {
- fontFamily: Font.regular,
- },
- medium: {
- fontFamily: Font.medium,
- },
- bold: {
- fontFamily: Font.bold,
- },
+export const breakpoints = {
+ none: 0,
+ xs: 300,
+ sm: 400,
+ md: 640,
+ lg: 960,
+ xl: 1200,
+ xxl: 1440,
}
-/**
- * Use https://www.hexdictionary.com/ to determine color names, for example https://www.hexdictionary.com/color/d23e72.
- * https://elektrobild.org/tools/sort-colors can be used to sort colors.
- */
-
-const palette = {
- aquaMarine: '#69DBB3',
-
- black200: '#414141',
- black300: '#464646',
- black400: '#333333',
- black500: '#2B2B2B',
- black600: '#212121',
- black650: '#191919',
- black700: '#161616',
- black750: '#1A1A1A',
- black800: '#1A1C22',
- black850: '#131313',
- black900: '#0E0E0E',
- black900_9A: '#0000009A',
-
- black: '#000000',
-
- blue500: '#3B82F6',
- blue950: '#172554',
- blueBorder: 'rgba(59, 130, 246, 0.25)',
- hntBlue: '#2755F8',
- mobileDarkBlue: '#00273D',
- mobileBlue: '#009EF8',
- iotDarkGreen: '#053919',
- iotGreen: '#26ED75',
-
- green500: '#22C55E',
- green950: '#052E16',
- greenBorder: 'rgba(34, 197, 94, 0.25)',
-
- orange500: '#f97316',
- orange950: '#431407',
- orangeBorder: 'rgba(245, 115, 22, 0.25)',
-
- blueBright500: '#009FF9',
-
- blueRibbon: '#484CF6',
-
- caribbeanGreen: '#27DCB7',
-
- darkGrey: '#333333',
-
- electricViolet: '#DD0FFF',
-
- flamenco: '#FF800B',
-
- gold: '#FFD700',
-
- greenBright500: '#27EE76',
-
- grey50: '#B8B8B8',
- grey100: '#F7F7F7',
- grey200: '#EFEFF0',
- grey300: '#AEAEAE',
- grey350: '#828282',
- grey400: '#666666',
- grey500: '#747A92',
- grey600: '#999999',
- grey700: '#5A5E6C',
- grey800: '#54596F',
- grey900: '#2C2E37',
- lightGrey: '#E2E2E2',
- dividerGrey: '#2E2E2E',
-
- matchaGray900: '#2B2B2B',
-
- havelockBlue: '#0C93E5',
-
- jazzberryJam: '#D23E72',
-
- lividBrown: '#421B27',
-
- malachite: '#14D111',
-
- offWhite: '#F9FAFC',
-
- warning: '#FFE5C7',
-
- critical500: '#EF4444',
- critical950: '#450A0A',
- criticalBorder: 'rgba(239, 68, 68, 0.25)',
-
- persianRose: '#FF2DB7',
-
- purple500: '#B556FF',
-
- purpleHeart: '#3E42E5',
-
- red200: '#F59CA2',
-
- red300: '#F97570',
- red400: '#FF6666',
- red500: '#E43B70',
- red500Transparent10: '#E43B701A',
- matchaRed500: '#EF4444',
- matchaRed950: '#450A0A',
- redBorder: 'rgba(239, 68, 68, 0.25)',
-
- solanaGreen: '#14F195',
- solanaPurple: '#9945FF',
-
- transparent: '#00000000',
- transparent10: '#FFFFFF1A',
-
- turquoise: '#2BD7E2',
-
- white: '#FFFFFF',
- bottomSheetBg: '#191919',
-}
-
-export const lightThemeColors = {
- ...palette,
- primary: palette.white,
- secondary: palette.grey300,
- primaryBackground: palette.grey200,
- secondaryBackground: palette.black750,
- primaryText: palette.black700,
- primaryIcon: palette.black700,
- secondaryIcon: palette.black300,
- secondaryText: palette.grey400,
- error: palette.red500,
- surface: palette.white,
- surfaceText: palette.grey700,
- surfaceSecondary: palette.grey100,
- surfaceSecondaryText: palette.black500,
- surfaceContrast: palette.white,
- surfaceContrastText: palette.white,
- plainInputBackground: palette.grey200,
- regularInputBackground: palette.offWhite,
- highlight: palette.blueBright500,
- testnet: palette.red500,
- transparent: palette.transparent,
- bottomSheetBg: palette.bottomSheetBg,
-}
-
-export const darkThemeColors = {
- ...palette,
- primary: palette.black900,
- secondary: palette.black600,
- primaryBackground: palette.black,
- secondaryBackground: palette.black850,
- primaryText: palette.white,
- primaryIcon: palette.black600,
- secondaryIcon: palette.black300,
- secondaryText: palette.grey400,
- error: palette.red500,
- surface: palette.black200,
- surfaceText: palette.white,
- surfaceSecondary: palette.black650,
- surfaceSecondaryText: palette.grey300,
- surfaceContrast: palette.white,
- surfaceContrastText: palette.black900,
- plainInputBackground: palette.black200,
- regularInputBackground: palette.black750,
- highlight: palette.blueBright500,
- testnet: palette.red500,
- transparent: palette.transparent,
-}
-
-export const theme = createTheme({
- colors: lightThemeColors,
- spacing: {
- n_xxxxl: -240,
- n_xxxl: -60,
- n_xxl: -48,
- n_xl: -32,
- n_lx: -28,
- n_l: -24,
- n_lm: -20,
- n_m: -16,
- n_ms: -12,
- n_s: -8,
- n_xs: -4,
- n_xxs: -2,
- n_xxxs: -1,
- none: 0,
- xxxs: 1,
- xxs: 2,
- xs: 4,
- sx: 6,
- s: 8,
- ms: 12,
- m: 16,
- lm: 20,
- l: 24,
- lx: 28,
- xl: 32,
- xxl: 48,
- xxxl: 60,
- xxxxl: 240,
- },
- borderRadii: {
- none: 0,
- s: 4,
- ms: 6,
- m: 8,
- lm: 10,
- l: 12,
- lx: 16,
- xl: 20,
- xxl: 35,
- round: 1000,
- },
- breakpoints: {
- smallPhone: 0,
- phone: 380,
- largePhone: 430,
- tablet: 768,
- },
- cardVariants: {
- regular: {
- padding: 'ms',
- borderRadius: 'ms',
- backgroundColor: 'surface',
- },
- elevated: {
- shadowColor: 'surface',
- borderRadius: 'm',
- shadowOffset: {
- width: 0,
- height: 9,
- },
- shadowOpacity: 0.3,
- shadowRadius: 6,
- elevation: 9,
+export const baseTheme = {
+ borderRadii: lightThemeTokens.borderRadii,
+ breakpoints,
+ Font: NovaFont,
+ inputVariants: {
+ outline: {
+ color: 'primaryText',
+ fontSize: 18,
+ fontFamily: 'Figtree',
+ padding: '4',
+ borderRadius: '4xl',
},
- modal: {
- backgroundColor: 'surface',
- borderRadius: 'xl',
+ outlineSuccess: {
+ color: 'blue.500',
+ fontSize: 18,
+ fontFamily: 'Figtree',
+ padding: '4',
+ borderRadius: '4xl',
+ borderWidth: 1,
+ borderColor: 'blue.500',
},
- },
- textVariants: {
- ...textVariants,
-
- body0Medium: { ...textVariants.body0, ...textVariants.medium },
- body0Bold: { ...textVariants.body0, ...textVariants.bold },
-
- body1Medium: { ...textVariants.body1, ...textVariants.medium },
- body1Bold: { ...textVariants.body1, ...textVariants.bold },
-
- body2Medium: { ...textVariants.body2, ...textVariants.medium },
- body2Bold: { ...textVariants.body2, ...textVariants.bold },
-
- body3Medium: { ...textVariants.body3, ...textVariants.medium },
- body3Bold: { ...textVariants.body3, ...textVariants.bold },
-
- h1Medium: { ...textVariants.h1, ...textVariants.medium },
- h1Bold: { ...textVariants.h1, ...textVariants.bold },
-
- h2Medium: { ...textVariants.h2, ...textVariants.medium },
- h2Bold: { ...textVariants.h2, ...textVariants.bold },
-
- h3Medium: { ...textVariants.h3, ...textVariants.medium },
- h3Bold: { ...textVariants.h3, ...textVariants.bold },
-
- h4Medium: { ...textVariants.h4, ...textVariants.medium },
- h4Bold: { ...textVariants.h4, ...textVariants.bold },
- },
- inputVariants: {
plain: {
color: 'primaryText',
- fontSize: 19,
- paddingBottom: 'm',
- paddingTop: 'm',
- paddingHorizontal: 'xl',
- backgroundColor: 'plainInputBackground',
+ fontSize: 18,
+ fontFamily: 'Figtree',
+ padding: '4',
+ backgroundColor: 'inputBackground',
},
regular: {
color: 'primaryText',
- fontSize: 19,
- padding: 'm',
- backgroundColor: 'regularInputBackground',
- borderRadius: 'lm',
+ fontSize: 18,
+ fontFamily: 'Figtree',
+ padding: '4',
+ backgroundColor: 'inputBackground',
+ borderRadius: '4xl',
},
transparent: {
color: 'primaryText',
fontSize: 19,
- padding: 'm',
+ padding: '4',
backgroundColor: 'transparent',
- borderRadius: 'lm',
- },
- underline: {
- fontSize: textVariants.h1.fontSize,
- color: 'purple500',
- borderBottomColor: 'purple500',
- borderBottomWidth: 2,
- paddingBottom: 'xs',
+ borderRadius: '4xl',
},
thickBlur: {
- padding: 'm',
- borderRadius: 'xl',
+ padding: '4',
+ borderRadius: '4xl',
backgroundColor: 'transparent10',
},
thickDark: {
padding: 'm',
- borderRadius: 'xl',
- backgroundColor: 'surfaceSecondary',
+ borderRadius: '4xl',
+ backgroundColor: 'bg.tertiary',
},
transparentSmall: {
color: 'primaryText',
fontSize: 16,
- padding: 's',
- paddingHorizontal: 'm',
+ padding: '2',
+ paddingHorizontal: '4',
backgroundColor: 'transparent',
},
+ underline: {
+ fontSize: 36,
+ color: 'purple.500',
+ borderBottomColor: 'purple.500',
+ borderBottomWidth: 2,
+ paddingBottom: 'xs',
+ },
+ },
+ cardVariants: {
+ regular: {
+ padding: '4',
+ borderRadius: '4',
+ backgroundColor: 'cardBackground',
+ },
+ elevated: {
+ shadowColor: 'cardBackground',
+ borderRadius: '4',
+ shadowOffset: {
+ width: 0,
+ height: 9,
+ },
+ shadowOpacity: 0.3,
+ shadowRadius: 6,
+ elevation: 9,
+ },
+ modal: {
+ backgroundColor: 'cardBackground',
+ borderRadius: '4xl',
+ },
+ },
+ spacing: {
+ ...lightThemeTokens.spacing,
+ },
+ textVariants: {
+ ...lightThemeTokens.textVariants,
+ },
+}
+
+const lightColors = lightThemeTokens.colors
+const darkColors = darkThemeTokens.colors
+
+const allSpacing = {
+ ...baseTheme.spacing,
+ // TODO: Add thise spacings to the theme
+ '-24': -96,
+ '-8': -32,
+ '-7': -28,
+ '-0.25': -1,
+ '0.25': 1,
+ '0.5': 2,
+ '0.75': 3,
+ '1': 4,
+ '2.5': 10,
+ '6': 24,
+ '7': 28,
+ '11': 44,
+ '14': 56,
+ '15': 60,
+ '28': 112,
+}
+
+const lightTheme = createTheme({
+ ...baseTheme,
+ spacing: allSpacing,
+ colors: {
+ ...lightColors,
+
+ primaryBackground: lightColors['bg.primary'], // background.bg.primary
+ secondaryBackground: lightColors['bg.secondary'], // background.bg.secondary
+ cardBackground: lightColors['bg.tertiary'], // background.bg.primary // add border around all cards... secondary border
+ primaryText: lightColors['text.primary-900'], // text.primary.900 -> text.primary
+ secondaryText: lightColors['text.secondary-700'], // text.text.secondary.700 -> text.secondary
+ placeholderText: lightColors['text.placeholder'], // text.placeholder
+ // accentText: palette.silver, // text.tertiary, //probably remove
+ inputBackground: lightColors['bg.primary'], // background.bg.primary // add border around all inputs... primary border
+ activeBackground: lightColors['bg.active'], // background.bg.active
+ inactiveIcon: lightColors['fg.disabled'], // foreground.fg.disabled
+ transparent10: '#ffffff1A',
+ transparent: '#00000000',
+ hntBlue: '#2755F8',
+ mobileDarkBlue: '#00273D',
+ mobileBlue: '#009EF8',
+ iotDarkGreen: '#053919',
+ iotGreen: '#26ED75',
+ solanaPurple: '#9945FF',
},
})
-export type Theme = typeof theme
+const darkTheme = createTheme({
+ ...baseTheme,
+ spacing: allSpacing,
+ colors: {
+ ...darkColors,
+
+ primaryBackground: darkColors['bg.primary'], // background.bg.primary
+ secondaryBackground: darkColors['bg.secondary'], // background.bg.secondary
+ cardBackground: darkColors['bg.tertiary'], // background.bg.primary // add border around all cards... secondary border
+ primaryText: darkColors['text.primary-900'], // text.primary.900 -> text.primary
+ secondaryText: darkColors['text.secondary-700'], // text.text.secondary.700 -> text.secondary
+ placeholderText: darkColors['text.placeholder'], // text.placeholder
+ // accentText: palette.silver, // text.tertiary, //probably remove
+ inputBackground: darkColors['bg.primary'], // background.bg.primary // add border around all inputs... primary border
+ activeBackground: darkColors['bg.active'], // background.bg.active
+ inactiveIcon: darkColors['fg.disabled'], // foreground.fg.disabled
+ transparent10: '#ffffff1A',
+ transparent: '#00000000',
+ },
+})
+
+export type Theme = typeof lightTheme
export type TextVariant = keyof Theme['textVariants']
+export type TextInputVariant = keyof Theme['inputVariants']
export type Spacing = keyof Theme['spacing']
export type Color = keyof Theme['colors']
export type BorderRadii = keyof Theme['borderRadii']
export type FontWeight =
- | '500'
- | 'bold'
- | 'normal'
| '100'
| '200'
| '300'
| '400'
+ | '500'
| '600'
| '700'
| '800'
| '900'
+ | 'normal'
+ | 'bold'
+
+export { lightColors, darkColors }
+
+export { NovaFont as Font }
+
+export { lightTheme, darkTheme }
diff --git a/src/theme/themeHooks.ts b/src/theme/themeHooks.ts
index b17ee4d03..ad41624bc 100644
--- a/src/theme/themeHooks.ts
+++ b/src/theme/themeHooks.ts
@@ -138,9 +138,9 @@ export const useBreakpoints = () => {
const { breakpoints } = useTheme()
const width = ww
return {
- smallPhone: breakpoints.phone > width,
- largePhone: breakpoints.largePhone <= width,
- phone: breakpoints.phone <= width,
+ smallPhone: breakpoints.sm > width,
+ largePhone: breakpoints.md <= width,
+ phone: breakpoints.sm <= width,
}
}
diff --git a/src/utils/parseMarkup.tsx b/src/utils/parseMarkup.tsx
index 540b21957..c30560895 100644
--- a/src/utils/parseMarkup.tsx
+++ b/src/utils/parseMarkup.tsx
@@ -15,18 +15,18 @@ import Bullet from '@components/Bullet'
import * as Logger from './logger'
const symbols: Record = {
- b: ,
- light: ,
- blue: ,
- green: ,
- purple: ,
- red: ,
- orange: ,
- gray: ,
- center: ,
+ b: ,
+ light: ,
+ blue: ,
+ green: ,
+ purple: ,
+ red: ,
+ orange: ,
+ gray: ,
+ center: ,
a: ,
bullet: ,
- default: ,
+ default: ,
}
const parseMarkup = (
diff --git a/yarn.lock b/yarn.lock
index 699dbfcd0..1bf844c5c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4078,6 +4078,13 @@ __metadata:
languageName: node
linkType: hard
+"@novalabsxyz/mobile-theme@npm:^2.0.0-y.24":
+ version: 2.0.0-y.24
+ resolution: "@novalabsxyz/mobile-theme@npm:2.0.0-y.24"
+ checksum: 26e21dfb68557d8413403c596f2ee1f9e62238306b06f199897e9828ebaf9e49a8b0b37bb94344fd67847db3a1eb3ed08ae1cde64281245168d81f4cdcea17ff
+ languageName: node
+ linkType: hard
+
"@npmcli/agent@npm:^2.0.0":
version: 2.2.2
resolution: "@npmcli/agent@npm:2.2.2"
@@ -12374,6 +12381,7 @@ __metadata:
"@maplibre/maplibre-react-native": ^9.1.0
"@metaplex-foundation/mpl-bubblegum": 0.6.0
"@metaplex-foundation/mpl-token-metadata": 2.10.0
+ "@novalabsxyz/mobile-theme": ^2.0.0-y.24
"@onsol/tldparser": ^0.5.3
"@react-native-async-storage/async-storage": 1.18.1
"@react-native-community/blur": 4.3.0