From 5599d926b2ec4f0d41e43f0d025bb471528faedd Mon Sep 17 00:00:00 2001 From: CyferShepard Date: Sun, 15 Dec 2024 16:52:40 +0200 Subject: [PATCH] fix for filtering stream type not working on emby type --- src/pages/activity.jsx | 8 ++++-- .../components/item-info/item-activity.jsx | 25 +++++++++++++++-- .../components/library/library-activity.jsx | 24 ++++++++++++++-- .../components/user-info/user-activity.jsx | 28 +++++++++++++++++-- 4 files changed, 73 insertions(+), 12 deletions(-) diff --git a/src/pages/activity.jsx b/src/pages/activity.jsx index 646b4b1..6f86fd9 100644 --- a/src/pages/activity.jsx +++ b/src/pages/activity.jsx @@ -157,7 +157,9 @@ function Activity() { filteredData = filteredData.filter( (item) => (libraryFilters.includes(item.ParentId) || item.ParentId == null) && - (streamTypeFilter == "All" ? true : item.PlayMethod === streamTypeFilter) + (streamTypeFilter == "All" + ? true + : item.PlayMethod === (config.settings?.IS_JELLYFIN ? streamTypeFilter : streamTypeFilter.replace("Play", "Stream"))) ); return ( @@ -183,7 +185,7 @@ function Activity() { -
+
@@ -211,7 +213,7 @@ function Activity() {
-
+
diff --git a/src/pages/components/item-info/item-activity.jsx b/src/pages/components/item-info/item-activity.jsx index ca3968a..5132320 100644 --- a/src/pages/components/item-info/item-activity.jsx +++ b/src/pages/components/item-info/item-activity.jsx @@ -4,6 +4,7 @@ import ActivityTable from "../activity/activity-table"; import { Trans } from "react-i18next"; import { FormControl, FormSelect } from "react-bootstrap"; import i18next from "i18next"; +import Config from "../../../lib/config.jsx"; function ItemActivity(props) { const [data, setData] = useState(); @@ -11,8 +12,22 @@ function ItemActivity(props) { const [itemCount, setItemCount] = useState(10); const [searchQuery, setSearchQuery] = useState(""); const [streamTypeFilter, setStreamTypeFilter] = useState("All"); + const [config, setConfig] = useState(); useEffect(() => { + const fetchConfig = async () => { + try { + const newConfig = await Config.getConfig(); + setConfig(newConfig); + } catch (error) { + console.log(error); + } + }; + + if (!config) { + fetchConfig(); + } + const fetchData = async () => { try { const itemData = await axios.post( @@ -56,7 +71,11 @@ function ItemActivity(props) { ); } - filteredData = filteredData.filter((item) => (streamTypeFilter == "All" ? true : item.PlayMethod === streamTypeFilter)); + filteredData = filteredData.filter((item) => + streamTypeFilter == "All" + ? true + : item.PlayMethod === (config.settings?.IS_JELLYFIN ? streamTypeFilter : streamTypeFilter.replace("Play", "Stream")) + ); return (
@@ -65,7 +84,7 @@ function ItemActivity(props) { -
+
@@ -89,7 +108,7 @@ function ItemActivity(props) {
-
+
diff --git a/src/pages/components/library/library-activity.jsx b/src/pages/components/library/library-activity.jsx index 175f5b2..a9e9e81 100644 --- a/src/pages/components/library/library-activity.jsx +++ b/src/pages/components/library/library-activity.jsx @@ -5,6 +5,7 @@ import ActivityTable from "../activity/activity-table"; import { Trans } from "react-i18next"; import { FormControl, FormSelect } from "react-bootstrap"; import i18next from "i18next"; +import Config from "../../../lib/config.jsx"; function LibraryActivity(props) { const [data, setData] = useState(); @@ -14,6 +15,7 @@ function LibraryActivity(props) { const [streamTypeFilter, setStreamTypeFilter] = useState( localStorage.getItem("PREF_LIBRARY_ACTIVITY_StreamTypeFilter") ?? "All" ); + const [config, setConfig] = useState(); function setItemLimit(limit) { setItemCount(limit); @@ -26,6 +28,18 @@ function LibraryActivity(props) { } useEffect(() => { + const fetchConfig = async () => { + try { + const newConfig = await Config.getConfig(); + setConfig(newConfig); + } catch (error) { + console.log(error); + } + }; + + if (!config) { + fetchConfig(); + } const fetchData = async () => { try { const libraryrData = await axios.post( @@ -68,7 +82,11 @@ function LibraryActivity(props) { ); } - filteredData = filteredData.filter((item) => (streamTypeFilter == "All" ? true : item.PlayMethod === streamTypeFilter)); + filteredData = filteredData.filter((item) => + streamTypeFilter == "All" + ? true + : item.PlayMethod === (config.settings?.IS_JELLYFIN ? streamTypeFilter : streamTypeFilter.replace("Play", "Stream")) + ); return (
@@ -78,7 +96,7 @@ function LibraryActivity(props) {
-
+
@@ -101,7 +119,7 @@ function LibraryActivity(props) {
-
+
diff --git a/src/pages/components/user-info/user-activity.jsx b/src/pages/components/user-info/user-activity.jsx index 1c2a886..0b2d1d2 100644 --- a/src/pages/components/user-info/user-activity.jsx +++ b/src/pages/components/user-info/user-activity.jsx @@ -8,6 +8,7 @@ import "../../css/radius_breakpoint_css.css"; import "../../css/users/user-activity.css"; import i18next from "i18next"; import LibraryFilterModal from "../library/library-filter-modal"; +import Config from "../../../lib/config.jsx"; function UserActivity(props) { const [data, setData] = useState(); @@ -18,6 +19,25 @@ function UserActivity(props) { const [libraryFilters, setLibraryFilters] = useState([]); const [libraries, setLibraries] = useState([]); const [showLibraryFilters, setShowLibraryFilters] = useState(false); + const [config, setConfig] = useState(); + + useEffect(() => { + const fetchConfig = async () => { + try { + const newConfig = await Config.getConfig(); + setConfig(newConfig); + } catch (error) { + console.log(error); + } + }; + + if (!config) { + fetchConfig(); + } + + const intervalId = setInterval(config, 60000 * 5); + return () => clearInterval(intervalId); + }, [config]); const handleLibraryFilter = (selectedOptions) => { setLibraryFilters(selectedOptions); @@ -101,7 +121,9 @@ function UserActivity(props) { filteredData = filteredData.filter( (item) => (libraryFilters.includes(item.ParentId) || item.ParentId == null) && - (streamTypeFilter == "All" ? true : item.PlayMethod === streamTypeFilter) + (streamTypeFilter == "All" + ? true + : item.PlayMethod === (config.settings?.IS_JELLYFIN ? streamTypeFilter : streamTypeFilter.replace("Play", "Stream"))) ); return (
@@ -126,7 +148,7 @@ function UserActivity(props) { -
+
@@ -154,7 +176,7 @@ function UserActivity(props) {
-
+