1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-10-03 20:31:52 +02:00

feat: ai document (#8793)

* Refactor AI course

* Add AI course generation functionality

* Add basic error handling

* AI Document content

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* feat: regenerate guide

* wip

* wip

* wip

* wip

* wip

* fix: form ui

* feat: update guide ui

* refactor: update the course card

* fix: term and redirects

* Guide page UI improvements

* Loading chip refactor

* AI guide changes

* Improve UI for ai guide content

* Add AI guide

* AI Guide chat

* fix: stop streaming

* fix: chat responsiveness

* UI improvements for ai library

* Guide listing UI update

* User guides listing

* Library guides listing UI

* Library guides listing UI

* Featured courses listing UI update

* Staff picks UI changes

* Community page UI design

* Explore courses listing functionality

* Improve UI for explore page

* Implement guides functionality

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
This commit is contained in:
Arik Chakma
2025-06-19 07:22:04 +06:00
committed by GitHub
parent 469f4ca530
commit 89932bc18d
56 changed files with 3959 additions and 280 deletions

View File

@@ -1,3 +1,6 @@
import { useId } from 'react';
import { cn } from '../../lib/classname';
type QuestionProps = {
label: string;
placeholder: string;
@@ -8,13 +11,18 @@ type QuestionProps = {
function Question(props: QuestionProps) {
const { label, placeholder, value, onChange, autoFocus = false } = props;
const questionId = useId();
return (
<div className="flex flex-col">
<label className="border-y bg-gray-100 px-4 py-2.5 text-sm font-medium text-gray-700">
<label
htmlFor={questionId}
className="border-y bg-gray-50 px-4 py-2.5 text-sm font-medium text-gray-700"
>
{label}
</label>
<textarea
id={questionId}
placeholder={placeholder}
className="min-h-[80px] w-full resize-none px-4 py-3 text-gray-700 placeholder:text-gray-400 focus:outline-hidden"
value={value}
@@ -31,10 +39,10 @@ type FineTuneCourseProps = {
goal: string;
customInstructions: string;
setHasFineTuneData: (hasMetadata: boolean) => void;
setAbout: (about: string) => void;
setGoal: (goal: string) => void;
setCustomInstructions: (customInstructions: string) => void;
className?: string;
};
export function FineTuneCourse(props: FineTuneCourseProps) {
@@ -46,7 +54,7 @@ export function FineTuneCourse(props: FineTuneCourseProps) {
setAbout,
setGoal,
setCustomInstructions,
setHasFineTuneData,
className,
} = props;
if (!hasFineTuneData) {
@@ -54,7 +62,7 @@ export function FineTuneCourse(props: FineTuneCourseProps) {
}
return (
<div className="mt-0 flex flex-col">
<div className={cn('mt-0 flex flex-col', className)}>
<Question
label="Tell us about yourself"
placeholder="e.g. I am a frontend developer and have good knowledge of HTML, CSS, and JavaScript."