Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
690a256
Feat: External services amount pills
Gamboster Oct 3, 2025
2d7d9d6
Feat: External services wallet selector
Gamboster Oct 3, 2025
fbf7dcd
Feat: External services offer selector
Gamboster Oct 3, 2025
3c72693
Feat: External services getErrorMessage
Gamboster Oct 3, 2025
183d468
Ref: virtual keyboard for buy and sell
Gamboster Oct 3, 2025
85f2cc8
Feat: new Buy and Sell component root
Gamboster Oct 3, 2025
c01d903
Feat: ExternalServicesGroup and route
Gamboster Oct 3, 2025
fb29ddd
Ref: external services icons and constants updates
Gamboster Oct 3, 2025
0b98b18
Feat: External Services offer selector modal
Gamboster Oct 3, 2025
fb2ded9
Fix: types, logs and getAccountName
Gamboster Oct 3, 2025
c1336fe
Ref: Payment Method modal
Gamboster Oct 3, 2025
d30d5a9
Ref: new buy crypto terms component
Gamboster Oct 3, 2025
5dabed3
Feat: use new route for buy in linking btn and charts
Gamboster Oct 3, 2025
af50016
Feat: save last payment method used
Gamboster Oct 9, 2025
2088e72
use the new route for buy - fix deeplinks
Gamboster Oct 9, 2025
a50f117
Feat: max button in amount pills
Gamboster Oct 27, 2025
5e0b6a4
Feat: adapt wallet selector to sell
Gamboster Oct 27, 2025
5b19c4d
Feat: adapt offer selector to sell
Gamboster Oct 27, 2025
cf1593b
Feat: sell feature in buyAndSellRoot
Gamboster Oct 27, 2025
11accae
Feat: sell updates for routes, reducer and UI
Gamboster Oct 27, 2025
7bf3bbb
Fix: ramp sell request data
Gamboster Oct 27, 2025
18097c1
Fix: selected sell offer undefined if no amountReceiving
Gamboster Oct 29, 2025
d03efdb
Remove deprecated code from buy and sell
Gamboster Oct 29, 2025
b405f79
Fix: use context for onGoingProcess and tokenData
Gamboster Nov 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions assets/img/swap-currencies.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 6 additions & 12 deletions src/Root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,9 @@ import SecurityGroup, {
SecurityGroupParamList,
} from './navigation/tabs/settings/security/SecurityGroup';
import AuthGroup, {AuthGroupParamList} from './navigation/auth/AuthGroup';
import BuyCryptoGroup, {
BuyCryptoGroupParamList,
} from './navigation/services/buy-crypto/BuyCryptoGroup';
import SellCryptoGroup, {
SellCryptoGroupParamList,
} from './navigation/services/sell-crypto/SellCryptoGroup';
import ExternalServicesGroup, {
ExternalServicesGroupParamList,
} from './navigation/services/ExternalServicesGroup';
import SwapCryptoGroup, {
SwapCryptoGroupParamList,
} from './navigation/services/swap-crypto/SwapCryptoGroup';
Expand Down Expand Up @@ -174,8 +171,7 @@ export type RootStackParamList = {
BitpayIdGroupParamList &
ScanGroupParamList &
CoinbaseGroupParamList &
BuyCryptoGroupParamList &
SellCryptoGroupParamList &
ExternalServicesGroupParamList &
SwapCryptoGroupParamList &
CardActivationGroupParamList &
OnboardingGroupParamList &
Expand Down Expand Up @@ -216,8 +212,7 @@ export type NavScreenParams = NavigatorScreenParams<
ExternalServicesSettingsGroupParamList &
AboutGroupParamList &
CoinbaseGroupParamList &
BuyCryptoGroupParamList &
SellCryptoGroupParamList &
ExternalServicesGroupParamList &
SwapCryptoGroupParamList &
ScanGroupParamList &
WalletConnectGroupParamList &
Expand Down Expand Up @@ -1011,8 +1006,7 @@ export default () => {
})}
{AboutGroup({About: Root, theme})}
{CoinbaseGroup({Coinbase: Root, theme})}
{BuyCryptoGroup({BuyCrypto: Root, theme})}
{SellCryptoGroup({SellCrypto: Root, theme})}
{ExternalServicesGroup({ExternalServices: Root, theme})}
{SwapCryptoGroup({SwapCrypto: Root, theme})}
{WalletConnectGroup({WalletConnect: Root, theme})}
{ZenLedgerGroup({ZenLedger: Root, theme})}
Expand Down
13 changes: 9 additions & 4 deletions src/components/amount/Amount.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import {getBuyCryptoFiatLimits} from '../../store/buy-crypto/buy-crypto.effects'
import KeyEvent from 'react-native-keyevent';
import ArchaxFooter from '../archax/archax-footer';
import {View} from 'react-native';
import {AltCurrenciesRowProps} from '../list/AltCurrenciesRow';

