diff --git a/surfsense_web/components/chat/ChatInputGroup.tsx b/surfsense_web/components/chat/ChatInputGroup.tsx index 2995a30b8..7a76c4d56 100644 --- a/surfsense_web/components/chat/ChatInputGroup.tsx +++ b/surfsense_web/components/chat/ChatInputGroup.tsx @@ -1,8 +1,8 @@ "use client"; import { ChatInput } from "@llamaindex/chat-ui"; -import { Brain, Check, FolderOpen, Minus, Plus, Zap } from "lucide-react"; -import { useParams } from "next/navigation"; +import { Brain, Check, FolderOpen, Minus, Plus, PlusCircle, Zap } from "lucide-react"; +import { useParams, useRouter } from "next/navigation"; import React, { Suspense, useCallback, useState } from "react"; import { DocumentsDataTable } from "@/components/chat/DocumentsDataTable"; import { Badge } from "@/components/ui/badge"; @@ -115,6 +115,7 @@ const ConnectorSelector = React.memo( selectedConnectors?: string[]; }) => { const { search_space_id } = useParams(); + const router = useRouter(); const [isOpen, setIsOpen] = useState(false); // Fetch immediately (not lazy) so the button can show the correct count @@ -247,9 +248,19 @@ const ConnectorSelector = React.memo(

No sources found

-

+

Add documents or configure search connectors for this search space

+ ) : ( <> diff --git a/surfsense_web/components/onboard/completion-step.tsx b/surfsense_web/components/onboard/completion-step.tsx index 68aa77568..a8dbbd76c 100644 --- a/surfsense_web/components/onboard/completion-step.tsx +++ b/surfsense_web/components/onboard/completion-step.tsx @@ -8,6 +8,8 @@ import { FileText, MessageSquare, Sparkles, + UserPlus, + Users, Zap, } from "lucide-react"; import { motion } from "motion/react"; @@ -50,16 +52,60 @@ export function CompletionStep({ searchSpaceId }: CompletionStepProps) {

Choose an option to continue

-
+
+ {/* Manage Team Card */} + + +
+ +
+ +
+ Manage Team + + Invite team members and collaborate on your search space + +
+ +
+
+ + Invite team members +
+
+ + Assign roles & permissions +
+
+ + Collaborate together +
+
+ +
+ + + {/* Add Sources Card */} - - -
+ +
+ +
Add Sources @@ -67,27 +113,27 @@ export function CompletionStep({ searchSpaceId }: CompletionStepProps) { Connect your data sources to start building your knowledge base
- +
- + Connect documents and files
- + Import from various sources
- + Build your knowledge base
@@ -95,13 +141,14 @@ export function CompletionStep({ searchSpaceId }: CompletionStepProps) { {/* Start Chatting Card */} - - -
+ +
+ +
Start Chatting @@ -109,27 +156,27 @@ export function CompletionStep({ searchSpaceId }: CompletionStepProps) { Jump right into the AI researcher and start asking questions
- +
- + AI-powered conversations
- + Research and explore topics
- + Get instant insights
diff --git a/surfsense_web/components/pricing/pricing-section.tsx b/surfsense_web/components/pricing/pricing-section.tsx index 1223d0934..9823245f6 100644 --- a/surfsense_web/components/pricing/pricing-section.tsx +++ b/surfsense_web/components/pricing/pricing-section.tsx @@ -16,7 +16,8 @@ const demoPlans = [ "Podcasts support with local TTS providers.", "Connects with 15+ external sources.", "Cross-Browser Extension for dynamic webpages including authenticated content", - "Upcoming: Mergeable MindMaps", + "Role-based access permissions", + "Collaboration and multiplayer features", "Upcoming: Note Management", ], description: "Open source version with powerful features", @@ -32,9 +33,10 @@ const demoPlans = [ features: [ "Everything in Community", "Priority Support", - "Role-based access permissions", - "Collaboration and multiplayer features", "Advanced security features", + "Audit logs and compliance", + "SSO, OIDC & SAML", + "SLA guarantee", ], description: "For large organizations with specific needs", buttonText: "Contact Sales", diff --git a/surfsense_web/components/settings/llm-role-manager.tsx b/surfsense_web/components/settings/llm-role-manager.tsx index e1166bda5..06b56b24f 100644 --- a/surfsense_web/components/settings/llm-role-manager.tsx +++ b/surfsense_web/components/settings/llm-role-manager.tsx @@ -413,19 +413,6 @@ export function LLMRoleManager({ searchSpaceId }: LLMRoleManagerProps) {
-
-
- Use cases: {role.examples} -
-
- {role.characteristics.map((char, idx) => ( - - {char} - - ))} -
-
-