diff --git a/src/assets/activities/cat.jpg b/src/assets/activities/cat.jpg
new file mode 100644
index 0000000..378736d
Binary files /dev/null and b/src/assets/activities/cat.jpg differ
diff --git a/src/data/content.js b/src/data/content.js
index 650b974..61515f2 100644
--- a/src/data/content.js
+++ b/src/data/content.js
@@ -11,11 +11,13 @@ import { RandomJoke } from "../pages/activities/RandomJoke";
import { RandomAnimeQuote } from "../pages/activities/RandomAnimeQuote";
import meme from "../assets/activities/meme.jpg"
import dog from "../assets/activities/dogimage.jpeg"
+import cat from "../assets/activities/cat.jpg"
import numberblocs from "../assets/numberblocks.png"
import wordleicon from "../assets/games/Wordle/wordlejpg.png"
import flagger from "../assets/games/flag guess/flagger.png"
import Calculator from "../pages/activities/Calculator"
import { DogHttpCode } from "../pages/activities/DogHttpCode";
+import { CatHttpCode } from "../pages/activities/CatHttpCode";
export const activities = [
{
@@ -74,6 +76,13 @@ export const activities = [
urlTerm: "dog-http-status",
element:
},
+ {
+ title: "Cat Http Status Code",
+ description: "Get random cat images or meme",
+ icon: cat,
+ urlTerm: "cat-http-status",
+ element:
+ },
];
export const games = [
diff --git a/src/pages/activities/CatHttpCode.js b/src/pages/activities/CatHttpCode.js
new file mode 100644
index 0000000..7b11d15
--- /dev/null
+++ b/src/pages/activities/CatHttpCode.js
@@ -0,0 +1,42 @@
+import "../../styles/pages/activities/CatHttpCode.css"
+import { useState } from "react";
+
+export const CatHttpCode = () => {
+ const [httpCode, setHttpCode] = useState("");
+ const [imageUrl, setImageUrl] = useState("");
+ const [error, setError] = useState("");
+
+ const handleSubmit = (e) => {
+ e.preventDefault();
+
+ if (httpCode < 100 || httpCode > 599 || isNaN(httpCode)) {
+ setError("Please enter a valid HTTP status code (100-599).");
+ setImageUrl("");
+ } else {
+ setError(""); //Clear any existing error
+ setImageUrl(`https://http.cat/${httpCode}.jpg`); //Construct the image url
+ }
+ };
+
+ return (
+
+
Cat Http Status Code
+
+
+ {error &&
{error}
}
+ {imageUrl && (
+
+

+
+ )}
+
+ )
+}
\ No newline at end of file
diff --git a/src/styles/pages/activities/CatHttpCode.css b/src/styles/pages/activities/CatHttpCode.css
new file mode 100644
index 0000000..7cc0919
--- /dev/null
+++ b/src/styles/pages/activities/CatHttpCode.css
@@ -0,0 +1,58 @@
+.cat-root {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 20px;
+}
+
+.cat-form {
+ display: flex;
+ flex-direction: row;
+ margin: 20px 0;
+}
+
+.cat-input {
+ width: 25rem;
+ height: 5rem;
+ padding: 0.5rem;
+ font-size: 16px;
+ border: 1px solid #ccc;
+ border-radius: 8px;
+ margin-right: 10px;
+ transition: border-color 300ms;
+}
+
+.cat-input:focus {
+ outline: none;
+ border-color: blue;
+}
+
+.cat-submit {
+ font-size: 18px;
+ background-color: white;
+ border: 1px solid blue;
+ color: blue;
+ padding: 10px 15px;
+ border-radius: 10px;
+ transition: background-color 0.3s, transform 0.3s;
+}
+
+.cat-submit:hover {
+ cursor: pointer;
+ background-color: rgb(10, 80, 193);
+ color: white;
+ transform: scale(1.1);
+}
+
+.cat-error {
+ color: red;
+ font-size: 16px;
+ margin-top: 10px;
+}
+
+.cat-image {
+ margin-top: 20px;
+ max-width: 30rem;
+ max-height: 30rem;
+ object-fit: contain;
+}