AiDeveloper1 commited on
Commit
0652a91
·
verified ·
1 Parent(s): 73fe99a

Upload index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +119 -0
templates/index.html ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Web Scraper</title>
7
+ <style>
8
+ body {
9
+ font-family: Arial, sans-serif;
10
+ max-width: 800px;
11
+ margin: 0 auto;
12
+ padding: 20px;
13
+ }
14
+ .form-group {
15
+ margin-bottom: 15px;
16
+ }
17
+ label {
18
+ display: block;
19
+ margin-bottom: 5px;
20
+ }
21
+ input {
22
+ width: 100%;
23
+ padding: 8px;
24
+ box-sizing: border-box;
25
+ }
26
+ button {
27
+ padding: 10px 20px;
28
+ background-color: #007bff;
29
+ color: white;
30
+ border: none;
31
+ cursor: pointer;
32
+ }
33
+ button:hover {
34
+ background-color: #0056b3;
35
+ }
36
+ #error-message {
37
+ color: red;
38
+ margin-top: 10px;
39
+ display: none;
40
+ }
41
+ #success-message {
42
+ color: green;
43
+ margin-top: 10px;
44
+ display: none;
45
+ }
46
+ #result {
47
+ margin-top: 20px;
48
+ }
49
+ </style>
50
+ </head>
51
+ <body>
52
+ <h1>Web Scraper</h1>
53
+ <form id="scrape-form">
54
+ <div class="form-group">
55
+ <label for="url">Website URL:</label>
56
+ <input type="url" id="url" name="url" required placeholder="https://example.com">
57
+ </div>
58
+ <div class="form-group">
59
+ <label for="email">Email Address:</label>
60
+ <input type="email" id="email" name="email" required placeholder="[email protected]">
61
+ </div>
62
+ <button type="submit">Scrape Website</button>
63
+ </form>
64
+ <div id="error-message"></div>
65
+ <div id="success-message"></div>
66
+ <div id="result"></div>
67
+
68
+ <script>
69
+ const form = document.getElementById('scrape-form');
70
+ const errorMessage = document.getElementById('error-message');
71
+ const successMessage = document.getElementById('success-message');
72
+ const resultDiv = document.getElementById('result');
73
+
74
+ form.addEventListener('submit', async (e) => {
75
+ e.preventDefault();
76
+ errorMessage.style.display = 'none';
77
+ successMessage.style.display = 'none';
78
+ resultDiv.innerHTML = '';
79
+
80
+ const url = document.getElementById('url').value;
81
+ const email = document.getElementById('email').value;
82
+
83
+ // Show success message immediately on form submission
84
+ successMessage.textContent = `RCS generation started, a mail will be sent to ${email} within 5 to 10 min.`;
85
+ successMessage.style.display = 'block';
86
+
87
+ try {
88
+ const response = await fetch(`/scrape?url=${encodeURIComponent(url)}&email=${encodeURIComponent(email)}`, {
89
+ method: 'GET',
90
+ headers: {
91
+ 'Content-Type': 'application/json'
92
+ }
93
+ });
94
+
95
+ if (!response.ok) {
96
+ const errorData = await response.json();
97
+ // Hide success message if an error occurs
98
+ successMessage.style.display = 'none';
99
+ if (response.status === 403 && errorData.detail === 'Personal email addresses do not have access to generate RCS.') {
100
+ errorMessage.textContent = 'Personal email addresses do not have access to generate RCS.';
101
+ } else if (response.status === 400 && errorData.detail === 'This email is already used to create RCS. For more information, contact support team.') {
102
+ errorMessage.textContent = 'This email is already used to create RCS. For more information, contact support team.';
103
+ } else {
104
+ errorMessage.textContent = errorData.detail || 'An error occurred while scraping the website.';
105
+ }
106
+ errorMessage.style.display = 'block';
107
+ return;
108
+ }
109
+ } catch (error) {
110
+ console.error('Error:', error);
111
+ // Hide success message if a network error occurs
112
+ successMessage.style.display = 'none';
113
+ errorMessage.textContent = 'Failed to connect to the server.';
114
+ errorMessage.style.display = 'block';
115
+ }
116
+ });
117
+ </script>
118
+ </body>
119
+ </html>