My Website
My Website
js*
```
jsx
import React, { useState } from
'react';
function LanguageTranslation() {
const [textToTranslate,
setTextToTranslate] =
useState('');
const [translatedText,
setTranslatedText] = useState('');
const [language, setLanguage]
= useState('en');
const [error, setError] =
useState(null);
const [loading, setLoading] =
useState(false);
const handleTranslate = async
() => {
setLoading(true);
try {
const response = await
fetch(`https://
translation-api.com/translate?
text=$
{textToTranslate}&language=$
{language}`);
if (response.ok) {
const data = await
response.json();
setTranslatedText(data.translate
dText);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
} finally {
setLoading(false);
}
};
return (
<div>
<h1>Language
Translation</h1>
<input
type="text"
value={textToTranslate}
onChange={(e) =>
setTextToTranslate(e.target.value
)}
placeholder="Enter text to
translate"
/>
<select value={language}
onChange={(e) =>
setLanguage(e.target.value)}>
<option
value="en">English</option>
<option
value="es">Spanish</option>
<option
value="fr">French</option>
</select>
<button
onClick={handleTranslate}
disabled={loading}>
{loading ? 'Translating...' :
'Translate'}
</button>
{error ? (
<p>Error:
{error.message}</p>
):(
<p>Translated Text:
{translatedText}</p>
)}
</div>
);
}
export default
LanguageTranslation;
```
*KnowledgeDatabase.js*
```
jsx
import React, { useState,
useEffect } from 'react';
function KnowledgeDatabase() {
const [searchQuery,
setSearchQuery] = useState('');
const [searchResults,
setSearchResults] = useState([]);
const [error, setError] =
useState(null);
const [loading, setLoading] =
useState(false);
useEffect(() => {
const fetchArticles = async ()
=> {
setLoading(true);
try {
const response = await
fetch('https://knowledge-
database-api.com/articles');
if (response.ok) {
const data = await
response.json();
setSearchResults(data.articles);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
} finally {
setLoading(false);
}
};
fetchArticles();
}, []);
return (
<div>
<h1>Knowledge
Database</h1>
<input
type="text"
value={searchQuery}
onChange={(e) =>
setSearchQuery(e.target.value)}
placeholder="Search
knowledge database"
/>
<button
onClick={handleSearch}
disabled={loading}>
{loading ? 'Searching...' :
'Search'}
</button>
{error ? (
<p>Error:
{error.message}</p>
):(
<ul>
{searchResults.map((article) => (
<li key={article.id}>
<a href
```
jsx
// KnowledgeDatabase.js
import React, { useState,
useEffect } from
'react';
function KnowledgeDatabase() {
const [searchQuery,
setSearchQuery] = useState('');
const [searchResults,
setSearchResults] = useState([]);
const [error, setError] =
useState(null);
const [loading, setLoading] =
useState(false);
useEffect(() => {
const fetchArticles = async ()
=> {
setLoading(true);
try {
const response = await
fetch('https://knowledge-
database-api.com/articles');
if (response.ok) {
const data = await
response.json();
setSearchResults(data.articles);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
} finally {
setLoading(false);
}
};
fetchArticles();
}, []);
return (
<div>
<h1>Knowledge
Database</h1>
<input
type="text"
value={searchQuery}
onChange={(e) =>
setSearchQuery(e.target.value)}
placeholder="Search
knowledge database"
/>
<button
onClick={handleSearch}
disabled={loading}>
{loading ? 'Searching...' :
'Search'}
</button>
{error ? (
<p>Error:
{error.message}</p>
):(
<ul>
{searchResults.map((article) => (
<li key={article.id}>
<a
href={`/components/${article.id}`}
className="component-link">
{article.title}
</a>
</li>
))}
</ul>
)}
</div>
);
}
export default
KnowledgeDatabase;
```
```
jsx
// Chatbot.js
import React, { useState } from
'react';
function Chatbot() {
const [message, setMessage] =
useState('');
const [response, setResponse]
= useState('');
const [error, setError] =
useState(null);
const handleSendMessage =
async () => {
try {
const response = await
fetch(`https://chatbot-api.com/se
nd-message?message=$
{message}`);
if (response.ok) {
const data = await
response.json();
setResponse(data.response);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
}
};
return (
<div>
<h1>Chatbot</h1>
<input
type="text"
value={message}
onChange={(e) =>
setMessage(e.target.value)}
placeholder="Enter
message"
/>
<button
onClick={handleSendMessage}>
Send Message</button>
{error ? (
<p>Error:
{error.message}</p>
):(
<p>Response:
{response}</p>
)}
</div>
);
}
```
jsx
// UserAccount.js
import React, { useState } from
'react';
function UserAccount() {
const [username, setUsername]
= useState('');
const [password, setPassword]
= useState('');
const [error, setError] =
useState(null);
return (
<div>
<h1>User Account</h1>
<input
type="text"
value={username}
onChange={(e) =>
setUsername(e.target.value)}
placeholder="Enter
username"
/>
<input
type="password"
value={password}
onChange={(e) =>
setPassword(e.target.value)}
placeholder="Enter
password"
/>
<button
onClick={handleLogin}>Login</b
utton>
{error ? (
<p>Error:
{error.message}</p>
) : null}
</div>
);
}
export default UserAccount;
```
```
jsx
// ComponentDetails.js
import React, { useState,
useEffect } from 'react';
import { useParams } from 'react-
router-dom';
function ComponentDetails() {
const { id } = useParams();
const [component,
setComponent] = useState({});
const [error, setError] =
useState
```Here is the rest of the updated
code:
```
jsx
// ComponentDetails.js
import React, { useState,
useEffect } from 'react';
import { useParams } from 'react-
router-dom';
function ComponentDetails() {
const { id } = useParams();
const [component,
setComponent] = useState({});
const [error, setError] =
useState(null);
useEffect(() => {
const fetchComponent =
async () => {
try {
const response = await
fetch(`/components/${id}`);
if (response.ok) {
const data = await
response.json();
setComponent(data);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
}
};
fetchComponent();
}, [id]);
return (
<div>
<h1>{component.name}</h1>
<p>{component.description}</p>
<p>{component.details}</p>
{error ? (
<p>Error:
{error.message}</p>
) : null}
</div>
);
}
export default
ComponentDetails;
```
```
jsx
// App.js
import React from 'react';
import { BrowserRouter, Route,
Switch } from 'react-router-dom';
import Home from './Home';
import LanguageTranslation from
'./LanguageTranslation';
import KnowledgeDatabase from
'./KnowledgeDatabase';
import Chatbot from './Chatbot';
import UserAccount from
'./UserAccount';
import ComponentDetails from
'./ComponentDetails';
function App() {
return (
<BrowserRouter>
<Switch>
<Route path="/" exact
component={Home} />
<Route path="/language-
translation"
component={LanguageTranslatio
n} />
<Route path="/knowledge-
database"
component={KnowledgeDatabas
e} />
<Route path="/chatbot"
component={Chatbot} />
<Route path="/user-
account"
component={UserAccount} />
<Route
path="/components/:id"
component={ComponentDetails}
/>
</Switch>
</BrowserRouter>
);
}
```
css
/* styles.css */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
header {
background-color: #333;
color: #fff;
padding: 1em;
text-align: center;
}
header nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
header nav ul li {
margin-right: 20px;
}
header nav a {
color: #fff;
text-decoration: none;
}
main {
display: flex;
flex-direction: column;
align-items: center;
padding: 2em;
}
section {
background-color: #f7f7f7;
padding: 1em;
margin-bottom: 20px;
box-shadow: 0 2px 4px rgba(0,
0, 0, 0.1);
}
h1 {
font-weight: bold;
font-size: 24px;
margin-top: 0;
}
.component-link {
text-decoration: none;
color: #337ab7;
}
.component-link:hover {
color: #23527c;
}
```