Update app.py
Browse files
app.py
CHANGED
|
@@ -272,9 +272,29 @@ woman_prompts = {
|
|
| 272 |
def get_prompts_by_gender(gender):
|
| 273 |
return man_prompts if gender == "man" else woman_prompts
|
| 274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
def update_suggestion_buttons(gender):
|
| 276 |
prompts = get_prompts_by_gender(gender)
|
| 277 |
-
return gr.update(visible=True), prompts
|
|
|
|
|
|
|
| 278 |
|
| 279 |
### Description and style
|
| 280 |
logo = r"""
|
|
@@ -411,23 +431,17 @@ input[type="radio"] {
|
|
| 411 |
'''
|
| 412 |
|
| 413 |
def update_prompt_buttons_visibility(gender):
|
| 414 |
-
if gender == "man"
|
| 415 |
-
|
| 416 |
-
[gr.update(visible=True) for _ in man_btns] + \
|
| 417 |
-
[gr.update(visible=False) for _ in woman_btns]
|
| 418 |
-
else:
|
| 419 |
-
return [gr.update(visible=True)] + \
|
| 420 |
-
[gr.update(visible=False) for _ in man_btns] + \
|
| 421 |
-
[gr.update(visible=True) for _ in woman_btns]
|
| 422 |
-
|
| 423 |
|
|
|
|
| 424 |
|
| 425 |
with gr.Blocks(css=css) as demo:
|
| 426 |
gr.Markdown(logo)
|
| 427 |
gr.Markdown(title)
|
| 428 |
#gr.Markdown(description)
|
| 429 |
|
| 430 |
-
current_suggestions = gr.State(woman_prompts)
|
| 431 |
|
| 432 |
# gr.DuplicateButton(
|
| 433 |
# value="Duplicate Space for private use ",
|
|
@@ -466,8 +480,10 @@ with gr.Blocks(css=css) as demo:
|
|
| 466 |
gr.Markdown("### Suggested Prompts")
|
| 467 |
|
| 468 |
theme_buttons = []
|
| 469 |
-
for theme in man_prompts.keys(): # initially load man themes
|
| 470 |
-
|
|
|
|
|
|
|
| 471 |
# prompt_buttons = []
|
| 472 |
# for s in suggestions:
|
| 473 |
# b = gr.Button(s)
|
|
@@ -482,27 +498,28 @@ with gr.Blocks(css=css) as demo:
|
|
| 482 |
outputs=prompt_suggestions
|
| 483 |
)
|
| 484 |
|
| 485 |
-
def update_buttons_hidden(gender):
|
| 486 |
-
|
| 487 |
-
|
| 488 |
-
|
| 489 |
-
|
| 490 |
-
|
| 491 |
-
def update_buttons_and_show(gender):
|
| 492 |
-
|
| 493 |
-
|
| 494 |
-
|
| 495 |
|
| 496 |
gender_selector.change(
|
| 497 |
-
fn=
|
| 498 |
inputs=gender_selector,
|
| 499 |
-
outputs=
|
| 500 |
)
|
| 501 |
|
| 502 |
show_prompts_btn.click(
|
| 503 |
-
fn=
|
| 504 |
-
|
| 505 |
-
|
|
|
|
| 506 |
)
|
| 507 |
|
| 508 |
|
|
@@ -642,19 +659,13 @@ with gr.Blocks(css=css) as demo:
|
|
| 642 |
# )
|
| 643 |
|
| 644 |
# When user clicks on a suggestion, fill the prompt textbox and close popup
|
| 645 |
-
for
|
| 646 |
-
|
| 647 |
-
|
| 648 |
-
|
| 649 |
-
inputs=None,
|
| 650 |
outputs=[prompt, prompt_suggestions]
|
| 651 |
)
|
| 652 |
|
| 653 |
-
|
| 654 |
-
|
| 655 |
-
|
| 656 |
-
|
| 657 |
-
|
| 658 |
# gr.Examples(
|
| 659 |
# examples=get_example(),
|
| 660 |
# inputs=[files, prompt, style, negative_prompt],
|
|
|
|
| 272 |
def get_prompts_by_gender(gender):
|
| 273 |
return man_prompts if gender == "man" else woman_prompts
|
| 274 |
|
| 275 |
+
# ✅ Place this here, above gr.Blocks
|
| 276 |
+
def update_theme_buttons(gender):
|
| 277 |
+
prompts = get_prompts_by_gender(gender) # returns {theme: prompt}
|
| 278 |
+
updates = []
|
| 279 |
+
for i, (theme, prompt_text) in enumerate(prompts.items()):
|
| 280 |
+
if i < len(theme_btns):
|
| 281 |
+
updates.append(gr.update(value=theme, visible=True))
|
| 282 |
+
else:
|
| 283 |
+
break
|
| 284 |
+
# Hide remaining unused buttons
|
| 285 |
+
for j in range(len(prompts), len(theme_btns)):
|
| 286 |
+
updates.append(gr.update(visible=False))
|
| 287 |
+
return updates
|
| 288 |
+
|
| 289 |
+
def get_prompt_from_theme(gender, theme):
|
| 290 |
+
return get_prompts_by_gender(gender)[theme], gr.update(visible=False)
|
| 291 |
+
|
| 292 |
+
|
| 293 |
def update_suggestion_buttons(gender):
|
| 294 |
prompts = get_prompts_by_gender(gender)
|
| 295 |
+
return gr.update(visible=True), prompts
|
| 296 |
+
|
| 297 |
+
|
| 298 |
|
| 299 |
### Description and style
|
| 300 |
logo = r"""
|
|
|
|
| 431 |
'''
|
| 432 |
|
| 433 |
def update_prompt_buttons_visibility(gender):
|
| 434 |
+
prompts = man_prompts if gender == "man" else woman_prompts
|
| 435 |
+
return [gr.update(value=theme, visible=True) for theme in prompts.keys()]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 436 |
|
| 437 |
+
# theme_btns = [gr.Button(theme, visible=False) for theme in list(man_prompts.keys())]
|
| 438 |
|
| 439 |
with gr.Blocks(css=css) as demo:
|
| 440 |
gr.Markdown(logo)
|
| 441 |
gr.Markdown(title)
|
| 442 |
#gr.Markdown(description)
|
| 443 |
|
| 444 |
+
# current_suggestions = gr.State(woman_prompts)
|
| 445 |
|
| 446 |
# gr.DuplicateButton(
|
| 447 |
# value="Duplicate Space for private use ",
|
|
|
|
| 480 |
gr.Markdown("### Suggested Prompts")
|
| 481 |
|
| 482 |
theme_buttons = []
|
| 483 |
+
for theme in list(man_prompts.keys()): # initially load man themes
|
| 484 |
+
btn = gr.Button(theme)
|
| 485 |
+
theme_btns.append(btn)
|
| 486 |
+
# theme_buttons.append(gr.Button(theme))
|
| 487 |
# prompt_buttons = []
|
| 488 |
# for s in suggestions:
|
| 489 |
# b = gr.Button(s)
|
|
|
|
| 498 |
outputs=prompt_suggestions
|
| 499 |
)
|
| 500 |
|
| 501 |
+
# def update_buttons_hidden(gender):
|
| 502 |
+
# updates = update_prompt_buttons_visibility(gender)
|
| 503 |
+
# # Force popup to remain hidden
|
| 504 |
+
# updates[0] = gr.update(visible=False)
|
| 505 |
+
# return updates
|
| 506 |
+
|
| 507 |
+
# def update_buttons_and_show(gender):
|
| 508 |
+
# updates = update_prompt_buttons_visibility(gender)
|
| 509 |
+
# updates[0] = gr.update(visible=True) # force popup visible
|
| 510 |
+
# return updates
|
| 511 |
|
| 512 |
gender_selector.change(
|
| 513 |
+
fn=lambda gender: [gr.update(visible=True) for _ in theme_btns],
|
| 514 |
inputs=gender_selector,
|
| 515 |
+
outputs=theme_btns
|
| 516 |
)
|
| 517 |
|
| 518 |
show_prompts_btn.click(
|
| 519 |
+
fn=lambda: gr.update(visible=True),
|
| 520 |
+
# fn=update_theme_buttons,
|
| 521 |
+
# inputs=gender_selector,
|
| 522 |
+
outputs=theme_buttons
|
| 523 |
)
|
| 524 |
|
| 525 |
|
|
|
|
| 659 |
# )
|
| 660 |
|
| 661 |
# When user clicks on a suggestion, fill the prompt textbox and close popup
|
| 662 |
+
for btn in theme_btns:
|
| 663 |
+
btn.click(
|
| 664 |
+
fn=lambda theme_name, g: get_prompt_from_theme(g, theme_name),
|
| 665 |
+
inputs=[btn, gender_selector],
|
|
|
|
| 666 |
outputs=[prompt, prompt_suggestions]
|
| 667 |
)
|
| 668 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 669 |
# gr.Examples(
|
| 670 |
# examples=get_example(),
|
| 671 |
# inputs=[files, prompt, style, negative_prompt],
|