All files / src/components/DonationList/Table DonationsFilterBar.tsx

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90                                                2x 3x   3x                                                                                                                            
// mui
import Stack from "@mui/material/Stack";
import {
  FilterWithSwitch,
  FilterWithDate,
  FilterWithOption,
  FilterWithAmount,
  ClearFiltersButton,
} from "@common/Filter";
// redux
import { selectFilters } from "@redux/slices/transactions";
import { useAppSelector } from "@redux/hooks";
import {
  addFilter,
  removeFilter,
  // disableFilter,
  addDateFilter,
  disableDateFilter,
  addAmountFilter,
  disableAmountFilter,
  clearFilters,
} from "@redux/slices/transactions";
import { selectQueryFilters } from "@redux/slices/transactions";
 
export const DonationsFilterBar = () => {
  const filters = useAppSelector(selectFilters);
 
  return (
    <Stack pt={3} pb={2} direction="row" flexWrap="wrap">
      <FilterWithDate
        title="date"
        options={[
          { value: "in the last", label: "in the last" },
          { value: "is between", label: "is between" },
          { value: "is on or before", label: "is on or before" },
          { value: "is on or after", label: "is on or after" },
        ]}
        filters={filters}
        apply={addDateFilter}
        disable={disableDateFilter}
      />
      {/* <FilterWithAmount
        title="amount"
        options={[
          { value: "is between", label: "is between" },
          {
            value: "is equal to or greater than",
            label: "is equal to or greater than",
          },
          {
            value: "is equal to or less than",
            label: "is equal to or less than",
          },
        ]}
        filters={filters}
        apply={addAmountFilter}
        disable={disableAmountFilter}
      />
      <FilterWithOption
        title="recurrence"
        options={[
          { value: "recurring & one-time", label: "Recurring & One-time" },
          { value: "all recurring", label: "All Recurring" },
          { value: "one-time", label: "One-time" },
          { value: "daily", label: "Daily" },
          { value: "monthly", label: "Monthly" },
          { value: "quarterly", label: "Quarterly" },
          { value: "yearly", label: "Yearly" },
        ]}
        apply={addFilter}
        disable={disableFilter}
      />
      <FilterWithSwitch
        title="source"
        options={{
          Website: false,
          "Mobile App": false,
          API: false,
        }}
        filters={filters}
        apply={addFilter}
        remove={removeFilter}
        disable={disableFilter}
      /> */}
 
      <ClearFiltersButton clear={clearFilters} selector={selectQueryFilters} />
    </Stack>
  );
};