measmonysuon commited on
Commit
091515f
1 Parent(s): 928e72d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -29
app.py CHANGED
@@ -105,14 +105,6 @@ def gradio_interface(prompt, resolution_key, user_chat_id):
105
  return None, "There was an error processing your photo. Please try again later."
106
 
107
  def create_gradio_interface():
108
- def update_points_and_check(user_chat_id):
109
- points = get_user_points(user_chat_id)
110
- if points == "Failed to retrieve user points":
111
- return points, gr.Button("Generate", visible=False)
112
- else:
113
- points = int(points)
114
- return points, gr.Button("Generate", visible=points >= 5)
115
-
116
  with gr.Blocks() as interface:
117
  # Personalized HTML content
118
  gr.HTML("""
@@ -126,41 +118,39 @@ def create_gradio_interface():
126
  # Create the button to get user points
127
  get_points_button = gr.Button("Get Points")
128
 
129
- # Create a component for the button state
130
- generate_button = gr.Button("Generate", visible=False)
 
 
131
 
132
- # Arrange user_chat_id_input, points_output, and get_points_button in one row
 
 
 
133
  with gr.Row():
134
  user_chat_id_input
135
  points_output
136
  get_points_button
137
-
138
- # Arrange generate_button in a separate row
139
- with gr.Row():
140
- generate_button
141
 
142
- # Set up interactions
143
- get_points_button.click(
144
- fn=update_points_and_check,
145
- inputs=[user_chat_id_input],
146
- outputs=[points_output, generate_button]
147
- )
148
 
 
 
 
 
 
 
 
 
149
  generate_button.click(
150
  fn=lambda prompt, resolution_key, user_chat_id: gradio_interface(prompt, resolution_key, user_chat_id),
151
  inputs=[prompt_input, resolution_dropdown, user_chat_id_input],
152
  outputs=[result_output, message_output]
153
  )
154
-
155
- # Add other components for prompt input, resolution selection, etc.
156
- prompt_input = gr.Textbox(label="Prompt", placeholder="Enter your prompt here...")
157
- resolution_dropdown = gr.Dropdown(choices=list(resolutions.keys()), label="Resolution", value="1024x1024")
158
- result_output = gr.Image(label="Generated Image", type="pil")
159
- message_output = gr.Textbox(label="Result", placeholder="Results will be shown here", interactive=False)
160
 
161
- # Update the generate button's visibility based on the points check
162
  get_points_button.click(
163
- fn=update_points_and_check,
164
  inputs=[user_chat_id_input],
165
  outputs=[points_output, generate_button]
166
  )
 
105
  return None, "There was an error processing your photo. Please try again later."
106
 
107
  def create_gradio_interface():
 
 
 
 
 
 
 
 
108
  with gr.Blocks() as interface:
109
  # Personalized HTML content
110
  gr.HTML("""
 
118
  # Create the button to get user points
119
  get_points_button = gr.Button("Get Points")
120
 
121
+ # Create other components
122
+ prompt_input = gr.Textbox(label="Prompt", placeholder="Enter your prompt here...")
123
+ resolution_dropdown = gr.Dropdown(choices=list(resolutions.keys()), label="Resolution", value="1024x1024")
124
+ generate_button = gr.Button("Generate", elem_id="generate-button", visible=True)
125
 
126
+ result_output = gr.Image(label="Generated Image", type="pil")
127
+ message_output = gr.Textbox(label="Result", placeholder="Results will be shown here", interactive=False)
128
+
129
+ # Arrange components in rows
130
  with gr.Row():
131
  user_chat_id_input
132
  points_output
133
  get_points_button
 
 
 
 
134
 
135
+ # Ensure 'Generate' button is disabled initially
136
+ generate_button.update(visible=False)
 
 
 
 
137
 
138
+ def update_generate_button_state(user_chat_id):
139
+ points = get_user_points(user_chat_id)
140
+ if points >= 5:
141
+ return gr.Button.update(visible=True)
142
+ else:
143
+ return gr.Button.update(visible=False)
144
+
145
+ # Set up interaction
146
  generate_button.click(
147
  fn=lambda prompt, resolution_key, user_chat_id: gradio_interface(prompt, resolution_key, user_chat_id),
148
  inputs=[prompt_input, resolution_dropdown, user_chat_id_input],
149
  outputs=[result_output, message_output]
150
  )
 
 
 
 
 
 
151
 
 
152
  get_points_button.click(
153
+ fn=lambda user_chat_id: [get_user_points(user_chat_id), update_generate_button_state(user_chat_id)],
154
  inputs=[user_chat_id_input],
155
  outputs=[points_output, generate_button]
156
  )