diff --git a/frontend/src/main-page/grants/GrantPage.tsx b/frontend/src/main-page/grants/GrantPage.tsx
index 4ba371d..149cac6 100644
--- a/frontend/src/main-page/grants/GrantPage.tsx
+++ b/frontend/src/main-page/grants/GrantPage.tsx
@@ -3,6 +3,7 @@ import GrantSearch from "./filter-bar/GrantSearch.tsx";
import NewGrantModal from "./new-grant/NewGrantModal.tsx";
import { useEffect, useState } from "react";
import { Grant } from "../../../../middle-layer/types/Grant.ts";
+import FilterBar from "./filter-bar/FilterBar.tsx";
import GrantItem from "./grant-view/GrantView.tsx";
import { useAuthContext } from "../../context/auth/authContext";
import {
@@ -114,7 +115,9 @@ function GrantPage({}: GrantPageProps) {
-
diff --git a/frontend/src/main-page/grants/filter-bar/FilterBar.tsx b/frontend/src/main-page/grants/filter-bar/FilterBar.tsx
index 729f6f2..8b54f0d 100644
--- a/frontend/src/main-page/grants/filter-bar/FilterBar.tsx
+++ b/frontend/src/main-page/grants/filter-bar/FilterBar.tsx
@@ -1,5 +1,5 @@
import React, { useState } from "react";
-import { Link } from "react-router-dom";
+//import { Link } from "react-router-dom";
import {
Status,
stringToStatus,
@@ -8,8 +8,9 @@ import {
updateFilter,
} from "../../../external/bcanSatchel/actions.ts";
import { observer } from "mobx-react-lite";
-import CalendarDropdown from "./CalendarDropdown.tsx";
-import { FaChevronRight } from "react-icons/fa";
+//import CalendarDropdown from "./CalendarDropdown.tsx";
+//import { FaChevronRight } from "react-icons/fa";
+import StatusDropdown from "./StatusDropdown";
interface FilterBarProps {
name: string;
@@ -44,40 +45,24 @@ const FilterBar: React.FC = observer(() => {
}
return (
-
-
-
-
{"Filter by Status"}
-
- {linkList.map((item, index) => (
- -
- categoryClicked(e, item.name, item.linkTo)}
- to={item.linkTo ? item.linkTo : "#"}
- >
-
-
-
- ))}
-
-
-
+
+
+
+
+
+
+
+
);
});
diff --git a/frontend/src/main-page/grants/filter-bar/StatusDropdown.tsx b/frontend/src/main-page/grants/filter-bar/StatusDropdown.tsx
new file mode 100644
index 0000000..d5c467f
--- /dev/null
+++ b/frontend/src/main-page/grants/filter-bar/StatusDropdown.tsx
@@ -0,0 +1,72 @@
+
+import React, { useState } from "react";
+import {
+ Status,
+ getColorStatus,
+} from "../../../../../middle-layer/types/Status.ts";
+import { updateFilter } from "../../../external/bcanSatchel/actions.ts";
+import { observer } from "mobx-react-lite";
+
+const StatusDropdown: React.FC = observer(() => {
+ const [isOpen, setIsOpen] = useState(false);
+ const [selected, setSelected] = useState(null);
+
+ const statuses = [
+ Status.Active,
+ Status.Pending,
+ Status.Potential,
+ Status.Rejected,
+ Status.Inactive,
+ ];
+
+ function handleSelect(status: Status) {
+ const newSelected = selected === status ? null : status;
+ setSelected(newSelected);
+ updateFilter(newSelected);
+ }
+
+
+ return (
+
+
+
+ {isOpen && (
+
+
+
+ {statuses.map((status) => (
+
handleSelect(status)}
+ >
+ handleSelect(status)}
+ className="cursor-pointer w-4 h-4 flex-shrink-0"
+ />
+
+ {status}
+
+
+ ))}
+
+
+ )}
+
+ );
+});
+
+export default StatusDropdown;
\ No newline at end of file