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