diff --git a/packages/espressocash_app/lib/features/ramp/widgets/ramp_buttons.dart b/packages/espressocash_app/lib/features/ramp/widgets/ramp_buttons.dart index 56dc4c6eed..81a6fbebba 100644 --- a/packages/espressocash_app/lib/features/ramp/widgets/ramp_buttons.dart +++ b/packages/espressocash_app/lib/features/ramp/widgets/ramp_buttons.dart @@ -226,28 +226,56 @@ extension on BuildContext { typedef PartnerOptions = ({RampPartner top, IList other}); -IList _getOnRampPartners(String countryCode) => countryCode == 'US' - ? const IListConst([RampPartner.kado, RampPartner.rampNetwork]) - : _eeaCountries.contains(countryCode) - ? const IListConst([RampPartner.guardarian, RampPartner.rampNetwork]) - : countryCode == 'NG' - ? const IListConst([RampPartner.scalex, RampPartner.rampNetwork]) - : const IListConst([RampPartner.rampNetwork]); +IList _getOnRampPartners(String countryCode) { + final partners = {}; + + if (_kadoCountries.contains(countryCode)) { + partners.add(RampPartner.kado); + } + + if (_guardarianCountries.contains(countryCode)) { + partners.add(RampPartner.guardarian); + } + + if (_scalexCountries.contains(countryCode)) { + partners.add(RampPartner.scalex); + } + + partners.add(RampPartner.rampNetwork); + + return IList(partners); +} IList _getOffRampPartners(String countryCode) { if (!sl().isOffRampEnabled) { return const IListConst([]); } - return countryCode == 'US' - ? const IListConst([RampPartner.coinflow]) - : countryCode == 'NG' - ? const IListConst([RampPartner.scalex]) - : const IListConst([]); + final partners = {}; + + if (_coinflowCountries.contains(countryCode)) { + partners.add(RampPartner.coinflow); + } + + if (_scalexCountries.contains(countryCode)) { + partners.add(RampPartner.scalex); + } + + return IList(partners); } -const _eeaCountries = { +const _kadoCountries = {'US'}; + +const _guardarianCountries = { 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', // 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'IS', 'LI', 'NO', 'CH', }; + +const _coinflowCountries = { + 'AD', 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', // + 'GR', 'HU', 'IS', 'IE', 'IT', 'LV', 'LI', 'LT', 'LU', 'MT', 'MC', 'NL', 'NO', + 'PL', 'PT', 'RO', 'SM', 'SK', 'SI', 'ES', 'SE', 'CH', 'US', +}; + +const _scalexCountries = {'NG'};