diff --git a/surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx index 8afe07b..244bc7d 100644 --- a/surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx +++ b/surfsense_web/app/dashboard/[search_space_id]/connectors/(manage)/page.tsx @@ -40,6 +40,7 @@ import { TableRow, } from "@/components/ui/table"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; +import { EnumConnectorName } from "@/contracts/enums/connector"; import { useSearchSourceConnectors } from "@/hooks/useSearchSourceConnectors"; import { cn } from "@/lib/utils"; @@ -61,6 +62,7 @@ export default function ConnectorsPage() { const router = useRouter(); const params = useParams(); const searchSpaceId = params.search_space_id as string; + const today = new Date(); const { connectors, isLoading, error, deleteConnector, indexConnector } = useSearchSourceConnectors(); @@ -139,6 +141,28 @@ export default function ConnectorsPage() { } }; + const getDisabledEndDates = (date: Date) => { + const connector = connectors.find((c) => c.id === selectedConnectorForIndexing); + + switch (connector?.connector_type) { + case EnumConnectorName.GOOGLE_CALENDAR_CONNECTOR: + return startDate ? date < startDate : false; + default: + return date > today || (startDate ? date < startDate : false); + } + }; + + const getDisabledStartDates = (date: Date) => { + const connector = connectors.find((c) => c.id === selectedConnectorForIndexing); + + switch (connector?.connector_type) { + case EnumConnectorName.GOOGLE_CALENDAR_CONNECTOR: + return endDate ? date > endDate : false; + default: + return date > today || (endDate ? date > endDate : false); + } + }; + return (
date > new Date() || (endDate ? date > endDate : false)} + disabled={getDisabledStartDates} initialFocus /> @@ -369,9 +393,7 @@ export default function ConnectorsPage() { mode="single" selected={endDate} onSelect={setEndDate} - disabled={(date) => - date > new Date() || (startDate ? date < startDate : false) - } + disabled={getDisabledEndDates} initialFocus /> @@ -393,7 +415,6 @@ export default function ConnectorsPage() { variant="outline" size="sm" onClick={() => { - const today = new Date(); const thirtyDaysAgo = new Date(today); thirtyDaysAgo.setDate(today.getDate() - 30); setStartDate(thirtyDaysAgo); @@ -406,7 +427,6 @@ export default function ConnectorsPage() { variant="outline" size="sm" onClick={() => { - const today = new Date(); const yearAgo = new Date(today); yearAgo.setFullYear(today.getFullYear() - 1); setStartDate(yearAgo); diff --git a/surfsense_web/lib/connectors/utils.ts b/surfsense_web/lib/connectors/utils.ts index 848c903..e01d31e 100644 --- a/surfsense_web/lib/connectors/utils.ts +++ b/surfsense_web/lib/connectors/utils.ts @@ -10,6 +10,10 @@ export const getConnectorTypeDisplay = (type: string): string => { JIRA_CONNECTOR: "Jira", DISCORD_CONNECTOR: "Discord", LINKUP_API: "Linkup", + CONFLUENCE_CONNECTOR: "Confluence", + CLICKUP_CONNECTOR: "ClickUp", + GOOGLE_CALENDAR_CONNECTOR: "Google Calendar", + GOOGLE_GMAIL_CONNECTOR: "Google Gmail", }; return typeMap[type] || type; };