diff --git a/apps/web/components/ContentSearch.tsx b/apps/web/components/ContentSearch.tsx index b8f8261d..fa120e61 100644 --- a/apps/web/components/ContentSearch.tsx +++ b/apps/web/components/ContentSearch.tsx @@ -7,6 +7,7 @@ import { Dialog, DialogClose, DialogContent, Input, Card, CardDescription, CardH import Image from "next/image"; */ import Fuse from "fuse.js"; import { TrackPros } from "./Tracks"; +import { div } from "framer-motion/client"; type Payload = { problemId: string; @@ -21,6 +22,7 @@ interface DataItem { } export function ContentSearch({ tracks }: { tracks: TrackPros[] }) { + const [startedSearching, setStartedSearching] = useState(false); const [dialogOpen, setDialogOpen] = useState(false); const [input, setInput] = useState(""); const [searchTracks, setSearchTracks] = useState([]); @@ -28,6 +30,7 @@ export function ContentSearch({ tracks }: { tracks: TrackPros[] }) { const scrollableContainerRef = useRef(null); const deferredInput = useDeferredValue(input); const [allTracks, setAllTracks] = useState([]); + const [suggestedTracks, setSuggestedTracks] = useState([]); useEffect(() => { const updatedTracks: DataItem[] = []; tracks.map((t) => { @@ -43,6 +46,7 @@ export function ContentSearch({ tracks }: { tracks: TrackPros[] }) { }); }); }); + const suggestions: DataItem[] = []; setAllTracks(updatedTracks); }, []); useEffect(() => { @@ -115,27 +119,27 @@ export function ContentSearch({ tracks }: { tracks: TrackPros[] }) { return (
setDialogOpen(true)} > -
-
+
+
Search
- Ctrl + K + Ctrl + K
- -
+ +
setInput(e.target.value)} /> @@ -144,37 +148,76 @@ export function ContentSearch({ tracks }: { tracks: TrackPros[] }) { Close
-
- {searchTracks.length > 0 && - searchTracks.map((track, index) => ( -
- - -
-
- {track.payload.problemTitle} + + {searchTracks.length === 0 ? ( +
+

Suggestions :

+ {allTracks.map((track, index) => { + return ( +
+ + +
+
+ + + {track.payload.problemTitle} + + + {" "} + Track : {track.payload.trackTitle} + + +
-
- - {track.payload.problemTitle} - Track: {track.payload.trackTitle} - + + +
+ ); + })} +
+ ) : ( +
+ {searchTracks.length > 0 && + searchTracks.map((track, index) => ( +
+ + +
+
+ {track.payload.problemTitle} +
+
+ + + {track.payload.problemTitle} + + + Track: {track.payload.trackTitle} + + +
-
- - -
- ))} -
+ + +
+ ))} +
+ )}
); diff --git a/apps/web/components/TrackPreview.tsx b/apps/web/components/TrackPreview.tsx index d3b85e0d..199ce654 100644 --- a/apps/web/components/TrackPreview.tsx +++ b/apps/web/components/TrackPreview.tsx @@ -41,37 +41,37 @@ export function TrackPreview({ showPreview, setShowPreview, track }: TrackPrevie return ( setShowPreview(false)}> -
- -
+
+ +
-

{track.title}

+

{track.title}

{track.categories.map((item: any, idx: number) => (

{item.category.category}{" "}

))}
-

{truncatedDescription}

+

{truncatedDescription}

-
-
-

+

+
+

{track.problems.length} Chapters

-

+

{formatDistanceToNow(new Date(track.createdAt), { addSuffix: true })}

-
+
{track.problems.map((topic: any, idx: number) => ( -
+
{topic.title}
@@ -82,7 +82,7 @@ export function TrackPreview({ showPreview, setShowPreview, track }: TrackPrevie