diff --git a/frontend/pages/index.js b/frontend/pages/index.js index f7c87572..c567c6df 100644 --- a/frontend/pages/index.js +++ b/frontend/pages/index.js @@ -123,7 +123,6 @@ const Homepage = () => { }, [isInit, router]); useLayoutEffect(() => { - console.log("rerender check"); const imageLoader720 = new Image(); imageLoader720.src = `${AWS_PATH}/background720.png`; imageLoader720.onload = () => { diff --git a/frontend/src/components/EntriesNavigation.js b/frontend/src/components/EntriesNavigation.js index 4f6658b1..90277207 100644 --- a/frontend/src/components/EntriesNavigation.js +++ b/frontend/src/components/EntriesNavigation.js @@ -31,6 +31,7 @@ import { TagLabel, TagCloseButton, Spacer, + useBoolean, } from "@chakra-ui/react"; import { useSubscriptions } from "../core/hooks"; import StreamEntry from "./StreamEntry"; @@ -38,6 +39,7 @@ import UIContext from "../core/providers/UIProvider/context"; import { FaFilter } from "react-icons/fa"; import useStream from "../core/hooks/useStream"; import { ImCancelCircle } from "react-icons/im"; +import { IoStopCircleOutline, IoPlayCircleOutline } from "react-icons/io5"; const pageSize = 25; const FILTER_TYPES = { @@ -61,6 +63,7 @@ const CONDITION = { const EntriesNavigation = () => { const ui = useContext(UIContext); + const [isStreamOn, setStreamState] = useBoolean(true); const { isOpen, onOpen, onClose } = useDisclosure(); const { subscriptionsCache } = useSubscriptions(); const [newFilterState, setNewFilterState] = useState([ @@ -80,7 +83,7 @@ const EntriesNavigation = () => { pageSize, refreshRate: 1500, searchQuery: ui.searchTerm, - enabled: true, + enabled: isStreamOn, isContent: false, }); @@ -358,8 +361,22 @@ const EntriesNavigation = () => { - + + + setStreamState.toggle()} + icon={ + isStreamOn ? ( + + ) : ( + + ) + } + colorScheme={isStreamOn ? "unsafe" : "suggested"} + /> + {filterState.map((filter, idx) => { if (filter.type === FILTER_TYPES.DISABLED) return ""; return (