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>