parent
3b01fb209e
commit
f72d4ddc40
6 changed files with 114 additions and 7 deletions
@ -0,0 +1,69 @@ |
|||||||
|
import { useState } from 'react'; |
||||||
|
import { Modal } from '../Modal'; |
||||||
|
|
||||||
|
export type ModifyCoursePromptProps = { |
||||||
|
onClose: () => void; |
||||||
|
onSubmit: (prompt: string) => void; |
||||||
|
}; |
||||||
|
|
||||||
|
export function ModifyCoursePrompt(props: ModifyCoursePromptProps) { |
||||||
|
const { onClose, onSubmit } = props; |
||||||
|
|
||||||
|
const [prompt, setPrompt] = useState(''); |
||||||
|
|
||||||
|
const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => { |
||||||
|
e.preventDefault(); |
||||||
|
onSubmit(prompt); |
||||||
|
}; |
||||||
|
|
||||||
|
return ( |
||||||
|
<Modal |
||||||
|
onClose={onClose} |
||||||
|
wrapperClassName="rounded-xl max-w-xl w-full h-auto" |
||||||
|
bodyClassName="p-6" |
||||||
|
overlayClassName="items-start md:items-center" |
||||||
|
> |
||||||
|
<div className="flex flex-col gap-4"> |
||||||
|
<div> |
||||||
|
<h2 className="mb-2 text-left text-xl font-semibold"> |
||||||
|
Give AI more context |
||||||
|
</h2> |
||||||
|
<p className="text-sm text-gray-500"> |
||||||
|
Pass additional information to the AI to generate a course outline. |
||||||
|
</p> |
||||||
|
</div> |
||||||
|
<form className="flex flex-col gap-2" onSubmit={handleSubmit}> |
||||||
|
<textarea |
||||||
|
id="prompt" |
||||||
|
autoFocus |
||||||
|
rows={3} |
||||||
|
value={prompt} |
||||||
|
onChange={(e) => setPrompt(e.target.value)} |
||||||
|
className="w-full rounded-md border border-gray-200 p-2 placeholder:text-sm focus:outline-black" |
||||||
|
placeholder="e.g. make sure to add a section on React hooks" |
||||||
|
/> |
||||||
|
|
||||||
|
<p className="text-sm text-gray-500"> |
||||||
|
Complete the sentence: "I want AI to..." |
||||||
|
</p> |
||||||
|
|
||||||
|
<div className="flex justify-end gap-2"> |
||||||
|
<button |
||||||
|
className="rounded-md bg-gray-200 px-4 py-2.5 text-sm text-black hover:opacity-80" |
||||||
|
onClick={onClose} |
||||||
|
> |
||||||
|
Cancel |
||||||
|
</button> |
||||||
|
<button |
||||||
|
type="submit" |
||||||
|
disabled={!prompt.trim()} |
||||||
|
className="rounded-md bg-black px-4 py-2.5 text-sm text-white hover:opacity-80 disabled:opacity-50" |
||||||
|
> |
||||||
|
Modify Prompt |
||||||
|
</button> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</Modal> |
||||||
|
); |
||||||
|
} |
Loading…
Reference in new issue