import Button from "@components/Button"; import Input from "@components/Input"; import TransactionInformationsItem from "@components/TransactionInformationsItem"; import BackgroundWithBeasyIconAndWhiteContentArea from "@components/backgrounds/BackgroundWithBeasyIconAndWhiteContentArea"; import Box from "@components/bases/Box"; import Text from "@components/bases/Text"; import useTransactionsHistory, { type OperatorsFilter } from "@hooks/useTransactionsHistory"; import { LOG } from "@logger"; import theme from "@themes/Theme"; import { useCallback, useState } from "react"; import { RefreshControl, ScrollView, Switch } from "react-native"; import Icon from "react-native-vector-icons/Ionicons"; const log = LOG.extend("TransactionHistoryScreen"); const TransactionHistoryScreen = () => { log.verbose("TransactionHistoryScreen"); const [showFiltersModal, setShowFiltersModal] = useState(false); const { transactionsHistory: data, isLoading, error, refetch, setReferenceFilter, operatorsFilter, setOperatorsFilter, } = useTransactionsHistory(); return ( <> {showFiltersModal && ( )} {/* */} setShowFiltersModal(true)} /> } contentContainerStyle={{ gap: 10, padding: 10, // marginTop: 10, paddingBottom: 30, flexDirection: "column", }} showsVerticalScrollIndicator={false} > {data?.map((transaction) => ( ))} ); }; export default TransactionHistoryScreen; interface FiltersModalProps { setShowFiltersModal: React.Dispatch>; // biome-ignore lint/style/useNamingConvention: operatorsFilter: OperatorsFilter; // biome-ignore lint/style/useNamingConvention: setOperatorsFilter: React.Dispatch>; } const FiltersModal: React.FC = ({ setShowFiltersModal, operatorsFilter, setOperatorsFilter, }) => { const [filterOm, setFilterOm] = useState(operatorsFilter.OM); const [filterMtn, setFilterMtn] = useState(operatorsFilter.MTN); const [filterFlooz, setFilterFlooz] = useState(operatorsFilter.FLOOZ); const [filterWave, setFilterWave] = useState(operatorsFilter.WAVE); const [filterCb, setFilterCb] = useState(operatorsFilter.CB); const saveOperatorsFilters = useCallback(() => { setOperatorsFilter({ // biome-ignore lint/style/useNamingConvention: OM: filterOm, // biome-ignore lint/style/useNamingConvention: MTN: filterMtn, // biome-ignore lint/style/useNamingConvention: FLOOZ: filterFlooz, // biome-ignore lint/style/useNamingConvention: WAVE: filterWave, // biome-ignore lint/style/useNamingConvention: CB: filterCb, }); }, [filterOm, filterMtn, filterFlooz, filterWave, filterCb, setOperatorsFilter]); const saveFilters = useCallback(() => { saveOperatorsFilters(); setShowFiltersModal(false); }, [saveOperatorsFilters, setShowFiltersModal]); return ( <> {/* Overlay */} {/* Content */} Paramétrage filtre setShowFiltersModal(false)} /> Opérateurs Orange Money MTN Money Flooz Money Wave Carte Bancaire