From da3f99b071f77ce9b0821752048b6a6ade3e75f9 Mon Sep 17 00:00:00 2001 From: Mahesh Sanikommmu Date: Sun, 24 Aug 2025 23:02:20 -0700 Subject: [PATCH] added connections as well to integrations view --- apps/web/components/menu.tsx | 30 +- apps/web/components/views/integrations.tsx | 325 +++++++++++++++++++++ apps/web/public/images/ios-shortcuts.png | Bin 0 -> 34394 bytes packages/lib/constants.ts | 11 +- 4 files changed, 359 insertions(+), 7 deletions(-) create mode 100644 apps/web/components/views/integrations.tsx create mode 100644 apps/web/public/images/ios-shortcuts.png diff --git a/apps/web/components/menu.tsx b/apps/web/components/menu.tsx index 9b9abd81..95ade05e 100644 --- a/apps/web/components/menu.tsx +++ b/apps/web/components/menu.tsx @@ -9,7 +9,7 @@ import { Button } from "@repo/ui/components/button"; import { HeadingH2Bold } from "@repo/ui/text/heading/heading-h2-bold"; import { GlassMenuEffect } from "@ui/other/glass-effect"; import { useCustomer } from "autumn-js/react"; -import { MessageSquareMore, Plus, User, X } from "lucide-react"; +import { MessageSquareMore, Plus, Puzzle, User, X } from "lucide-react"; import { AnimatePresence, LayoutGroup, motion } from "motion/react"; import { useEffect, useState } from "react"; import { Drawer } from "vaul"; @@ -19,6 +19,7 @@ import { useChatOpen } from "@/stores"; import { ProjectSelector } from "./project-selector"; import { useTour } from "./tour"; import { AddMemoryExpandedView, AddMemoryView } from "./views/add-memory"; +import { IntegrationsView } from "./views/integrations"; import { MCPView } from "./views/mcp"; import { ProfileView } from "./views/profile"; @@ -41,7 +42,7 @@ const MCPIcon = ({ className }: { className?: string }) => { function Menu({ id }: { id?: string }) { const [isHovered, setIsHovered] = useState(false); const [expandedView, setExpandedView] = useState< - "addUrl" | "mcp" | "projects" | "profile" | null + "addUrl" | "mcp" | "projects" | "profile" | "integrations" | null >(null); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isCollapsing, setIsCollapsing] = useState(false); @@ -52,12 +53,12 @@ function Menu({ id }: { id?: string }) { const autumn = useCustomer(); const { setIsOpen } = useChatOpen(); - const { data: memoriesCheck } = fetchMemoriesFeature(autumn as any); + const { data: memoriesCheck } = fetchMemoriesFeature(autumn); const memoriesUsed = memoriesCheck?.usage ?? 0; const memoriesLimit = memoriesCheck?.included_usage ?? 0; - const { data: proCheck } = fetchConsumerProProduct(autumn as any); + const { data: proCheck } = fetchConsumerProProduct(autumn); useEffect(() => { if (memoriesCheck) { @@ -79,6 +80,7 @@ function Menu({ id }: { id?: string }) { addUrl: TOUR_STEP_IDS.MENU_ADD_MEMORY, projects: TOUR_STEP_IDS.MENU_PROJECTS, mcp: TOUR_STEP_IDS.MENU_MCP, + integrations: "", // No tour ID for integrations yet }; const menuItems = [ @@ -94,6 +96,12 @@ function Menu({ id }: { id?: string }) { key: "chat" as const, disabled: false, }, + { + icon: Puzzle, + text: "Integrations", + key: "integrations" as const, + disabled: false, + }, { icon: MCPIcon, text: "MCP", @@ -109,7 +117,7 @@ function Menu({ id }: { id?: string }) { ]; const handleMenuItemClick = ( - key: "chat" | "addUrl" | "mcp" | "projects" | "profile", + key: "chat" | "addUrl" | "mcp" | "projects" | "profile" | "integrations", ) => { if (key === "chat") { setIsOpen(true); @@ -365,6 +373,7 @@ function Menu({ id }: { id?: string }) { {expandedView === "mcp" && "Model Context Protocol"} {expandedView === "profile" && "Profile"} + {expandedView === "integrations" && "Integrations"} {expandedView === "mcp" && } {expandedView === "profile" && } + {expandedView === "integrations" && ( + + )} )} @@ -530,7 +542,8 @@ function Menu({ id }: { id?: string }) { handleMenuItemClick(item.key); if ( item.key !== "mcp" && - item.key !== "profile" + item.key !== "profile" && + item.key !== "integrations" ) { setIsMobileMenuOpen(false); } @@ -590,6 +603,8 @@ function Menu({ id }: { id?: string }) { {expandedView === "mcp" && "Model Context Protocol"} {expandedView === "profile" && "Profile"} + {expandedView === "integrations" && + "Integrations"} + + + + + + {/* Chrome Extension */} +
+
+
+
+ +
+
+
+

+ Chrome Extension +

+
+ Coming Soon +
+
+

+ Save web content with one click +

+
+
+
+
+ +
+

+ More integrations are coming soon! Have a suggestion? Share it with us + on{" "} + + X + + . +

+
+ + {/* API Key Modal */} + + + + + + Setup{" "} + {selectedShortcutType === "add" + ? "Add Memory" + : selectedShortcutType === "search" + ? "Search Memory" + : "iOS"}{" "} + Shortcut + + + +
+ {/* API Key Section */} +
+ +
+ + +
+
+ + {/* Steps */} +
+

+ Follow these steps: +

+
+
+
+ 1 +
+

+ Click "Add to Shortcuts" below to open the shortcut +

+
+
+
+ 2 +
+

+ Paste your API key when prompted +

+
+
+
+ 3 +
+

+ Start using your shortcut! +

+
+
+
+ +
+ +
+
+
+
+
+ + ); +} diff --git a/apps/web/public/images/ios-shortcuts.png b/apps/web/public/images/ios-shortcuts.png new file mode 100644 index 0000000000000000000000000000000000000000..044fb683857ffd18d3659a2eb47241a6c7235762 GIT binary patch literal 34394 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