diff --git a/src/App.css b/src/App.css
index fa8a56d..2278f4d 100644
--- a/src/App.css
+++ b/src/App.css
@@ -195,8 +195,6 @@
}
}
-
-/* Additional styling for responsiveness */
@media (max-width: 768px) {
.contact-form {
flex-direction: column;
@@ -209,10 +207,6 @@
}
}
-/* Info card in mars section */
-
-
-
.card {
border-radius: 10px;
filter: drop-shadow(0 5px 10px 0 #ffffff);
@@ -283,8 +277,6 @@
width: 350px;
}
- /*mars illus optimized for mobile devices*/
-
.rover_section_img {
display: flex;
justify-content: center;
@@ -385,8 +377,6 @@
height: 80%;
}
-/* sidebar for mobile devices*/
-
.sidebar-icon {
position: absolute;
top: 80px;
diff --git a/src/App.jsx b/src/App.jsx
index 73273cd..7820b4b 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -9,11 +9,8 @@ import PreLoader from './components/PreLoader/PreLoader.jsx'
import { useState } from 'react'
import Chatbot from './components/Chatbot/chatbot.jsx';
-
function App() {
-
const [isPreLoading, setIsPreLoading] = useState(true)
-
return (
<>
{isPreLoading && }
@@ -27,5 +24,4 @@ function App() {
>
);
}
-
export default App;
diff --git a/src/components/Navbar/Navbar.css b/src/components/Navbar/Navbar.css
index dd84ec7..068e7fb 100644
--- a/src/components/Navbar/Navbar.css
+++ b/src/components/Navbar/Navbar.css
@@ -2,7 +2,7 @@
position: fixed;
top: 0;
left: 0;
- width: 100dvw;
+ width: 100%;
background-image: linear-gradient(to left, rgba(10, 0, 73, 0.9), rgba(0, 0, 0, 0.9));
color: #fff;
padding: 1rem 2rem;
@@ -27,7 +27,7 @@
}
.navigator {
- /* overflow: hidden; */
+ overflow: hidden;
}
.navigator.open {
@@ -42,8 +42,6 @@
gap: 2rem;
}
-/* */
-
.navbar-links.open {
display: flex;
flex-direction: column;
@@ -71,47 +69,19 @@
opacity: 1;
}
-.navbar-list-item-contact-us {
- opacity: 0.7;
- list-style-type: none;
- transition: 0.5s;
-}
-
-.active {
- text-decoration: none;
- opacity: 1;
- color: rgb(0, 255, 255);
- font-weight: bold;
-}
-
.navbar-list-item:after {
content: "";
- /* Empty content for pseudo-element */
position: absolute;
- /* Absolute positioning for underline */
width: 100%;
- /* Full width of the list item */
height: 2px;
- /* Underline height */
background-color: aqua;
- /* White underline color */
opacity: 0;
- /* Initially hidden */
transition: all 0.3s;
- /* Smooth transition on hover */
bottom: -7px;
- /* Increased gap */
left: 0;
- /* Align underline to the left of the list item */
}
.navbar-list-item:hover:after {
- /* font-size: large; */
- opacity: 1;
-}
-
-.navbar-list-item-contact-us:hover {
- /* font-size: large; */
opacity: 1;
}
@@ -146,7 +116,7 @@
top: 0;
right: 0;
width: 30%;
- height: 100dvh;
+ height: 100vh;
background-color: #030013ee;
overflow: auto;
z-index: 10;
@@ -175,4 +145,4 @@
.logo-img {
width: 250px;
}
-}
\ No newline at end of file
+}
diff --git a/src/components/Navbar/Navbar.jsx b/src/components/Navbar/Navbar.jsx
index 986c998..41124e6 100644
--- a/src/components/Navbar/Navbar.jsx
+++ b/src/components/Navbar/Navbar.jsx
@@ -121,6 +121,9 @@ function Navbar() {
("rem-default " + (isActive ? ' active' : ''))} to="/about">About us
+
+ ("rem-default " + (isActive ? ' active' : ''))} to="/rateus">Rate Us
+
{renderContactLink()}
diff --git a/src/main.jsx b/src/main.jsx
index ee0b24b..d5b7ab7 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -3,6 +3,7 @@ import ReactDOM from 'react-dom/client'
import { createBrowserRouter, createRoutesFromElements, RouterProvider, Route } from "react-router-dom"
import './index.css'
import App from './App.jsx'
+import Rateus from './pages/Rateus/Rateus.jsx'
import Home from "./pages/Home/Home.jsx"
import MarsRover from './pages/MarsRover/MarsRover.jsx'
import NasaProjects from "./pages/NasaProjects/NasaProjects.jsx"
@@ -16,6 +17,7 @@ const router = createBrowserRouter(
} />
} />
} />
+ } />
} />
)
diff --git a/src/pages/Rateus/Rateus.css b/src/pages/Rateus/Rateus.css
new file mode 100644
index 0000000..5cc84e7
--- /dev/null
+++ b/src/pages/Rateus/Rateus.css
@@ -0,0 +1,92 @@
+.rate-us-container {
+ border: 1px solid #ccc;
+ padding: 20px;
+ width: 350px;
+ margin: 130px auto 0;
+ border-radius: 10px;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+ background-color: rgb(245, 245, 249);
+ transition: box-shadow 0.3s ease, background-color 0.3s ease;
+}
+
+.rate-us-container:hover {
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
+ background-color: #f9f9f9;
+}
+
+.rate-us-container h1 {
+ margin-bottom: 20px;
+ color: black;
+ text-align: center;
+}
+
+.stars {
+ display: flex;
+ justify-content: center;
+ margin-bottom: 20px;
+}
+
+label {
+ display: block;
+ cursor: pointer;
+}
+
+input[type='radio'] {
+ display: none;
+}
+
+.star {
+ color: #e4e5e9;
+ font-size: 24px;
+ cursor: pointer;
+ transition: color 0.2s;
+}
+
+.star:hover,
+.star:hover ~ .star {
+ color: #ffc107;
+}
+
+form {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+textarea {
+ width: 100%;
+ height: 120px;
+ margin-bottom: 10px;
+ padding: 10px;
+ border-radius: 5px;
+ border: 1px solid #ccc;
+ resize: none;
+ z-index: 1;
+}
+
+button {
+ background-color: #4caf50;
+ color: white;
+ border: none;
+ padding: 10px 20px;
+ border-radius: 5px;
+ cursor: pointer;
+ transition: background-color 0.3s ease;
+}
+
+button:hover {
+ background-color: #45a049;
+}
+
+.toast {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background-color: #4caf50;
+ color: white;
+ padding: 15px 30px;
+ border-radius: 8px;
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
+ z-index: 1000;
+}
diff --git a/src/pages/Rateus/Rateus.jsx b/src/pages/Rateus/Rateus.jsx
new file mode 100644
index 0000000..65ad2f1
--- /dev/null
+++ b/src/pages/Rateus/Rateus.jsx
@@ -0,0 +1,74 @@
+import React, { useState } from 'react';
+import './Rateus.css';
+
+const RateUs = () => {
+ const [rating, setRating] = useState(null);
+ const [hover, setHover] = useState(null);
+ const [feedback, setFeedback] = useState('');
+ const [showMessage, setShowMessage] = useState(false); // State for showing message
+ const [message, setMessage] = useState(''); // State for the message content
+
+ const handleSubmit = (event) => {
+ event.preventDefault(); // Prevent default form submission
+
+ // Show the message for 3 seconds
+ setMessage(`Thanks For Your Feedback: "${feedback}"`);
+ setShowMessage(true);
+ setTimeout(() => {
+ setShowMessage(false);
+ setFeedback('');
+ }, 3000);
+ };
+
+ return (
+
+
Rate Us
+
+ {[...Array(5)].map((_, index) => {
+ const ratingValue = index + 1;
+
+ return (
+
+ );
+ })}
+
+
+
+ {showMessage && (
+
+ {message}
+
+ )}
+
+ );
+};
+
+export default RateUs;