0% found this document useful (0 votes)
5 views47 pages

My Website

The document contains multiple React components including LanguageTranslation, KnowledgeDatabase, Chatbot, UserAccount, ComponentDetails, and App, each handling specific functionalities such as translating text, searching articles, interacting with a chatbot, managing user accounts, and displaying component details. Each component utilizes hooks for state management and asynchronous data fetching from various APIs. The App component serves as the main entry point, routing to the different components based on the URL path.

Uploaded by

minius2009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views47 pages

My Website

The document contains multiple React components including LanguageTranslation, KnowledgeDatabase, Chatbot, UserAccount, ComponentDetails, and App, each handling specific functionalities such as translating text, searching articles, interacting with a chatbot, managing user accounts, and displaying component details. Each component utilizes hooks for state management and asynchronous data fetching from various APIs. The App component serves as the main entry point, routing to the different components based on the URL path.

Uploaded by

minius2009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 47

*LanguageTranslation.

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();
}, []);

const handleSearch = async ()


=> {
setLoading(true);
try {
const response = await
fetch(`https://knowledge-
database-api.com/search?q=$
{searchQuery}`);
if (response.ok) {
const data = await
response.json();
setSearchResults(data.articles);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
} finally {
setLoading(false);
}
};

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();
}, []);

const handleSearch = async ()


=> {
setLoading(true);
try {
const response = await
fetch(`https://knowledge-
database-api.com/search?q=$
{searchQuery}`);
if (response.ok) {
const data = await
response.json();
setSearchResults(data.articles);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
} finally {
setLoading(false);
}
};

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>
);
}

export default Chatbot;


```

```
jsx
// UserAccount.js
import React, { useState } from
'react';

function UserAccount() {
const [username, setUsername]
= useState('');
const [password, setPassword]
= useState('');
const [error, setError] =
useState(null);

const handleLogin = async ()


=> {
try {
const response = await
fetch(`https://
user-account-api.com/login?
username=$
{username}&password=$
{password}`);
if (response.ok) {
const data = await
response.json();
console.log(data);
} else {
throw new
Error(response.statusText);
}
} catch (error) {
setError(error);
}
};

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>
);
}

export default App;


```

```
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;
}
```

You might also like