From 2cf9af6f71b9147feaeafeb5476d94941ef5e818 Mon Sep 17 00:00:00 2001 From: Der_Googler <54764558+DerGoogler@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:11:23 +0100 Subject: [PATCH] Allowed filters for cretain pages, added two new filter --- .../activitys/fragments/ModuleFragment.tsx | 30 +++++++++++-------- Website/src/hooks/useModulesFilter.tsx | 22 ++++++++++++++ 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/Website/src/activitys/fragments/ModuleFragment.tsx b/Website/src/activitys/fragments/ModuleFragment.tsx index 9c89c7f6..677bd57d 100644 --- a/Website/src/activitys/fragments/ModuleFragment.tsx +++ b/Website/src/activitys/fragments/ModuleFragment.tsx @@ -131,18 +131,24 @@ const ModuleFragment = React.memo((props) => { setAnchorEl(null); }} > - {filters.map((fil) => ( - { - setFilter(fil.value); - setAnchorEl(null); - }} - disableRipple - > - - {fil.name} - - ))} + {filters.map((fil) => { + if (fil.allowedIds.includes(props.id)) { + return ( + { + setFilter(fil.value); + setAnchorEl(null); + }} + disableRipple + > + + {fil.name} + + ); + } else { + return null; + } + })} diff --git a/Website/src/hooks/useModulesFilter.tsx b/Website/src/hooks/useModulesFilter.tsx index bc697189..c692b52a 100644 --- a/Website/src/hooks/useModulesFilter.tsx +++ b/Website/src/hooks/useModulesFilter.tsx @@ -11,6 +11,8 @@ import ListItemButton from "@mui/material/ListItemButton"; import ListItemText from "@mui/material/ListItemText"; import Dialog from "@mui/material/Dialog"; import DialogTitle from "@mui/material/DialogTitle"; +import StarIcon from "@mui/icons-material/Star"; +import StarBorderIcon from "@mui/icons-material/StarBorder"; import React from "react"; export const filters = [ @@ -18,26 +20,43 @@ export const filters = [ name: "No filter", icon: UpdateDisabledIcon, value: "none", + allowedIds: ["explore", "local"], }, { name: "By date (newest)", icon: CalendarMonthIcon, value: "date_newest", + allowedIds: ["explore"], }, { name: "By date (oldest)", icon: CalendarMonthIcon, value: "date_oldest", + allowedIds: ["explore"], }, { name: "Alphabetically", icon: AbcIcon, value: "alphabetically", + allowedIds: ["explore", "local"], }, { name: "Alphabetically (reverse)", icon: AbcIcon, value: "alphabetically_reverse", + allowedIds: ["explore", "local"], + }, + { + name: "Most stars", + icon: StarIcon, + value: "most_stars", + allowedIds: ["explore"], + }, + { + name: "Least stars", + icon: StarBorderIcon, + value: "least_stars", + allowedIds: ["explore"], }, ]; @@ -51,6 +70,8 @@ export const useModuleFilter = (key: string): [Array, string, SetValue, string, SetValue void;