From: Daniel Karbach Date: Fri, 11 Jul 2025 12:04:47 +0000 (+0200) Subject: minor ux X-Git-Url: http://git.localhorst.tv/?a=commitdiff_plain;h=9c1b93c0e93c20cdbacf4d37afa5ea0ec72f3720;p=alttp.git minor ux --- diff --git a/resources/js/helpers/Episode.js b/resources/js/helpers/Episode.js index cdbbf45..ca4e001 100644 --- a/resources/js/helpers/Episode.js +++ b/resources/js/helpers/Episode.js @@ -58,6 +58,13 @@ export const isActive = episode => { return start.isBefore(now) && end.isAfter(now); }; +export const isFilterActive = (filter) => { + if (!filter) return false; + if (filter.event && filter.event.length) return true; + if (filter.game && filter.game.length) return true; + return false; +}; + export const isEventSelected = (filter, event) => { const found = (filter.event || []).includes(event.id); return filter.eventInvert ? !found : found; diff --git a/resources/js/pages/Schedule.jsx b/resources/js/pages/Schedule.jsx index fe963e4..b688fe8 100644 --- a/resources/js/pages/Schedule.jsx +++ b/resources/js/pages/Schedule.jsx @@ -13,6 +13,7 @@ import ApplyDialog from '../components/episodes/ApplyDialog'; import Filter from '../components/episodes/Filter'; import List from '../components/episodes/List'; import RestreamDialog from '../components/episodes/RestreamDialog'; +import { isFilterActive } from '../helpers/Episode'; import { useUser } from '../hooks/user'; const GAMES = [ @@ -255,7 +256,7 @@ export const Component = () => { const filterButtonVariant = React.useMemo(() => { const outline = showFilter ? '' : 'outline-'; - const filterActive = filter && filter.event && filter.event.length; + const filterActive = isFilterActive(filter); return `${outline}${filterActive ? 'info' : 'secondary'}`; }, [filter, showFilter]); @@ -274,6 +275,7 @@ export const Component = () => { variant={filterButtonVariant} > + {` ${t('button.filter')}`} @@ -294,7 +296,7 @@ export const Component = () => { onEditRestream={onEditRestream} /> : - + {t('episodes.empty')} }