File size: 5,747 Bytes
4e70d0d ff7b68c 0e4d29e ff7b68c 0e4d29e ff7b68c 0e4d29e a945a59 0e4d29e a945a59 0e4d29e a945a59 0e4d29e a945a59 0e4d29e 9a74cb9 5419508 9a74cb9 39f158e 8d52aa5 39f158e 5419508 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Biryani Hub Registration</title>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Roboto', sans-serif;
background: linear-gradient(135deg, #f4c542, #ff8f6a); /* Light gradient background */
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
text-align: center;
}
.container {
background: white;
padding: 40px 50px;
border-radius: 10px;
width: 400px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
h1 {
font-size: 30px;
font-weight: bold;
color: #ff6a00; /* Bright orange for title */
}
label {
font-size: 18px;
margin-top: 20px;
display: block;
text-align: left;
}
input[type="text"] {
width: 100%;
padding: 10px;
font-size: 16px;
border: 1px solid #ccc;
border-radius: 5px;
margin-top: 8px;
}
.info {
margin-top: 20px;
font-size: 16px;
color: #ff6a00;
font-weight: bold;
}
.btn {
margin-top: 30px;
padding: 12px;
background-color: #ff6a00;
color: white;
font-size: 18px;
font-weight: bold;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}
.btn:hover {
background-color: #ff5500;
}
.status {
font-size: 14px;
color: gray;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<h1>Biryani Hub</h1>
<!-- Name Input Field -->
<label for="name">Name:</label>
<input type="text" id="name" placeholder="Your name will appear here..." readonly>
<!-- Email Input Field -->
<label for="email">Email:</label>
<input type="text" id="email" placeholder="Your email will appear here..." readonly>
<!-- Info Message for Listening -->
<p class="info">Listening will start automatically...</p>
<!-- Status Message -->
<p class="status" id="status">Initializing...</p>
</div>
<script>
let recognition;
let isListening = false;
// Initialize speech recognition
if ('webkitSpeechRecognition' in window) {
recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.lang = 'en-US';
} else {
alert("Speech Recognition API is not supported in this browser.");
}
// Function to make the welcome message speak automatically when the page loads
function welcomeMessage() {
const welcomeMsg = "Welcome to Biryani Hub. Please say your name after the beep.";
const speech = new SpeechSynthesisUtterance(welcomeMsg);
window.speechSynthesis.speak(speech);
}
// Make sure to start listening as soon as the page loads
window.onload = function () {
welcomeMessage(); // Automatically say the welcome message
setTimeout(startListening, 5000); // Start listening after the welcome message
};
// Function to start listening to voice input
function startListening() {
const status = document.getElementById('status');
const nameInput = document.getElementById('name');
const emailInput = document.getElementById('email');
status.textContent = 'Listening for your name...';
recognition.start(); // Start voice recognition
// Handle recognition results
recognition.onresult = function(event) {
const transcript = event.results[event.resultIndex][0].transcript.trim();
if (event.results[event.resultIndex].isFinal) {
if (!nameInput.value) {
// If name is empty, fill it with the recognized text
nameInput.value = transcript;
status.textContent = 'Listening for your email...';
recognition.stop(); // Stop listening for name
recognition.start(); // Start listening for email
} else if (nameInput.value && !emailInput.value) {
// If email is empty, fill it with the recognized text
emailInput.value = transcript;
status.textContent = 'Registration complete.';
// After registration is complete, refresh page automatically after 15 seconds
setTimeout(() => location.reload(), 15000); // Refresh after 15 seconds
}
}
};
recognition.onerror = function(event) {
console.error('Speech recognition error:', event.error);
status.textContent = 'Error recognizing speech. Please try again.';
};
}
// Event listener for button to start listening
document.getElementById('status').addEventListener('click', startListening);
</script>
</body>
</html>
|