diff --git a/src/components/GenerateCourse/AICourse.tsx b/src/components/GenerateCourse/AICourse.tsx index 8a92cf99f..5fce355b4 100644 --- a/src/components/GenerateCourse/AICourse.tsx +++ b/src/components/GenerateCourse/AICourse.tsx @@ -1,10 +1,15 @@ import { SearchIcon, WandIcon } from 'lucide-react'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { cn } from '../../lib/classname'; import { isLoggedIn } from '../../lib/jwt'; import { showLoginPopup } from '../../lib/popup'; import { UserCoursesList } from './UserCoursesList'; import { FineTuneCourse } from './FineTuneCourse'; +import { + getCourseFineTuneData, + getLastSessionId, + storeFineTuneData, +} from '../../lib/ai'; export const difficultyLevels = [ 'beginner', @@ -19,6 +24,27 @@ export function AICourse(props: AICourseProps) { const [keyword, setKeyword] = useState(''); const [difficulty, setDifficulty] = useState('beginner'); + const [hasFineTuneData, setHasFineTuneData] = useState(false); + const [about, setAbout] = useState(''); + const [goal, setGoal] = useState(''); + const [customInstructions, setCustomInstructions] = useState(''); + + useEffect(() => { + const lastSessionId = getLastSessionId(); + if (!lastSessionId) { + return; + } + + const fineTuneData = getCourseFineTuneData(lastSessionId); + if (!fineTuneData) { + return; + } + + // setAbout(fineTuneData.about); + // setGoal(fineTuneData.goal); + // setCustomInstructions(fineTuneData.customInstructions); + }, []); + const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === 'Enter' && keyword.trim()) { onSubmit(); @@ -31,7 +57,15 @@ export function AICourse(props: AICourseProps) { return; } - window.location.href = `/ai-tutor/search?term=${encodeURIComponent(keyword)}&difficulty=${difficulty}`; + const sessionId = hasFineTuneData + ? storeFineTuneData({ + about, + goal, + customInstructions, + }) + : ''; + + window.location.href = `/ai-tutor/search?term=${encodeURIComponent(keyword)}&difficulty=${difficulty}&id=${sessionId}`; } return ( @@ -99,7 +133,16 @@ export function AICourse(props: AICourseProps) { - +