Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Dashboard - Biryani Hub</title> | |
| <style> | |
| /* General Body Styling */ | |
| body { | |
| font-family: Arial, sans-serif; | |
| background-color: #f0f0f0; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| /* Container for the dashboard content */ | |
| .dashboard-container { | |
| max-width: 900px; | |
| margin: 50px auto; | |
| padding: 20px; | |
| background-color: #fff; | |
| box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| border-radius: 8px; | |
| text-align: center; | |
| } | |
| /* Heading Style */ | |
| h1 { | |
| font-size: 2.5rem; | |
| color: #333; | |
| margin-bottom: 20px; | |
| } | |
| /* Paragraph Style */ | |
| p { | |
| font-size: 1.2rem; | |
| color: #666; | |
| margin-bottom: 30px; | |
| } | |
| /* Link Style */ | |
| a { | |
| text-decoration: none; | |
| color: #4CAF50; | |
| font-weight: bold; | |
| font-size: 1.2rem; | |
| transition: color 0.3s; | |
| } | |
| a:hover { | |
| color: #45a049; | |
| } | |
| /* Button for listening */ | |
| #listen-btn, #logout-btn { | |
| padding: 10px 20px; | |
| background-color: #4CAF50; | |
| color: white; | |
| border: none; | |
| border-radius: 5px; | |
| cursor: pointer; | |
| font-size: 1.2rem; | |
| margin-top: 20px; | |
| } | |
| #listen-btn:hover, #logout-btn:hover { | |
| background-color: #45a049; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="dashboard-container"> | |
| <h1>Welcome to the Dashboard</h1> | |
| <p>This is your user dashboard where you can access various features.</p> | |
| <a href="/menu">Go to Menu</a> | |
| <!-- Button for triggering voice recognition --> | |
| <button id="listen-btn">Say "Go to Menu" or "Logout"</button> | |
| <!-- Logout Button --> | |
| <button id="logout-btn" onclick="logout()">Logout</button> | |
| </div> | |
| <script> | |
| // Check for SpeechRecognition support | |
| const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; | |
| if (!SpeechRecognition) { | |
| alert("Your browser does not support speech recognition. Please use Chrome."); | |
| } else { | |
| const recognition = new SpeechRecognition(); | |
| recognition.lang = 'en-US'; | |
| recognition.interimResults = false; | |
| recognition.maxAlternatives = 1; | |
| // Function to speak the message | |
| function speak(text) { | |
| const msg = new SpeechSynthesisUtterance(text); | |
| msg.rate = 1; // Speed of speech | |
| window.speechSynthesis.speak(msg); | |
| } | |
| // Button for listening to user input | |
| const listenButton = document.getElementById("listen-btn"); | |
| listenButton.addEventListener("click", () => { | |
| speak("Please say 'Go to Menu' to navigate to the menu or 'Logout' to log out."); | |
| recognition.start(); | |
| }); | |
| // Handle speech recognition result | |
| recognition.onresult = (event) => { | |
| const command = event.results[0][0].transcript.toLowerCase(); | |
| console.log("User said:", command); | |
| // If user says "Go to Menu", navigate to the menu | |
| if (command.includes("go to menu")) { | |
| window.location.href = "/menu"; | |
| } | |
| // If user says "Logout", log out | |
| else if (command.includes("logout")) { | |
| window.location.href = "/login"; // Redirect to login page | |
| } | |
| }; | |
| // Handle errors in speech recognition | |
| recognition.onerror = (event) => { | |
| console.error("Speech recognition error:", event.error); | |
| speak("Sorry, I couldn't understand that. Please try again."); | |
| }; | |
| } | |
| </script> | |
| </body> | |
| </html> | |