Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -92,14 +92,14 @@ HTML_CONTENT = """
|
|
92 |
|
93 |
.btn:hover {
|
94 |
color: #ffffff;
|
95 |
-
box-shadow: 0 0 15px rgba(
|
96 |
}
|
97 |
|
98 |
.btn:hover::before {
|
99 |
content: '';
|
100 |
position: absolute;
|
101 |
inset: -10px;
|
102 |
-
background: radial-gradient(circle at center, rgba(
|
103 |
filter: blur(20px);
|
104 |
animation: glowAnimation 2s infinite;
|
105 |
z-index: -1;
|
@@ -116,6 +116,42 @@ HTML_CONTENT = """
|
|
116 |
transform: scale(0.98);
|
117 |
}
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
/* Drop Zone */
|
120 |
.drop-zone {
|
121 |
position: relative;
|
@@ -131,6 +167,18 @@ HTML_CONTENT = """
|
|
131 |
.drop-zone:hover, .drop-zone.drag-over {
|
132 |
border-color: #ffffff;
|
133 |
background: rgba(255, 255, 255, 0.1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
}
|
135 |
|
136 |
.file-input {
|
@@ -320,7 +368,7 @@ HTML_CONTENT = """
|
|
320 |
<p>Copy the following link to embed the video:</p>
|
321 |
<div class="embed-container">
|
322 |
<input type="text" id="embedLink" readonly>
|
323 |
-
<button onclick="copyEmbedLink()" class="btn copy-embed-btn">Copy</button>
|
324 |
</div>
|
325 |
</div>
|
326 |
</div>
|
@@ -470,7 +518,7 @@ HTML_CONTENT = """
|
|
470 |
|
471 |
const copyBtn = document.createElement('button');
|
472 |
copyBtn.textContent = 'Copy Link';
|
473 |
-
copyBtn.className = 'btn copy-btn';
|
474 |
copyBtn.onclick = () => {
|
475 |
navigator.clipboard.writeText(window.location.origin + url).then(() => {
|
476 |
alert('Link copied to clipboard!');
|
@@ -483,7 +531,7 @@ HTML_CONTENT = """
|
|
483 |
if (fileName.toLowerCase().endsWith('.mp4')) {
|
484 |
const embedBtn = document.createElement('button');
|
485 |
embedBtn.textContent = 'Embed Video for Discord';
|
486 |
-
embedBtn.className = 'btn embed-btn';
|
487 |
embedBtn.onclick = () => {
|
488 |
showEmbedModal(url);
|
489 |
};
|
|
|
92 |
|
93 |
.btn:hover {
|
94 |
color: #ffffff;
|
95 |
+
box-shadow: 0 0 15px rgba(0, 122, 255, 0.5);
|
96 |
}
|
97 |
|
98 |
.btn:hover::before {
|
99 |
content: '';
|
100 |
position: absolute;
|
101 |
inset: -10px;
|
102 |
+
background: radial-gradient(circle at center, rgba(0,122,255,0.2), transparent);
|
103 |
filter: blur(20px);
|
104 |
animation: glowAnimation 2s infinite;
|
105 |
z-index: -1;
|
|
|
116 |
transform: scale(0.98);
|
117 |
}
|
118 |
|
119 |
+
/* Small Buttons */
|
120 |
+
.small-btn {
|
121 |
+
padding: 8px 16px;
|
122 |
+
font-size: 0.9rem;
|
123 |
+
font-weight: 500;
|
124 |
+
background-color: #2a2a2a;
|
125 |
+
color: #ffffff;
|
126 |
+
border: none;
|
127 |
+
border-radius: 5px;
|
128 |
+
cursor: pointer;
|
129 |
+
transition: color 0.3s ease, box-shadow 0.3s ease;
|
130 |
+
position: relative;
|
131 |
+
overflow: hidden;
|
132 |
+
z-index: 1;
|
133 |
+
}
|
134 |
+
|
135 |
+
.small-btn:hover {
|
136 |
+
color: #ffffff;
|
137 |
+
box-shadow: 0 0 10px rgba(0, 122, 255, 0.5);
|
138 |
+
}
|
139 |
+
|
140 |
+
.small-btn:hover::before {
|
141 |
+
content: '';
|
142 |
+
position: absolute;
|
143 |
+
inset: -10px;
|
144 |
+
background: radial-gradient(circle at center, rgba(0,122,255,0.2), transparent);
|
145 |
+
filter: blur(15px);
|
146 |
+
animation: glowAnimation 2s infinite;
|
147 |
+
z-index: -1;
|
148 |
+
pointer-events: none;
|
149 |
+
}
|
150 |
+
|
151 |
+
.small-btn:active {
|
152 |
+
transform: scale(0.98);
|
153 |
+
}
|
154 |
+
|
155 |
/* Drop Zone */
|
156 |
.drop-zone {
|
157 |
position: relative;
|
|
|
167 |
.drop-zone:hover, .drop-zone.drag-over {
|
168 |
border-color: #ffffff;
|
169 |
background: rgba(255, 255, 255, 0.1);
|
170 |
+
position: relative;
|
171 |
+
}
|
172 |
+
|
173 |
+
.drop-zone:hover::before {
|
174 |
+
content: '';
|
175 |
+
position: absolute;
|
176 |
+
inset: -10px;
|
177 |
+
background: radial-gradient(circle at center, rgba(0,122,255,0.2), transparent);
|
178 |
+
filter: blur(20px);
|
179 |
+
animation: glowAnimation 2s infinite;
|
180 |
+
z-index: -1;
|
181 |
+
pointer-events: none;
|
182 |
}
|
183 |
|
184 |
.file-input {
|
|
|
368 |
<p>Copy the following link to embed the video:</p>
|
369 |
<div class="embed-container">
|
370 |
<input type="text" id="embedLink" readonly>
|
371 |
+
<button onclick="copyEmbedLink()" class="small-btn copy-embed-btn">Copy</button>
|
372 |
</div>
|
373 |
</div>
|
374 |
</div>
|
|
|
518 |
|
519 |
const copyBtn = document.createElement('button');
|
520 |
copyBtn.textContent = 'Copy Link';
|
521 |
+
copyBtn.className = 'small-btn copy-btn';
|
522 |
copyBtn.onclick = () => {
|
523 |
navigator.clipboard.writeText(window.location.origin + url).then(() => {
|
524 |
alert('Link copied to clipboard!');
|
|
|
531 |
if (fileName.toLowerCase().endsWith('.mp4')) {
|
532 |
const embedBtn = document.createElement('button');
|
533 |
embedBtn.textContent = 'Embed Video for Discord';
|
534 |
+
embedBtn.className = 'small-btn embed-btn';
|
535 |
embedBtn.onclick = () => {
|
536 |
showEmbedModal(url);
|
537 |
};
|