<!-- Step 1: Install Node.js and npm --> <!-- Download from https://nodejs.org and install on your machine --> <!-- Step 2: Create a new Next.js project --> npm create next-app@latest my-shadcn-app <!-- This creates a new Next.js project folder named 'my-shadcn-app' --> <!-- Step 3: Change directory to project folder --> cd my-shadcn-app <!-- Now inside your project directory --> <!-- Step 4: Install shadcn/ui dependencies --> npm install @shadcn/ui react react-dom next <!-- This installs the UI library and React dependencies --> <!-- Step 5: Initialize shadcn UI setup (example command) --> npx shadcn-ui init <!-- This generates the UI components and config files --> <!-- Step 6: Start the development server --> npm run dev <!-- Your project will be available at http://localhost:3000 -->
Output:
<!-- Basic Button component using shadcn UI --> <button className="btn btn-primary">Click Me</button> <!-- btn btn-primary are shadcn UI utility classes that style the button with primary color and hover effects -->
Output:
<!-- Card component example --> <div className="card p-4 shadow-md"> <h3>Card Title</h3> <p>This is a card component using shadcn styles.</p> </div> <!-- card: base card styling p-4: padding 1rem shadow-md: medium shadow for elevation -->
Output:
This is a card component using shadcn styles.
<!-- Simple input form using shadcn styles --> <form> <label htmlFor="name">Name:</label> <input id="name" type="text" className="input input-bordered" placeholder="Enter your name" /> <button type="submit" className="btn btn-secondary mt-2">Submit</button> </form> <!-- input-bordered adds border styling btn btn-secondary styles button with secondary color mt-2 adds margin top for spacing -->
Output:
<!-- Modal example structure --> <div className="modal"> <div className="modal-box"> <h3>Modal Title</h3> <p>This is a modal dialog using shadcn UI styles.</p> <button className="btn btn-primary">Close</button> </div> </div> <!-- modal and modal-box are shadcn UI classes for modal styling btn btn-primary styles the close button -->
Output (Static View):
This is a modal dialog using shadcn UI styles.
<!-- Simple navbar using shadcn UI --> <nav className="navbar bg-base-100 p-3"> <ul className="menu menu-horizontal"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </nav> <!-- menu menu-horizontal creates horizontal menu styling bg-base-100 sets background color p-3 adds padding -->
Output:
<!-- Badge example using shadcn UI styles --> <span className="badge badge-primary">New</span> <!-- badge adds small rounded label badge-primary styles it with primary color -->
Output:
New<!-- Tooltip wrapper example --> <div className="tooltip" data-tip="Tooltip text"> <button className="btn btn-info">Hover me</button> </div> <!-- tooltip class provides tooltip styling data-tip attribute contains tooltip text btn btn-info styles button with info color -->
Output (hover not functional here):
<!-- Checkbox input example --> <label className="flex items-center space-x-2"> <input type="checkbox" className="checkbox checkbox-primary" /> <span>Accept Terms</span> </label> <!-- checkbox and checkbox-primary provide checkbox styling flex and space-x-2 align items horizontally with spacing -->
Output:
<!-- Dropdown menu example --> <div className="dropdown"> <label tabIndex="0" className="btn m-1">Dropdown</label> <ul tabIndex="0" className="dropdown-content menu p-2 shadow bg-base-100 rounded-box w-52"> <li><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul> </div> <!-- dropdown and dropdown-content style dropdown menus menu styles menu list -->
Output (static):
<!-- Create a conversational chatbot using shadcn UI -->
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
const Chatbot = () => {
const [message, setMessage] = useState("");
const [response, setResponse] = useState("");
const handleSend = () => {
// Simulate AI response
setResponse("Hi! This is an AI response to: " + message);
};
return (
<div>
<Input value={message} onChange={e => setMessage(e.target.value)} />
<Button onClick={handleSend}>Send</Button>
<p>{response}</p>
</div>
);
};
<!-- Auto-fill form fields based on context using AI -->
import { Input, Label } from "@/components/ui/input";
const AutoFillForm = () => {
const [name, setName] = useState("");
const handleAutoFill = () => {
// Simulated AI fill logic
setName("John Doe");
};
return (
<div>
<Label>Name</Label>
<Input value={name} onChange={e => setName(e.target.value)} />
<button onClick={handleAutoFill}>Auto-Fill</button>
</div>
);
};
<!-- Highlight input sentiment using AI and shadcn UI -->
import { Textarea } from "@/components/ui/textarea";
import { Badge } from "@/components/ui/badge";
const SentimentHighlighter = () => {
const [text, setText] = useState("");
const [sentiment, setSentiment] = useState("");
const analyzeSentiment = () => {
// Dummy AI sentiment detection
if (text.includes("happy") || text.includes("great")) {
setSentiment("Positive");
} else if (text.includes("sad") || text.includes("bad")) {
setSentiment("Negative");
} else {
setSentiment("Neutral");
}
};
return (
<div>
<Textarea value={text} onChange={e => setText(e.target.value)} />
<button onClick={analyzeSentiment}>Analyze Sentiment</button>
<Badge>{sentiment}</Badge>
</div>
);
};
<!-- Generate image captions using AI -->
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
const CaptionGenerator = () => {
const [imageUrl, setImageUrl] = useState("");
const [caption, setCaption] = useState("");
const generateCaption = () => {
setCaption("This is a caption for the given image.");
};
return (
<div>
<Input value={imageUrl} onChange={e => setImageUrl(e.target.value)} />
<Button onClick={generateCaption}>Generate</Button>
<p>{caption}</p>
</div>
);
};
<!-- Execute tasks based on voice commands using AI -->
import { Button } from "@/components/ui/button";
const VoiceCommand = () => {
const [command, setCommand] = useState("");
const [result, setResult] = useState("");
const executeCommand = () => {
setResult(`Executed: ${command}`);
};
return (
<div>
<Button onClick={() => setCommand("Open Email")}>Simulate Voice</Button>
<Button onClick={executeCommand}>Execute</Button>
<p>{result}</p>
</div>
);
};
<!-- Compose music with AI -->
import { useState } from 'react';
import { Button } from '@/components/ui/button';
const MusicComposer = () => {
const [composition, setComposition] = useState('');
const composeMusic = () => {
setComposition('A soothing piano melody generated by AI.');
};
return (
<div>
<Button onClick={composeMusic}>Compose Music</Button>
<p>{composition}</p>
</div>
);
};
export default MusicComposer;
<!-- Explain code snippets using AI -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const CodeExplainer = () => {
const [code, setCode] = useState('');
const [explanation, setExplanation] = useState('');
const explainCode = () => {
setExplanation('This code defines a React component that displays a button.');
};
return (
<div>
<Input placeholder="Paste code here" value={code} onChange={e => setCode(e.target.value)} />
<Button onClick={explainCode}>Explain</Button>
<pre>{explanation}</pre>
</div>
);
};
export default CodeExplainer;
<!-- Summarize text with AI -->
import { useState } from 'react';
import { Textarea } from '@/components/ui/textarea';
import { Button } from '@/components/ui/button';
const TextSummarizer = () => {
const [text, setText] = useState('');
const [summary, setSummary] = useState('');
const summarizeText = () => {
setSummary('This is a brief summary generated by AI.');
};
return (
<div>
<Textarea placeholder="Enter text here" value={text} onChange={e => setText(e.target.value)} />
<Button onClick={summarizeText}>Summarize</Button>
<blockquote>{summary}</blockquote>
</div>
);
};
export default TextSummarizer;
<!-- Simple AI Chatbot -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const Chatbot = () => {
const [message, setMessage] = useState('');
const [response, setResponse] = useState('');
const sendMessage = () => {
setResponse('Hello! How can I assist you today?');
};
return (
<div>
<Input placeholder="Type your message" value={message} onChange={e => setMessage(e.target.value)} />
<Button onClick={sendMessage}>Send</Button>
<p>{response}</p>
</div>
);
};
export default Chatbot;
<!-- Generate captions for images using AI -->
import { useState } from 'react';
import { Button } from '@/components/ui/button';
const ImageCaptioner = () => {
const [caption, setCaption] = useState('');
const generateCaption = () => {
setCaption('A beautiful sunset over the mountains.');
};
return (
<div>
<Button onClick={generateCaption}>Generate Caption</Button>
<p>{caption}</p>
</div>
);
};
export default ImageCaptioner;
<!-- Analyze sentiment of text using AI -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const SentimentAnalyzer = () => {
const [text, setText] = useState('');
const [sentiment, setSentiment] = useState('');
const analyzeSentiment = () => {
setSentiment('Positive sentiment detected.');
};
return (
<div>
<Input placeholder="Enter text" value={text} onChange={e => setText(e.target.value)} />
<Button onClick={analyzeSentiment}>Analyze</Button>
<div>{sentiment}</div>
</div>
);
};
export default SentimentAnalyzer;
<!-- Translate text between languages using AI -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const Translator = () => {
const [text, setText] = useState('');
const [translation, setTranslation] = useState('');
const translateText = () => {
setTranslation('Bonjour, ceci est une traduction générée par IA.');
};
return (
<div>
<Input placeholder="Enter text to translate" value={text} onChange={e => setText(e.target.value)} />
<Button onClick={translateText}>Translate</Button>
<div>{translation}</div>
</div>
);
};
export default Translator;
<!-- Generate images based on prompts using AI -->
import { useState } from 'react';
import { Button } from '@/components/ui/button';
const ImageGenerator = () => {
const [imageUrl, setImageUrl] = useState('');
const generateImage = () => {
setImageUrl('https://example.com/generated-image.png');
};
return (
<div>
<Button onClick={generateImage}>Generate Image</Button>
{imageUrl && <img src={imageUrl} alt="Generated AI" />}
</div>
);
};
export default ImageGenerator;
<!-- Classify documents automatically using AI -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const DocumentClassifier = () => {
const [docText, setDocText] = useState('');
const [category, setCategory] = useState('');
const classifyDocument = () => {
setCategory('Finance');
};
return (
<div>
<Input placeholder="Paste document text" value={docText} onChange={e => setDocText(e.target.value)} />
<Button onClick={classifyDocument}>Classify</Button>
<div>{category}</div>
</div>
);
};
export default DocumentClassifier;
<!-- Simple AI chatbot interface -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const Chatbot = () => {
const [messages, setMessages] = useState([]);
const [input, setInput] = useState('');
const sendMessage = () => {
setMessages([...messages, { text: input, fromUser: true }, { text: 'Hello! How can I help?', fromUser: false }]);
setInput('');
};
return (
<div>
<div>{messages.map((msg, i) => (
<p key={i} className={msg.fromUser ? 'user-msg' : 'bot-msg'}>{msg.text}</p>
))}</div>
<Input value={input} onChange={e => setInput(e.target.value)} />
<Button onClick={sendMessage}>Send</Button>
</div>
);
};
export default Chatbot;
<!-- Summarize long text using AI -->
import { useState } from 'react';
import { Textarea } from '@/components/ui/textarea';
import { Button } from '@/components/ui/button';
const Summarizer = () => {
const [text, setText] = useState('');
const [summary, setSummary] = useState('');
const summarizeText = () => {
setSummary('This is a short summary of the provided text.');
};
return (
<div>
<Textarea value={text} onChange={e => setText(e.target.value)} />
<Button onClick={summarizeText}>Summarize</Button>
<div>{summary}</div>
</div>
);
};
export default Summarizer;
<!-- Help generate code snippets using AI -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const CodeAssistant = () => {
const [query, setQuery] = useState('');
const [code, setCode] = useState('');
const generateCode = () => {
setCode('// Example generated code snippet');
};
return (
<div>
<Input placeholder="Describe what you need" value={query} onChange={e => setQuery(e.target.value)} />
<Button onClick={generateCode}>Generate</Button>
<pre>{code}</pre>
</div>
);
};
export default CodeAssistant;
<!-- Auto respond to emails using AI -->
import { useState } from 'react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
const EmailResponder = () => {
const [email, setEmail] = useState('');
const [response, setResponse] = useState('');
const autoRespond = () => {
setResponse('Thank you for your email. We will get back to you shortly.');
};
return (
<div>
<Input placeholder="Enter email content" value={email} onChange={e => setEmail(e.target.value)} />
<Button onClick={autoRespond}>Auto-Respond</Button>
<div>{response}</div>
</div>
);
};
export default EmailResponder;
<!-- Simple AI voice assistant interface -->
import { useState } from 'react';
import { Button } from '@/components/ui/button';
const VoiceAssistant = () => {
const [response, setResponse] = useState('');
const listenAndRespond = () => {
setResponse('I heard you and here is the response.');
};
return (
<div>
<Button onClick={listenAndRespond}>Talk</Button>
<div>{response}</div>
</div>
);
};
export default VoiceAssistant;
<!-- Personalized news feed powered by AI -->
import { useState, useEffect } from 'react';
const NewsFeed = () => {
const [articles, setArticles] = useState([]);
useEffect(() => {
setArticles([
{ title: 'AI breakthrough in medicine' },
{ title: 'New AI model released' }
]);
}, []);
return (
<div>
{articles.map((article, i) => <div key={i}>{article.title}</div>)}
</div>
);
};
export default NewsFeed;
<!-- Transfer style of one image onto another using AI -->
import { useState } from 'react';
import { Button } from '@/components/ui/button';
const StyleTransfer = () => {
const [resultUrl, setResultUrl] = useState('');
const transferStyle = () => {
setResultUrl('https://example.com/styled-image.png');
};
return (
<div>
<Button onClick={transferStyle}>Apply Style</Button>
{resultUrl && <img src={resultUrl} alt="Styled Image" />}
</div>
);
};
export default StyleTransfer;
<!-- Suggest travel destinations based on user interests -->
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
const TravelRecommender = () => {
const [interest, setInterest] = useState("");
const [destination, setDestination] = useState("");
const recommend = () => {
setDestination("Try Bali for beaches and relaxation!");
};
return (
<div>
<Input value={interest} onChange={e => setInterest(e.target.value)} />
<Button onClick={recommend}>Recommend</Button>
<p>{destination}</p>
</div>
);
};
<!-- Provide supportive messages for mental wellness -->
import { Button } from "@/components/ui/button";
const MentalHealthBot = () => {
const [message, setMessage] = useState("");
const getSupport = () => {
setMessage("You are doing great! Take a deep breath.");
};
return (
<div>
<Button onClick={getSupport}>Get Support</Button>
<p>{message}</p>
</div>
);
};
<!-- Provide AI critique on uploaded artwork -->
import { Button } from "@/components/ui/button";
const ArtCritique = () => {
const [feedback, setFeedback] = useState("");
const critique = () => {
setFeedback("Strong use of color, but work on perspective.");
};
return (
<div>
<Button onClick={critique}>Critique My Art</Button>
<p>{feedback}</p>
</div>
);
};
<!-- Enhance resume content using AI suggestions -->
import { Textarea } from "@/components/ui/textarea";
import { Button } from "@/components/ui/button";
const ResumeEnhancer = () => {
const [resume, setResume] = useState("");
const [enhanced, setEnhanced] = useState("");
const enhanceResume = () => {
setEnhanced("Enhanced version of your resume.");
};
return (
<div>
<Textarea value={resume} onChange={e => setResume(e.target.value)} />
<Button onClick={enhanceResume}>Enhance</Button>
<p>{enhanced}</p>
</div>
);
};
<!-- Check possible conditions based on symptoms using AI -->
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
const SymptomChecker = () => {
const [symptom, setSymptom] = useState("");
const [diagnosis, setDiagnosis] = useState("");
const checkSymptom = () => {
setDiagnosis("You may be experiencing a common cold.");
};
return (
<div>
<Input value={symptom} onChange={e => setSymptom(e.target.value)} />
<Button onClick={checkSymptom}>Check</Button>
<p>{diagnosis}</p>
</div>
);
};
<!-- Suggest investments based on AI analysis -->
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
const InvestmentAdvisor = () => {
const [goal, setGoal] = useState("");
const [advice, setAdvice] = useState("");
const getAdvice = () => {
setAdvice("Consider investing in index funds.");
};
return (
<div>
<Input value={goal} onChange={e => setGoal(e.target.value)} />
<Button onClick={getAdvice}>Get Advice</Button>
<p>{advice}</p>
</div>
);
};
<!-- Plan a travel itinerary using AI -->
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
const TravelPlanner = () => {
const [destination, setDestination] = useState("");
const [plan, setPlan] = useState("");
const planTrip = () => {
setPlan("Visit Eiffel Tower, Louvre, and Seine River.");
};
return (
<div>
<Input value={destination} onChange={e => setDestination(e.target.value)} />
<Button onClick={planTrip}>Plan</Button>
<p>{plan}</p>
</div>
);
};
<!-- Help with homework solutions using AI -->
import { Textarea } from "@/components/ui/textarea";
import { Button } from "@/components/ui/button";
const HomeworkHelper = () => {
const [question, setQuestion] = useState("");
const [solution, setSolution] = useState("");
const solveHomework = () => {
setSolution("Here is a helpful explanation and solution.");
};
return (
<div>
<Textarea value={question} onChange={e => setQuestion(e.target.value)} />
<Button onClick={solveHomework}>Solve</Button>
<p>{solution}</p>
</div>
);
};