diff --git a/src/assets/images/404/doggo.webp b/src/assets/images/404/doggo.webp
deleted file mode 100644
index 01a6f59..0000000
Binary files a/src/assets/images/404/doggo.webp and /dev/null differ
diff --git a/src/assets/images/404/doggo_img.webp b/src/assets/images/404/doggo_img.webp
new file mode 100644
index 0000000..71ca99d
Binary files /dev/null and b/src/assets/images/404/doggo_img.webp differ
diff --git a/src/assets/images/404/reversed_doggo_img.webp b/src/assets/images/404/reversed_doggo_img.webp
new file mode 100644
index 0000000..807fd38
Binary files /dev/null and b/src/assets/images/404/reversed_doggo_img.webp differ
diff --git a/src/components/shared/button/Button.jsx b/src/components/shared/button/Button.jsx
index 474aaaa..a3212f6 100644
--- a/src/components/shared/button/Button.jsx
+++ b/src/components/shared/button/Button.jsx
@@ -1,9 +1,9 @@
import PropTypes from "prop-types";
import React from "react";
-import { Link } from "react-router-dom";
+import {Link} from "react-router-dom";
import "./Button.scss";
-const Button = ({ type, isLoading, isDisabled, to, onClick, children }) => {
+const Button = ({type, isLoading, isDisabled, to, onClick, children}) => {
const buttonClass = `button ${type} ${isLoading ? "loading" : ""}`;
if (to) {
diff --git a/src/pages/404/Notfound.jsx b/src/pages/404/Notfound.jsx
index 1467cd9..c0aa142 100644
--- a/src/pages/404/Notfound.jsx
+++ b/src/pages/404/Notfound.jsx
@@ -1,44 +1,82 @@
-import React from "react";
-
-import Crying_Doge_Image from "../../assets/images/404/doggo.webp";
-import {Button} from "../../components/shared";
+import React, {useState} from "react";
+import PropTypes from "prop-types";
+import {Link} from "react-router-dom";
+import DogeImage from "../../assets/images/404/doggo_img.webp";
+import ReversedDogeImage from "../../assets/images/404/reversed_doggo_img.webp";
import petHimCircle from "../../assets/images/404/petHimCircle.svg";
-
import "./Notfound.scss";
+import "../../components/shared/button/Button.scss";
const Notfound = () => {
- return (
- <>
-
-
-
-
404!
+ const [isReversed, setIsReversed] = useState(false);
+ const [circlePosition, setCirclePosition] = useState({x: 0, y: 0});
+ const [isHovering, setIsHovering] = useState(false);
-
- This page was not found, but you can stay here and pet our dogo
-
+ const toggleImage = () => {
+ setIsReversed(!isReversed);
+ };
-
+ const handleMouseMove = (e) => {
+ if (isHovering) {
+ const rect = e.target.getBoundingClientRect();
+ setCirclePosition({
+ x: e.clientX - rect.left,
+ y: e.clientY - rect.top,
+ });
+ }
+ };
-
-
-
-
+ const handleMouseEnter = (e) => {
+ setIsHovering(true);
+ const rect = e.target.getBoundingClientRect();
+ setCirclePosition({
+ x: e.clientX - rect.left,
+ y: e.clientY - rect.top,
+ });
+ };
-
-
-
-
+ const handleMouseLeave = () => {
+ setIsHovering(false);
+ };
-
-
-
+ return (
+
+
+
+
404!
+
This page was not found, but you can stay here and pet our dogo
+
+
+ Back to Homepage
+
+
+
+
+
+
+ {isHovering && (
+
+
+
+ )}
- >
+
);
};
diff --git a/src/pages/404/Notfound.scss b/src/pages/404/Notfound.scss
index 5aaa829..eb0407b 100644
--- a/src/pages/404/Notfound.scss
+++ b/src/pages/404/Notfound.scss
@@ -1,15 +1,20 @@
+html,
+body {
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+ height: 100%;
+}
+
.pageNotFound__container {
padding: 4rem 7rem;
- padding-bottom: 0;
- margin-top: 5rem;
- margin-bottom: 5rem;
position: relative;
overflow: hidden;
+ height: 100%;
+ box-sizing: border-box;
@media screen and (max-width: 576px) {
padding: 2rem 1.5rem;
- margin-top: 2rem;
- margin-bottom: 2rem;
}
.pageNotFound__content {
@@ -18,13 +23,22 @@
gap: 5rem;
@media screen and (max-width: 576px) {
- display: flex;
flex-direction: column;
- gap: 2rem;
+ gap: 1rem;
+ }
+
+ @media screen and (min-width: 1800px) {
+ gap: 5rem;
}
.pageNotFound__desc {
- width: 60%;
+ width: 55%;
+ display: flex;
+ flex-direction: column;
+ text-align: left;
+ justify-content: center;
+ padding-top: 2rem;
+ padding-bottom: 2rem;
@media screen and (max-width: 576px) {
width: 100%;
@@ -40,13 +54,16 @@
font-weight: 800;
color: transparent;
-webkit-text-stroke: 1px white;
- margin-top: 3rem;
margin-bottom: 2rem;
@media screen and (max-width: 576px) {
font-size: 50px;
font-weight: 700;
- margin-top: 2rem;
+ margin-bottom: 2rem;
+ }
+
+ @media screen and (min-width: 1800px) {
+ font-size: 75px;
}
}
@@ -59,30 +76,25 @@
@media screen and (max-width: 576px) {
font-size: 25px;
font-weight: 700;
- }
- }
-
- .notfound__petDogeCircle {
- margin-top: 0rem;
- display: flex;
- justify-content: flex-end;
-
- @media screen and (max-width: 576px) {
- display: none;
+ margin-bottom: 2rem;
}
@media screen and (min-width: 1800px) {
- margin-top: 5rem;
+ font-size: 70px;
}
}
+
+ .back_to_home_page_btn {
+ display: inline-block;
+ }
}
.notfound__doge_container {
+ width: 40%;
display: flex;
- flex-direction: column;
+ align-items: center;
justify-content: center;
- width: 40%;
- height: 100%;
+ position: relative;
@media screen and (max-width: 576px) {
margin-top: 2rem;
@@ -93,41 +105,57 @@
width: 50%;
}
- .notfound__petDogeCircle_mobile {
+ .doge__image {
display: flex;
- justify-content: flex-end;
- margin-top: -4rem;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: auto;
+ cursor: none;
- @media screen and (min-width: 1200px) {
- display: none;
+ @media screen and (max-width: 576px) {
+ width: 100%;
+ height: auto;
}
img {
- width: 30%;
+ width: 100%;
+ height: auto;
+ object-fit: cover;
+
+ @media screen and (max-width: 576px) {
+ width: 85%;
+ height: auto;
+ display: block;
+ }
+
+ @media screen and (min-width: 1800px) {
+ width: 80%;
+ }
}
}
- .doge__image {
+ .notfound__petDogeCircle {
+ margin-top: 0rem;
display: flex;
- justify-content: center;
- align-items: center;
- width: 100%;
+ justify-content: flex-end;
+ z-index: 1;
img {
width: 100%;
- height: auto;
- display: block;
@media screen and (max-width: 576px) {
- width: 80%;
- height: auto;
- display: block;
+ width: 85%;
}
@media screen and (min-width: 1800px) {
- width: 75%;
+ width: 100%;
}
}
+
+ @media screen and (min-width: 1800px) {
+ margin-top: 5rem;
+ }
}
}
}