From 4b343f20a4ff819c357e8ddd8a8de88ddaf85aba Mon Sep 17 00:00:00 2001 From: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Date: Sat, 21 Jan 2023 17:15:59 +0000 Subject: [PATCH] Update booking filters design (#6543) * Update booking filters * Add filter on YOUR bookings * Fix pending members showing up in list --- apps/web/public/static/locales/en/common.json | 1 + .../bookings/components/PeopleFilter.tsx | 10 +++-- .../bookings/components/TeamFilter.tsx | 40 ++++++++++++++++--- packages/trpc/server/routers/viewer/teams.tsx | 1 + .../ui/components/popover/AnimatedPopover.tsx | 8 ++-- 5 files changed, 47 insertions(+), 13 deletions(-) diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 0f8cd729e3..7586f9f14f 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1465,6 +1465,7 @@ "individual":"Individual", "all_bookings_filter_label":"All Bookings", "all_users_filter_label":"All Users", + "your_bookings_filter_label":"Your Bookings", "meeting_url_variable": "Meeting url", "meeting_url_info": "The event meeting conference url", "date_overrides": "Date overrides", diff --git a/packages/features/bookings/components/PeopleFilter.tsx b/packages/features/bookings/components/PeopleFilter.tsx index 4077856670..f0c24cc804 100644 --- a/packages/features/bookings/components/PeopleFilter.tsx +++ b/packages/features/bookings/components/PeopleFilter.tsx @@ -17,9 +17,9 @@ export const PeopleFilter = () => { return ( 0 ? `${userNames.join(", ")}` : t("all_users_filter_label")}> -
+
- +
{data && data.map((user) => ( -
+
{ /> diff --git a/packages/features/bookings/components/TeamFilter.tsx b/packages/features/bookings/components/TeamFilter.tsx index 0875c3cf15..232058b32a 100644 --- a/packages/features/bookings/components/TeamFilter.tsx +++ b/packages/features/bookings/components/TeamFilter.tsx @@ -1,3 +1,5 @@ +import { useSession } from "next-auth/react"; + import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import { AnimatedPopover, Avatar, Icon } from "@calcom/ui"; @@ -6,6 +8,7 @@ import { useFilterQuery } from "../lib/useFilterQuery"; export const TeamsMemberFilter = () => { const { t } = useLocale(); + const session = useSession(); const { data: query, pushItemToKey, removeItemByKeyAndValue, removeByKey } = useFilterQuery(); const { data } = trpc.viewer.teams.list.useQuery(); @@ -17,9 +20,9 @@ export const TeamsMemberFilter = () => { return ( 0 ? `${teamNames.join(", ")}` : t("all_bookings_filter_label")}> -
+
- +
+
+
+ +
+ + + { + if (e.target.checked) { + pushItemToKey("userIds", session.data?.user.id || 0); + } else if (!e.target.checked) { + removeItemByKeyAndValue("userIds", session.data?.user.id || 0); + } + }} + className="text-primary-600 focus:ring-primary-500 inline-flex h-4 w-4 place-self-center justify-self-end rounded border-gray-300 " + /> +
{data && data.map((team) => ( -
+
{ /> diff --git a/packages/trpc/server/routers/viewer/teams.tsx b/packages/trpc/server/routers/viewer/teams.tsx index 30033a1f5f..a08a19ed92 100644 --- a/packages/trpc/server/routers/viewer/teams.tsx +++ b/packages/trpc/server/routers/viewer/teams.tsx @@ -661,6 +661,7 @@ export const viewerTeamsRouter = router({ user: { id: ctx.user.id, }, + accepted: true, }, }, }, diff --git a/packages/ui/components/popover/AnimatedPopover.tsx b/packages/ui/components/popover/AnimatedPopover.tsx index 0d5f4762d0..04f92f2318 100644 --- a/packages/ui/components/popover/AnimatedPopover.tsx +++ b/packages/ui/components/popover/AnimatedPopover.tsx @@ -42,9 +42,9 @@ export const AnimatedPopover = ({
+ className="item-center mb-2 flex h-9 max-h-72 justify-between overflow-y-scroll whitespace-nowrap rounded-md border border-gray-300 + py-2 px-3 text-sm placeholder:text-gray-400 + hover:cursor-pointer hover:border-gray-400 focus:border-neutral-300 focus:outline-none focus:ring-2 focus:ring-neutral-800 focus:ring-offset-1">
{text} @@ -61,7 +61,7 @@ export const AnimatedPopover = ({
{children}