diff --git a/packages/web/src/app/[domain]/components/homepage/askSourcebotDemoCards.tsx b/packages/web/src/app/[domain]/components/homepage/askSourcebotDemoCards.tsx
index e8bb264c..743a1fc6 100644
--- a/packages/web/src/app/[domain]/components/homepage/askSourcebotDemoCards.tsx
+++ b/packages/web/src/app/[domain]/components/homepage/askSourcebotDemoCards.tsx
@@ -1,32 +1,25 @@
'use client';
+import { useState } from "react";
import Image from "next/image";
-import { Search, LibraryBigIcon, Code, Layers } from "lucide-react";
+import { Search, LibraryBigIcon, Code, Info } from "lucide-react";
import { Badge } from "@/components/ui/badge";
import { Card } from "@/components/ui/card";
import { CardContent } from "@/components/ui/card";
-import { ContextItem, RepoContextItem, SearchContextItem } from "@/features/chat/components/chatBox/contextSelector";
-import { DemoExamples, DemoSearchExample, DemoSearchContextExample, DemoSearchContext } from "@/types";
+import { DemoExamples, DemoSearchExample, DemoSearchContext } from "@/types";
import { cn, getCodeHostIcon } from "@/lib/utils";
-import { RepositoryQuery, SearchContextQuery } from "@/lib/types";
import useCaptureEvent from "@/hooks/useCaptureEvent";
+import { SearchScopeInfoCard } from "@/components/searchScopeInfoCard";
interface AskSourcebotDemoCardsProps {
demoExamples: DemoExamples;
- selectedItems: ContextItem[];
- setSelectedItems: (items: ContextItem[]) => void;
- searchContexts: SearchContextQuery[];
- repos: RepositoryQuery[];
}
export const AskSourcebotDemoCards = ({
demoExamples,
- selectedItems,
- setSelectedItems,
- searchContexts,
- repos,
}: AskSourcebotDemoCardsProps) => {
const captureEvent = useCaptureEvent();
+ const [selectedFilterContext, setSelectedFilterContext] = useState;
- }
-
- const handleContextClick = (demoSearchContexts: DemoSearchContext[], contextExample: DemoSearchContextExample) => {
- const context = demoSearchContexts.find((context) => context.id === contextExample.searchContext)
- if (!context) {
- console.error(`Search context ${contextExample.searchContext} not found on handleContextClick`);
- return;
- }
-
- captureEvent('wa_demo_search_context_card_pressed', {
- contextType: context.type,
- contextName: context.value,
- contextDisplayName: context.displayName,
- });
-
- const isDemoMode = process.env.NEXT_PUBLIC_SOURCEBOT_CLOUD_ENVIRONMENT === "demo";
- const isSelected = selectedItems.some((item) => item.value === context.value);
- if (isSelected) {
- setSelectedItems(selectedItems.filter((item) => item.value !== context.value));
- return;
- }
-
- const getNewSelectedItem = (): ContextItem | null => {
- if (context.type === "set") {
- const searchContext = searchContexts.find((item) => item.name === context.value);
- if (!searchContext) {
- console.error(`Search context ${context.value} not found on handleContextClick`);
- return null;
- }
-
- return {
- type: 'context',
- value: context.value,
- name: context.displayName,
- repoCount: searchContext.repoNames.length
- } as SearchContextItem;
- } else {
- const repo = repos.find((repo) => repo.repoName === context.value);
- if (!repo) {
- console.error(`Repo ${context.value} not found on handleContextClick`);
- return null;
- }
-
- return {
- type: 'repo',
- value: context.value,
- name: context.displayName,
- codeHostType: repo.codeHostType
- } as RepoContextItem;
- }
- }
-
- const newSelectedItem = getNewSelectedItem();
- if (newSelectedItem) {
- setSelectedItems(isDemoMode ? [newSelectedItem] : [...selectedItems, newSelectedItem]);
- } else {
- console.error(`No new selected item found on handleContextClick`);
- }
+ return ;
}
return (
@@ -139,110 +82,91 @@ export const AskSourcebotDemoCards = ({
Select the context you want to ask questions about
-{contextExample.description}
-Check out these featured ask results from the community
+ {example.description} +
+- {example.description} -
-
+ );
+ })()}
+ Repository: A single repository, indicated by the code host icon.
+