Spaces:
Runtime error
Runtime error
Firing buttons with colors (#3)
Browse files- Firing buttons with colors (563b65224962a273f4023dbd7e5793285eb8de1c)
- Update app.py (01006ae7e5c0f2c7d597de9dc58be4ebc591a784)
- Update app.py (c6b69d9c65ecd6f243973db46141ba393cb7076b)
Co-authored-by: Apolinário from multimodal AI art <multimodalart@users.noreply.huggingface.co>
app.py
CHANGED
|
@@ -162,8 +162,17 @@ css = '''.gradio-container{max-width: 700px !important}
|
|
| 162 |
#description{text-align: center}
|
| 163 |
#description h1{display: block}
|
| 164 |
#description p{margin-top: 0}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
'''
|
| 166 |
-
|
| 167 |
<script>
|
| 168 |
document.addEventListener('keydown', function(event) {
|
| 169 |
if (event.key === 'a' || event.key === 'A') {
|
|
@@ -177,10 +186,30 @@ document.addEventListener('keydown', function(event) {
|
|
| 177 |
document.getElementById('like').click();
|
| 178 |
}
|
| 179 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
</script>
|
| 181 |
'''
|
| 182 |
|
| 183 |
-
with gr.Blocks(css=css, head=
|
| 184 |
gr.Markdown('''# Generative Recommenders
|
| 185 |
Explore the latent space without text prompts, based on your preferences. [Learn more on the blog](https://rynmurdock.github.io/posts/2024/3/generative_recomenders/)
|
| 186 |
''', elem_id="description")
|
|
|
|
| 162 |
#description{text-align: center}
|
| 163 |
#description h1{display: block}
|
| 164 |
#description p{margin-top: 0}
|
| 165 |
+
.fade-in-out {animation: fadeInOut 3s forwards}
|
| 166 |
+
@keyframes fadeInOut {
|
| 167 |
+
0% {
|
| 168 |
+
background: var(--bg-color);
|
| 169 |
+
}
|
| 170 |
+
100% {
|
| 171 |
+
background: var(--button-secondary-background-fill);
|
| 172 |
+
}
|
| 173 |
+
}
|
| 174 |
'''
|
| 175 |
+
js_head = '''
|
| 176 |
<script>
|
| 177 |
document.addEventListener('keydown', function(event) {
|
| 178 |
if (event.key === 'a' || event.key === 'A') {
|
|
|
|
| 186 |
document.getElementById('like').click();
|
| 187 |
}
|
| 188 |
});
|
| 189 |
+
function fadeInOut(button, color) {
|
| 190 |
+
button.style.setProperty('--bg-color', color);
|
| 191 |
+
button.classList.remove('fade-in-out');
|
| 192 |
+
void button.offsetWidth; // This line forces a repaint by accessing a DOM property
|
| 193 |
+
|
| 194 |
+
button.classList.add('fade-in-out');
|
| 195 |
+
button.addEventListener('animationend', () => {
|
| 196 |
+
button.classList.remove('fade-in-out'); // Reset the animation state
|
| 197 |
+
}, {once: true});
|
| 198 |
+
}
|
| 199 |
+
document.body.addEventListener('click', function(event) {
|
| 200 |
+
const target = event.target;
|
| 201 |
+
if (target.id === 'dislike') {
|
| 202 |
+
fadeInOut(target, '#ff1717');
|
| 203 |
+
} else if (target.id === 'like') {
|
| 204 |
+
fadeInOut(target, '#006500');
|
| 205 |
+
} else if (target.id === 'neither') {
|
| 206 |
+
fadeInOut(target, '#cccccc');
|
| 207 |
+
}
|
| 208 |
+
});
|
| 209 |
</script>
|
| 210 |
'''
|
| 211 |
|
| 212 |
+
with gr.Blocks(css=css, head=js_head) as demo:
|
| 213 |
gr.Markdown('''# Generative Recommenders
|
| 214 |
Explore the latent space without text prompts, based on your preferences. [Learn more on the blog](https://rynmurdock.github.io/posts/2024/3/generative_recomenders/)
|
| 215 |
''', elem_id="description")
|