diff --git a/src/pages/Expense/ExpensePage.jsx b/src/pages/Expense/ExpensePage.jsx
index f65e21ad..fadfdf79 100644
--- a/src/pages/Expense/ExpensePage.jsx
+++ b/src/pages/Expense/ExpensePage.jsx
@@ -41,64 +41,6 @@ import {
import { useFab } from "../../Context/FabContext";
import ExpenseFilterPanel from "../../components/Expenses/ExpenseFilterPanel";
-const SelectDropdown = ({
- label,
- options = [],
- loading = false,
- placeholder = "Select...",
- valueKey = "id",
- labelKey = "name",
- selectedValues = [],
- onChange,
- isMulti = false,
-}) => {
- const handleChange = (e) => {
- const selected = Array.from(
- e.target.selectedOptions,
- (option) => option.value
- );
- onChange && onChange(selected);
- };
-
- return (
-
-
-
- {options.map((option) => {
- const checked = selectedValues.includes(option[valueKey]);
- return (
-
- {
- let newSelected;
- if (checked) {
- newSelected = selectedValues.filter(
- (val) => val !== option[valueKey]
- );
- } else {
- newSelected = [...selectedValues, option[valueKey]];
- }
- onChange(newSelected);
- }}
- />
-
-
- );
- })}
-
-
- );
-};
-
export const ExpenseContext = createContext();
export const useExpenseContext = () => {
const context = useContext(ExpenseContext);
@@ -112,8 +54,6 @@ const ExpensePage = () => {
const [isOpen, setIsOpen] = useState(false);
const [filters, setFilter] = useState();
const IsCreatedAble = useHasUserPermission(CREATE_EXEPENSE);
- const dropdownRef = useRef(null);
- const shouldCloseOnOutsideClick = useRef(false);
const selectedProjectId = useSelector(
(store) => store.localVariables.projectId
);
@@ -160,6 +100,7 @@ const ExpensePage = () => {
selectedProjectId,
true
);
+ const { setOffcanvasContent, setShowTrigger } = useFab();
const onSubmit = (data) => {
setFilter(data);
@@ -182,29 +123,6 @@ const ExpensePage = () => {
);
};
- const toggleDropdown = () => {
- setIsOpen((prev) => {
- shouldCloseOnOutsideClick.current = !prev;
- return !prev;
- });
- };
-
- useEffect(() => {
- function handleClickOutside(event) {
- if (
- shouldCloseOnOutsideClick.current &&
- dropdownRef.current &&
- dropdownRef.current.contains(event.target)
- ) {
- setIsOpen(false);
- }
- }
-
- document.addEventListener("mousedown", handleClickOutside);
- return () => {
- document.removeEventListener("mousedown", handleClickOutside);
- };
- }, []);
const clearFilter = () => {
setFilter({
projectIds: [],
@@ -217,22 +135,19 @@ const ExpensePage = () => {
reset();
};
- const { setOffcanvasContent, setShowTrigger } = useFab();
- useEffect(() => {
- setShowTrigger(true);
+ useEffect(() => {
+ setShowTrigger(true);
setOffcanvasContent(
"Expense Filters",
- setFilter(data)}
- />
+ setFilter(data)} />
);
- return () => {
- setOffcanvasContent("", null);
- setShowTrigger(false);
- };
+ return () => {
+ setOffcanvasContent("", null);
+ setShowTrigger(false);
+ };
}, []);
-
+
return (
@@ -247,142 +162,7 @@ const ExpensePage = () => {
-
-
-
setIsOpen((v) => !v)}
- >
- {isOpen && (
-
- )}
-
-
+
{IsCreatedAble && (