diff --git a/.changeset/fair-falcons-wonder.md b/.changeset/fair-falcons-wonder.md
new file mode 100644
index 000000000..fdbd3cd53
--- /dev/null
+++ b/.changeset/fair-falcons-wonder.md
@@ -0,0 +1,5 @@
+---
+'mexit': patch
+---
+
+Add Filter in Events and Highlights in Context Sidebar of Extension
diff --git a/apps/extension/src/Components/Sidebar/ContextInfoBar.tsx b/apps/extension/src/Components/Sidebar/ContextInfoBar.tsx
index 7ce5dd021..281a1f11f 100644
--- a/apps/extension/src/Components/Sidebar/ContextInfoBar.tsx
+++ b/apps/extension/src/Components/Sidebar/ContextInfoBar.tsx
@@ -2,7 +2,16 @@ import React, { useEffect, useMemo, useState } from 'react'
import { formatDistanceToNow } from 'date-fns'
-import { API_BASE_URLS, DrawerType, useCalendarStore, useHighlightStore, useLayoutStore } from '@mexit/core'
+import {
+ API_BASE_URLS,
+ CalendarEventFilterType,
+ DrawerType,
+ getMenuItem,
+ MenuListItemType,
+ useCalendarStore,
+ useHighlightStore,
+ useLayoutStore
+} from '@mexit/core'
import {
CenteredFlex,
DefaultMIcons,
@@ -12,16 +21,17 @@ import {
Group,
IconDisplay,
List,
+ Select,
SidebarListFilter,
SnippetCards,
SpaceBetweenHorizontalFlex,
StyledButton,
- Toggle,
useCalendar,
useInterval
} from '@mexit/shared'
import { useSaveChanges } from '../../Hooks/useSaveChanges'
+import { getElementById } from '../../Utils/cs-utils'
import { GenericCard } from './GenericCard'
import { HighlightGroups } from './HighlightGroup'
@@ -78,7 +88,9 @@ const CalendarEvent = ({ event }) => {
}
const openMeetLink = (url?: string) => {
- window.open(url ?? event.links.meet, '_blank')
+ const webLink = url ?? event.links.meet ?? event.links.event
+
+ window.open(webLink, '_blank')
}
return (
@@ -91,7 +103,7 @@ const CalendarEvent = ({ event }) => {
-
+ openMeetLink()} />
) : (
@@ -107,6 +119,7 @@ const UpcomingEvents = () => {
const [isFetching, setIsFetching] = useState(false)
const { getUpcomingEvents, getCalenderEvents, getCalendarAuth } = useCalendar()
+ const [calendarEventFilter, setCalendarEventFilter] = useState('Upcoming')
const calendarEvents = useCalendarStore((state) => state.events)
const calendarToken = useCalendarStore((store) => store.tokens['GOOGLE_CAL'])
@@ -141,18 +154,34 @@ const UpcomingEvents = () => {
useInterval(fetchEvents, 30 * 60 * 1000)
const upcomingEvents = useMemo(() => {
- return getUpcomingEvents()
- }, [calendarEvents])
+ return getUpcomingEvents(calendarEventFilter)
+ }, [calendarEvents, calendarEventFilter])
const hasUpcomingEvents = upcomingEvents?.length > 0
+ const onClick = (event: MenuListItemType) => {
+ setCalendarEventFilter(event.label as CalendarEventFilterType)
+ }
+
return (
-
+
+ }
+ >
{calendarToken && hasUpcomingEvents ? (
{upcomingEvents.map((event) => {
- const desc = event.description ? `: ${event.description}` : ''
-
return
})}
@@ -198,7 +227,15 @@ const Highlights = () => {
scrollable
label="Captures"
icon={DefaultMIcons.HIGHLIGHT}
- rightComponent={}
+ rightComponent={
+