diff --git a/frontend-admin/src/api/api_admin.ts b/frontend-admin/src/api/api_admin.ts index 1a48c128..be34d436 100644 --- a/frontend-admin/src/api/api_admin.ts +++ b/frontend-admin/src/api/api_admin.ts @@ -756,6 +756,7 @@ export interface AppSettings { delivery_schedule: DeliverySchedule; postal_zones: PostalZone[]; crypto_payment_enabled: boolean; + crypto_only: boolean; nowpayments_api_key: string; nowpayments_ipn_secret: string; nowpayments_currencies: string[]; diff --git a/frontend-admin/src/screens/admin/SettingsScreen.tsx b/frontend-admin/src/screens/admin/SettingsScreen.tsx index 34344d11..3f8e0791 100644 --- a/frontend-admin/src/screens/admin/SettingsScreen.tsx +++ b/frontend-admin/src/screens/admin/SettingsScreen.tsx @@ -655,6 +655,7 @@ export default function SettingsScreen() { delivery_schedule: DEFAULT_DELIVERY_SCHEDULE, postal_zones: DEFAULT_POSTAL_ZONES, crypto_payment_enabled: false, + crypto_only: false, nowpayments_api_key: "", nowpayments_ipn_secret: "", nowpayments_currencies: [], @@ -1175,6 +1176,29 @@ export default function SettingsScreen() { /> + {/* Toggle crypto uniquement */} + + + + Crypto uniquement + + Désactive le paiement en espèces — seule la crypto est acceptée. + + + + setSettings((prev) => ({ ...prev, crypto_only: v })) + } + trackColor={{ false: colors.border, true: "#f7931a" }} + thumbColor="#fff" + /> + + + {/* Config NowPayments */} ([]); const [stats, setStats] = useState(null); const [penalties, setPenalties] = useState(null); - const [appSettings, setAppSettings] = useState({ penalties_enabled: true, show_amende_score: true, points_enabled: true, points_separated: true, referral_enabled: false, pool_names: ['Pool 1', 'Pool 2'], crypto_payment_enabled: false, nowpayments_currencies: [] }); + const [appSettings, setAppSettings] = useState({ penalties_enabled: true, show_amende_score: true, points_enabled: true, points_separated: true, referral_enabled: false, pool_names: ['Pool 1', 'Pool 2'], crypto_payment_enabled: false, nowpayments_currencies: [], crypto_only: false }); const [referralBalance, setReferralBalance] = useState(0); const [loading, setLoading] = useState(true); const [refreshing, setRefreshing] = useState(false);