shaike123 commited on
Commit
78841af
Β·
verified Β·
1 Parent(s): 3a8067a

the click to upload button not working

Browse files
Files changed (2) hide show
  1. README.md +8 -4
  2. index.html +214 -18
README.md CHANGED
@@ -1,10 +1,14 @@
1
  ---
2
- title: Facesleuth Pro
3
- emoji: πŸŒ–
4
- colorFrom: blue
5
  colorTo: red
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
1
  ---
2
+ title: FaceSleuth Pro πŸ”
3
+ colorFrom: yellow
 
4
  colorTo: red
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
14
+
index.html CHANGED
@@ -1,19 +1,215 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
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>FaceSleuth Pro</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
12
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r134/three.min.js"></script>
13
+ <style>
14
+ .gradient-bg {
15
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
16
+ }
17
+ .glass-effect {
18
+ background: rgba(255, 255, 255, 0.1);
19
+ backdrop-filter: blur(10px);
20
+ border: 1px solid rgba(255, 255, 255, 0.2);
21
+ }
22
+ .upload-area {
23
+ border: 2px dashed rgba(255, 255, 255, 0.3);
24
+ transition: all 0.3s ease;
25
+ }
26
+ .upload-area:hover {
27
+ border-color: rgba(255, 255, 255, 0.5);
28
+ background: rgba(255, 255, 255, 0.05);
29
+ }
30
+ .pulse-animation {
31
+ animation: pulse 2s infinite;
32
+ }
33
+ @keyframes pulse {
34
+ 0% { transform: scale(1); }
35
+ 50% { transform: scale(1.05); }
36
+ 100% { transform: scale(1); }
37
+ }
38
+ </style>
39
+ </head>
40
+ <body class="min-h-screen text-white gradient-bg">
41
+ <div id="vanta-bg" class="absolute inset-0 z-0"></div>
42
+
43
+ <!-- Navigation -->
44
+ <nav class="relative z-10 glass-effect p-4">
45
+ <div class="container mx-auto flex justify-between items-center">
46
+ <div class="flex items-center space-x-2">
47
+ <i data-feather="search" class="w-6 h-6"></i>
48
+ <h1 class="text-xl font-bold">FaceSleuth Pro</h1>
49
+ </div>
50
+ <div class="flex space-x-4">
51
+ <a href="#" class="hover:text-gray-200 transition">Home</a>
52
+ <a href="#" class="hover:text-gray-200 transition">About</a>
53
+ <a href="#" class="hover:text-gray-200 transition">Contact</a>
54
+ </div>
55
+ </div>
56
+ </nav>
57
+
58
+ <!-- Main Content -->
59
+ <main class="relative z-10 container mx-auto px-4 py-16">
60
+ <div class="max-w-4xl mx-auto text-center">
61
+ <h2 class="text-5xl font-bold mb-6">Uncover Digital Identities with AI-Powered Face Search</h2>
62
+ <p class="text-xl mb-12 opacity-90">Upload a face photo and let our advanced algorithms search the web for matching identities and information.</p>
63
+
64
+ <!-- Upload Section -->
65
+ <div class="glass-effect rounded-2xl p-8 mb-12">
66
+ <div id="uploadArea" class="upload-area rounded-xl p-12 text-center cursor-pointer mb-6">
67
+ <i data-feather="upload-cloud" class="w-16 h-16 mx-auto mb-4 opacity-70"></i>
68
+ <h3 class="text-2xl font-semibold mb-2">Drop Face Image Here</h3>
69
+ <p class="opacity-80 mb-4">or click to browse your files</p>
70
+ <p class="text-sm opacity-60">Supports JPG, PNG, WEBP β€’ Max 5MB</p>
71
+ <input type="file" id="fileInput" class="hidden" accept="image/*">
72
+ </div>
73
+
74
+ <!-- Preview Section -->
75
+ <div id="previewSection" class="hidden">
76
+ <div class="flex flex-col md:flex-row items-center justify-center space-y-6 md:space-y-0 md:space-x-8">
77
+ <div class="text-center">
78
+ <h4 class="font-semibold mb-4">Uploaded Image</h4>
79
+ <img id="imagePreview" class="w-48 h-48 object-cover rounded-lg shadow-lg mx-auto">
80
+ </div>
81
+ <div class="flex items-center">
82
+ <i data-feather="arrow-right" class="w-8 h-8 opacity-60"></i>
83
+ </div>
84
+ <div class="text-center">
85
+ <h4 class="font-semibold mb-4">Search Results</h4>
86
+ <div id="resultsPlaceholder" class="w-48 h-48 glass-effect rounded-lg flex items-center justify-center">
87
+ <i data-feather="search" class="w-12 h-12 opacity-40"></i>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ </div>
92
+
93
+ <!-- Action Button -->
94
+ <button id="searchBtn" class="hidden mt-8 bg-white text-purple-600 px-8 py-4 rounded-full font-semibold hover:bg-gray-100 transition-all duration-300 transform hover:scale-105 pulse-animation">
95
+ <div class="flex items-center space-x-2">
96
+ <i data-feather="search" class="w-5 h-5"></i>
97
+ <span>Start Reverse Search</span>
98
+ </div>
99
+ </button>
100
+ </div>
101
+
102
+ <!-- Features -->
103
+ <div class="grid md:grid-cols-3 gap-8 mb-16">
104
+ <div class="glass-effect p-6 rounded-xl text-center">
105
+ <i data-feather="shield" class="w-12 h-12 mx-auto mb-4 opacity-70"></i>
106
+ <h4 class="text-lg font-semibold mb-2">Secure & Private</h4>
107
+ <p class="opacity-80">Your searches are encrypted and never stored on our servers</p>
108
+ </div>
109
+ <div class="glass-effect p-6 rounded-xl text-center">
110
+ <i data-feather="zap" class="w-12 h-12 mx-auto mb-4 opacity-70"></i>
111
+ <h4 class="text-lg font-semibold mb-2">Lightning Fast</h4>
112
+ <p class="opacity-80">Get results in seconds with our optimized search algorithms</p>
113
+ </div>
114
+ <div class="glass-effect p-6 rounded-xl text-center">
115
+ <i data-feather="globe" class="w-12 h-12 mx-auto mb-4 opacity-70"></i>
116
+ <h4 class="text-lg font-semibold mb-2">Global Database</h4>
117
+ <p class="opacity-80">Search across millions of web pages and social media platforms</p>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </main>
122
+
123
+ <!-- Footer -->
124
+ <footer class="relative z-10 glass-effect py-8">
125
+ <div class="container mx-auto px-4 text-center">
126
+ <p class="opacity-80">&copy; 2024 FaceSleuth Pro. Digital identity investigation made simple.</p>
127
+ </div>
128
+ </footer>
129
+
130
+ <script>
131
+ // Initialize Vanta.js
132
+ VANTA.GLOBE({
133
+ el: "#vanta-bg",
134
+ mouseControls: true,
135
+ touchControls: true,
136
+ gyroControls: false,
137
+ minHeight: 200.00,
138
+ minWidth: 200.00,
139
+ scale: 1.00,
140
+ scaleMobile: 1.00,
141
+ color: 0xffffff,
142
+ backgroundColor: 0x667eea
143
+ });
144
+
145
+ // File upload functionality
146
+ const uploadArea = document.getElementById('uploadArea');
147
+ const fileInput = document.getElementById('fileInput');
148
+ const previewSection = document.getElementById('previewSection');
149
+ const imagePreview = document.getElementById('imagePreview');
150
+ const searchBtn = document.getElementById('searchBtn');
151
+ const resultsPlaceholder = document.getElementById('resultsPlaceholder');
152
+ uploadArea.addEventListener('click', (e) => {
153
+ e.preventDefault();
154
+ e.stopPropagation();
155
+ fileInput.click();
156
+ });
157
+ uploadArea.addEventListener('dragover', (e) => {
158
+ e.preventDefault();
159
+ uploadArea.classList.add('border-white', 'bg-white', 'bg-opacity-10');
160
+ });
161
+
162
+ uploadArea.addEventListener('dragleave', () => {
163
+ uploadArea.classList.remove('border-white', 'bg-white', 'bg-opacity-10');
164
+ });
165
+
166
+ uploadArea.addEventListener('drop', (e) => {
167
+ e.preventDefault();
168
+ uploadArea.classList.remove('border-white', 'bg-white', 'bg-opacity-10');
169
+ const file = e.dataTransfer.files[0];
170
+ handleFile(file);
171
+ });
172
+ fileInput.addEventListener('change', (e) => {
173
+ const file = e.target.files[0];
174
+ if (file) {
175
+ handleFile(file);
176
+ }
177
+ });
178
+ function handleFile(file) {
179
+ if (file && file.type.startsWith('image/')) {
180
+ const reader = new FileReader();
181
+ reader.onload = (e) => {
182
+ imagePreview.src = e.target.result;
183
+ previewSection.classList.remove('hidden');
184
+ searchBtn.classList.remove('hidden');
185
+ uploadArea.classList.add('hidden');
186
+ };
187
+ reader.readAsDataURL(file);
188
+ } else {
189
+ alert('Please select a valid image file (JPG, PNG, WEBP)');
190
+ }
191
+ }
192
+ searchBtn.addEventListener('click', async () => {
193
+ searchBtn.innerHTML = '<div class="flex items-center space-x-2"><div class="animate-spin rounded-full h-5 w-5 border-b-2 border-purple-600"></div><span>Searching...</span></div>';
194
+
195
+ // Simulate API call
196
+ setTimeout(() => {
197
+ resultsPlaceholder.innerHTML = `
198
+ <div class="text-center p-4">
199
+ <i data-feather="check-circle" class="w-8 h-8 text-green-400 mx-auto mb-2"></i>
200
+ <p class="text-sm">3 matches found</p>
201
+ <p class="text-xs opacity-60 mt-2">Processing complete</p>
202
+ </div>
203
+ `;
204
+ feather.replace();
205
+
206
+ searchBtn.innerHTML = '<div class="flex items-center space-x-2"><i data-feather="search" class="w-5 h-5"></i><span>Search Again</span></div>';
207
+ feather.replace();
208
+ }, 2000);
209
+ }
210
+
211
+ // Initialize feather icons
212
+ feather.replace();
213
+ </script>
214
+ </body>
215
  </html>