Spaces:
Sleeping
Sleeping
File size: 4,429 Bytes
4e70d0d d4eb4c5 0e4d29e d4eb4c5 450cc5e d4eb4c5 450cc5e d4eb4c5 450cc5e d4eb4c5 0e4d29e d4eb4c5 7d3c48f 19b4f7c a92c97e d4eb4c5 0e4d29e a92c97e d4eb4c5 a945a59 a92c97e d4eb4c5 a945a59 d4eb4c5 450cc5e a945a59 d4eb4c5 450cc5e 6bd41b6 d4eb4c5 5419508 6bd41b6 450cc5e d4eb4c5 9a74cb9 450cc5e 6bd41b6 450cc5e 6bd41b6 450cc5e 6bd41b6 450cc5e 6bd41b6 7d43ab3 450cc5e 7d43ab3 7edfa8d 450cc5e d4eb4c5 450cc5e d4eb4c5 b31d6fc d4eb4c5 |
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 |
<!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);
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
text-align: center;
}
.container {
background: lightblue;
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;
}
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;
}
.status {
font-size: 14px;
color: gray;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<h1>Welcome to Biryani Hub</h1>
<label for="name">Your Name</label>
<input type="text" id="name" placeholder="Your name will appear here..." readonly>
<label for="email">Your Email</label>
<input type="text" id="email" placeholder="Your email will appear here..." readonly>
<p class="info" id="infoMessage">Listening will start automatically...</p>
<p class="status" id="status">Initializing...</p>
</div>
<script>
let recognition;
let isNameCaptured = false;
let isEmailCaptured = false;
if ('webkitSpeechRecognition' in window) {
recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.interimResults = false;
recognition.lang = 'en-US';
} else {
alert("Speech Recognition API is not supported in this browser.");
}
function speak(text, callback) {
const speech = new SpeechSynthesisUtterance(text);
speech.onend = callback;
window.speechSynthesis.speak(speech);
}
function startProcess() {
speak("Welcome to Biryani Hub", function() {
speak("Tell me your name", startListening);
});
}
function startListening() {
const status = document.getElementById('status');
const nameInput = document.getElementById('name');
const emailInput = document.getElementById('email');
recognition.start();
recognition.onresult = function(event) {
let transcript = event.results[0][0].transcript.trim();
if (isNameCaptured && !isEmailCaptured) {
const cleanedEmail = transcript.replace(/\s/g, '').replace(/\bat\b/gi, '@');
emailInput.value = cleanedEmail.replace(/@{2,}/g, '@'); // Ensure only one @
status.textContent = 'Registration complete.';
speak("Registration complete. Go to the next step and take the order you want.");
setTimeout(() => location.reload(), 20000);
isEmailCaptured = true;
} else if (!isNameCaptured) {
nameInput.value = transcript;
status.textContent = 'Listening for your email...';
recognition.stop();
isNameCaptured = true;
speak("Tell me your email", function() {
recognition.start();
});
}
};
}
window.onload = function () {
setTimeout(startProcess, 4000);
};
</script>
</body>
</html>
|