Skip to content

Commit bf6ba9a

Browse files
committed
fix-api
1 parent dedbae3 commit bf6ba9a

File tree

1 file changed

+27
-16
lines changed

1 file changed

+27
-16
lines changed

src/pages/activities/RandomQuote.js

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,62 @@
11
import { useEffect, useState } from "react";
22
import axios from "axios";
3-
import "../../styles/pages/activities/RandomQuote.css"; // Reuse your styles
3+
import "../../styles/pages/activities/RandomQuote.css";
44

55
export const RandomQuote = () => {
6-
const [joke, setJoke] = useState(null);
6+
const [quote, setQuote] = useState(null);
77
const [error, setError] = useState(null);
88

9-
const generateJoke = () => {
10-
setJoke(null);
9+
const generateQuote = () => {
10+
setQuote(null);
1111
setError(null);
1212

13+
const url = "https://zenquotes.io/api/random";
14+
const proxyUrl = `https://api.allorigins.win/get?url=${encodeURIComponent(
15+
`${url}?t=${Date.now()}`
16+
)}`;
17+
1318
axios
14-
.get("https://official-joke-api.appspot.com/random_joke")
15-
.then((res) => setJoke(res.data))
16-
.catch((err) => setError(err));
19+
.get(proxyUrl)
20+
.then((res) => {
21+
const data = JSON.parse(res.data.contents);
22+
const q = data[0];
23+
setQuote({ q: q.q, a: q.a });
24+
})
25+
.catch((err) => {
26+
setError(err);
27+
});
1728
};
1829

1930
useEffect(() => {
20-
generateJoke();
31+
generateQuote();
2132
}, []);
2233

2334
return (
2435
<div className="rquote-root">
25-
<h1 className="header">Random Joke Generator</h1>
36+
<h1 className="header">Random Quote Generator</h1>
2637
<div className="description">
27-
Get a random joke to brighten your day 😄
38+
Get a random quote to inspire your day 💡
2839
</div>
2940

30-
{joke && (
41+
{quote && (
3142
<div className="rquote-content">
32-
<div className="rquote-quote">{joke.setup}</div>
33-
<div className="rquote-author">{joke.punchline}</div>
43+
<div className="rquote-quote">{quote.q}</div>
44+
<div className="rquote-author">{quote.a || "Unknown"} </div>
3445
</div>
3546
)}
3647

3748
{error && (
3849
<div className="rquote-content error">{error.message}</div>
3950
)}
4051

41-
{!joke && !error && (
52+
{!quote && !error && (
4253
<div className="spinner-wrapper">
4354
<div className="spinner"></div>
4455
</div>
4556
)}
4657

47-
<button className="rquote-button" onClick={generateJoke}>
48-
Generate Joke
58+
<button className="rquote-button" onClick={generateQuote}>
59+
Generate Quote
4960
</button>
5061
</div>
5162
);

0 commit comments

Comments
 (0)