Light-Dav commited on
Commit
cd5851e
·
verified ·
1 Parent(s): b516a41

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -11
app.py CHANGED
@@ -115,6 +115,8 @@ p {
115
  flex-direction: column;
116
  justify-content: center; /* Centrar verticalmente el contenido */
117
  min-height: 80px; /* Altura mínima para asegurar visibilidad */
 
 
118
  }
119
  .gradio-output .label-text {
120
  color: #00BFFF !important; /* Color de acento para el texto del label (LABEL_1, LABEL_0, etc.) */
@@ -160,12 +162,23 @@ p {
160
  white-space: nowrap; /* Evitar que el texto se rompa en varias líneas */
161
  flex-shrink: 0; /* No permitir que se encojan si hay poco espacio */
162
  cursor: pointer; /* Indicar que son clickeables */
 
 
163
  }
164
  .example-button:hover {
165
  background-color: #007ACC !important; /* Azul Oscuro al pasar el ratón por los ejemplos */
166
  border-color: #00BFFF !important;
167
  }
168
 
 
 
 
 
 
 
 
 
 
169
  /* LÍNEAS DIVISORIAS */
170
  hr {
171
  border-top: 1px solid #4A5B6C; /* Línea divisoria con Gris Claro */
@@ -288,19 +301,17 @@ with gr.Blocks(css=custom_css, theme=None) as demo:
288
  )
289
  analyze_btn = gr.Button("Analyze Sentiment", variant="primary")
290
 
291
- # --- Ejemplos dinámicos como botones individuales ---
292
- gr.Markdown("<hr>")
293
- gr.Markdown("<h3 style='color: #00BFFF;'>Try examples:</h3>")
294
 
295
- with gr.Row(wrap=True, elem_classes="example-buttons-row"): # wrap=True permite que los botones salten de línea
 
 
296
  # Generar 3 botones de ejemplo aleatorios
297
- # Nota: Esto se genera una vez al inicio del Space. Para que cambie con cada recarga
298
- # del usuario, se necesita un enfoque de state o una función para recargar la interfaz.
299
- # Para un iframe simple, se recargará al recargar la página web.
300
  for example_text in random.sample(ALL_EXAMPLES, 3):
301
  gr.Button(
302
  example_text,
303
- elem_classes="example-button" # Aplica el estilo definido en CSS
304
  ).click(
305
  fn=lambda x: x, # Función simple para pasar el texto del botón al textbox
306
  inputs=[gr.State(example_text)], # Usamos gr.State para pasar el texto del botón
@@ -310,12 +321,14 @@ with gr.Blocks(css=custom_css, theme=None) as demo:
310
  inputs=text_input,
311
  outputs=[overall_sentiment_output, confidence_scores_output, raw_output]
312
  )
313
-
314
- gr.Markdown("<hr>")
315
  gr.Markdown("<h2 style='color: #00BFFF;'>📊 Results</h2>")
316
 
317
  # Output principal de sentimiento que se expande horizontalmente
318
- overall_sentiment_output = gr.HTML(label="Overall Sentiment", scale=3) # scale puede ayudar con el layout
 
 
319
  # Estos se mantienen ocultos
320
  confidence_scores_output = gr.Label(num_top_classes=3, label="Confidence Scores", visible=False)
321
  raw_output = gr.JSON(label="Raw Model Output", visible=False)
 
115
  flex-direction: column;
116
  justify-content: center; /* Centrar verticalmente el contenido */
117
  min-height: 80px; /* Altura mínima para asegurar visibilidad */
118
+ width: 100%; /* Asegurar que ocupe todo el ancho disponible */
119
+ box-sizing: border-box; /* Incluir padding y borde en el ancho */
120
  }
121
  .gradio-output .label-text {
122
  color: #00BFFF !important; /* Color de acento para el texto del label (LABEL_1, LABEL_0, etc.) */
 
162
  white-space: nowrap; /* Evitar que el texto se rompa en varias líneas */
163
  flex-shrink: 0; /* No permitir que se encojan si hay poco espacio */
164
  cursor: pointer; /* Indicar que son clickeables */
165
+ flex-grow: 1; /* Permitir que los botones de ejemplo crezcan para llenar el espacio */
166
+ min-width: 80px; /* Asegurar un ancho mínimo para cada botón */
167
  }
168
  .example-button:hover {
169
  background-color: #007ACC !important; /* Azul Oscuro al pasar el ratón por los ejemplos */
170
  border-color: #00BFFF !important;
171
  }
172
 
173
+ /* Contenedor de los botones de ejemplo para forzar el "wrap" con flexbox */
174
+ .example-buttons-container {
175
+ display: flex;
176
+ flex-wrap: wrap; /* ¡Esto simula el wrap que no podemos usar en gr.Row! */
177
+ justify-content: center; /* Centrar los botones si no llenan la línea */
178
+ margin-top: 5px; /* Pequeño margen superior */
179
+ margin-bottom: 10px; /* Pequeño margen inferior */
180
+ }
181
+
182
  /* LÍNEAS DIVISORIAS */
183
  hr {
184
  border-top: 1px solid #4A5B6C; /* Línea divisoria con Gris Claro */
 
301
  )
302
  analyze_btn = gr.Button("Analyze Sentiment", variant="primary")
303
 
304
+ # --- Título para los ejemplos ---
305
+ gr.Markdown("<h3 style='color: #00BFFF; margin-top: 5px; margin-bottom: 5px;'>Try examples:</h3>")
 
306
 
307
+ # Contenedor para los botones de ejemplo para manejar el "wrap" vía CSS
308
+ # Importante: gr.Row no tiene wrap en 5.31.0, así que lo manejamos con CSS en .example-buttons-container
309
+ with gr.Row(elem_classes="example-buttons-container"):
310
  # Generar 3 botones de ejemplo aleatorios
 
 
 
311
  for example_text in random.sample(ALL_EXAMPLES, 3):
312
  gr.Button(
313
  example_text,
314
+ elem_classes="example-button"
315
  ).click(
316
  fn=lambda x: x, # Función simple para pasar el texto del botón al textbox
317
  inputs=[gr.State(example_text)], # Usamos gr.State para pasar el texto del botón
 
321
  inputs=text_input,
322
  outputs=[overall_sentiment_output, confidence_scores_output, raw_output]
323
  )
324
+
325
+ gr.Markdown("<hr>") # Separador
326
  gr.Markdown("<h2 style='color: #00BFFF;'>📊 Results</h2>")
327
 
328
  # Output principal de sentimiento que se expande horizontalmente
329
+ # Mantenemos 'overall_sentiment_output' en el flujo normal,
330
+ # sin un gr.Row separado para que ocupe todo el ancho por defecto del Column.
331
+ overall_sentiment_output = gr.HTML(label="Overall Sentiment") # Eliminamos scale=3 si causa problemas
332
  # Estos se mantienen ocultos
333
  confidence_scores_output = gr.Label(num_top_classes=3, label="Confidence Scores", visible=False)
334
  raw_output = gr.JSON(label="Raw Model Output", visible=False)