const AmountContainer = styled.SafeAreaView`
flex: 1;
Expand Down Expand Up @@ -118,12 +119,14 @@ export interface LimitsOpts {
};
}

export type AmountContext = 'buyCrypto' | 'sellCrypto' | 'swapCrypto';

export interface AmountProps {
cryptoCurrencyAbbreviation?: string;
fiatCurrencyAbbreviation?: string;
tokenAddress?: string;
chain?: string;
context?: string;
context?: AmountContext;
reduceTopGap?: boolean;
buttonState?: ButtonState;
limitsOpts?: LimitsOpts;
Expand Down Expand Up @@ -154,13 +157,15 @@ const Amount: React.FC<AmountProps> = ({
const dispatch = useAppDispatch();
const {t} = useTranslation();
const logger = useLogger();
const defaultAltCurrency = useAppSelector(({APP}) => APP.defaultAltCurrency);
const defaultAltCurrency: AltCurrenciesRowProps = useAppSelector(
({APP}) => APP.defaultAltCurrency,
);
const allRates = useAppSelector(({RATE}) => RATE.rates);
const curValRef = useRef('');
const showArchaxBanner = useAppSelector(({APP}) => APP.showArchaxBanner);
const _isSmallScreen = showArchaxBanner ? true : isNarrowHeight;

const fiatCurrency = useMemo(() => {
const fiatCurrency = useMemo<string>(() => {
if (fiatCurrencyAbbreviation) {
return fiatCurrencyAbbreviation;
}
Expand Down Expand Up @@ -351,7 +356,7 @@ const Amount: React.FC<AmountProps> = ({
limitsOpts?.maxWalletAmount,
]);

const getWarnMsg = useMemo<JSX.Element>(() => {
const getWarnMsg = useMemo<React.ReactNode>(() => {
let msg: string | undefined;
if (+amount > 0) {
if (limits.min && +amount < limits.min) {
Expand Down
18 changes: 10 additions & 8 deletions src/components/amount/AmountModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,17 @@ type AmountModalProps = AmountProps & {
onSendMaxPressed?: () => any;
};

const AmountModalContainerHOC = gestureHandlerRootHOC(props => {
return (
<StyledAmountModalContainer platform={Platform.OS}>
{props.children}
</StyledAmountModalContainer>
);
});
const AmountModalContainerHOC = gestureHandlerRootHOC(
(props: React.PropsWithChildren) => {
return (
<StyledAmountModalContainer platform={Platform.OS}>
{props.children}
</StyledAmountModalContainer>
);
},
);

const AmountModal: React.VFC<AmountModalProps> = props => {
const AmountModal: React.FC<AmountModalProps> = props => {
const {
onClose,
onSendMaxPressed,
Expand Down
2 changes: 1 addition & 1 deletion src/components/icons/external-services/ramp/ramp-logo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const RampLogoSvg: React.FC<{
height: number;
}> = ({isDark, iconOnly, width, height}) => {
return iconOnly ? (
<Svg width={width} height={height} viewBox={'0 0 708.66 708.66'}>
<Svg width={width} height={height} viewBox={'50 50 608.66 608.66'}>
<G>
<Path
id="ramp-path-icon1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const TransakLogoSvg: React.FC<{
<Svg
width={width}
height={height}
viewBox={iconOnly ? '180 325 570 450' : '269 325 1347 430'}>
viewBox={iconOnly ? '240 300 500 450' : '269 325 1347 430'}>
<Defs>
<LinearGradient
id="linear-gradient"
Expand Down
Loading