From c2ed3ad98559e3ac22ccc2a66bc3dc1b789629ae Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Mon, 22 Apr 2024 21:56:15 +0300 Subject: [PATCH] Toggle to show only sendou ink events on the calendar page --- app/features/calendar/routes/calendar.tsx | 34 ++++++++++++++++++----- app/styles/calendar.css | 4 --- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/app/features/calendar/routes/calendar.tsx b/app/features/calendar/routes/calendar.tsx index 815e5b1e1..8d60c04ae 100644 --- a/app/features/calendar/routes/calendar.tsx +++ b/app/features/calendar/routes/calendar.tsx @@ -45,6 +45,8 @@ import * as CalendarRepository from "../CalendarRepository.server"; import { canAddNewEvent } from "../calendar-utils"; import { Tags } from "../components/Tags"; import { Image } from "~/components/Image"; +import { Toggle } from "~/components/Toggle"; +import { Label } from "~/components/Label"; import "~/styles/calendar.css"; @@ -159,27 +161,45 @@ export default function CalendarPage() { const data = useLoaderData(); const user = useUser(); const isMounted = useIsMounted(); + const [onlySendouInkEvents, setOnlySendouInkEvents] = React.useState(false); + + const filteredEvents = onlySendouInkEvents + ? data.events.filter((event) => event.tournamentId) + : data.events; // we don't know which events are starting in user's time zone on server // so that's why this calculation is not in the loader const thisWeeksEvents = isMounted - ? data.events.filter( + ? filteredEvents.filter( (event) => dateToWeekNumber(databaseTimestampToDate(event.startTime)) === data.displayedWeek, ) - : data.events; + : filteredEvents; return (
- {user && canAddNewEvent(user) && ( - - {t("addNew")} - - )} +
+
+ + +
+ {user && canAddNewEvent(user) && ( + + {t("addNew")} + + )} +
{isMounted ? ( <> {thisWeeksEvents.length > 0 ? ( diff --git a/app/styles/calendar.css b/app/styles/calendar.css index e0a7d470b..18a56fb4b 100644 --- a/app/styles/calendar.css +++ b/app/styles/calendar.css @@ -2,10 +2,6 @@ height: 48rem; } -.calendar__add-new-button { - margin-inline: auto var(--s-8); -} - .calendar__weeks { display: flex; align-items: center;