k96beni commited on
Commit
b7ddf00
·
verified ·
1 Parent(s): 4df9791

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -5
app.py CHANGED
@@ -1101,8 +1101,8 @@ def respond(message, chat_history, request: gr.Request):
1101
  }, 500); // Vänta 500 millisekunder innan andra försöket
1102
  """
1103
 
1104
- # Returnera tomt meddelande, uppdaterad historik och scroll-JS
1105
- return "", chat_history, gr.update(javascript=scroll_js)
1106
 
1107
  def format_chat_preview(chat_history):
1108
  if not chat_history:
@@ -1239,6 +1239,45 @@ footer {display: none !important;}
1239
  .gradio-container .gr-footer {display: none !important;}
1240
  """
1241
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1242
  # VIKTIGT: Alla komponenter och eventkopplingar definieras inuti Blocks-kontexten
1243
  with gr.Blocks(css=custom_css, title="ChargeNode Kundtjänst") as app:
1244
  gr.Markdown("Ställ din fråga om ChargeNodes produkter och tjänster nedan. Om du inte gillar botten, så ring oss gärna på 010 – 205 10 55")
@@ -1282,11 +1321,12 @@ with gr.Blocks(css=custom_css, title="ChargeNode Kundtjänst") as app:
1282
  back_to_chat_btn = gr.Button("Tillbaka till chatten")
1283
 
1284
  # VIKTIGT: Händelsehanterare definieras INOM gr.Blocks-kontexten, efter att komponenterna definierats
1285
- # Uppdatera msg.submit för att hantera de tre returvärdena från respond
1286
- # gr.Request() tas bort från inputs listan, Gradio hanterar det automatiskt via type hint i respond()
1287
  msg.submit(respond,
1288
  inputs=[msg, chatbot],
1289
- outputs=[msg, chatbot, chatbot]) # msg, chatbot history, chatbot för JS update
 
1290
 
1291
  clear.click(lambda: (None, []), None, [msg, chatbot], queue=False) # Rensa både textbox och historik
1292
  support_btn.click(show_support_form, chatbot, [chat_interface, support_interface, success_interface, chat_preview])
 
1101
  }, 500); // Vänta 500 millisekunder innan andra försöket
1102
  """
1103
 
1104
+ # Returnera tomt meddelande och den uppdaterade chatthistoriken
1105
+ return "", chat_history
1106
 
1107
  def format_chat_preview(chat_history):
1108
  if not chat_history:
 
1239
  .gradio-container .gr-footer {display: none !important;}
1240
  """
1241
 
1242
+ # --- JavaScript för scrollning ---
1243
+ # Definiera JS-koden som en sträng här för att kunna använda den i _js parametern
1244
+ scroll_js = """
1245
+ setTimeout(function() {
1246
+ console.log("Executing scroll script");
1247
+ const messages = document.querySelectorAll('.message');
1248
+ if (messages.length > 0) {
1249
+ console.log("Found messages:", messages.length);
1250
+ const lastMessage = messages[messages.length - 1];
1251
+ console.log("Scrolling to last message");
1252
+ lastMessage.scrollIntoView({ behavior: 'smooth', block: 'start' });
1253
+ } else {
1254
+ console.log("No messages found, trying alternative selectors");
1255
+ // Alternativa selektorer för Hugging Face
1256
+ const altMessages = document.querySelectorAll('.bot, [data-testid="bot"], .message-wrap > div:last-child');
1257
+ if (altMessages.length > 0) {
1258
+ console.log("Found messages with alt selector:", altMessages.length);
1259
+ const lastAltMessage = altMessages[altMessages.length - 1];
1260
+ console.log("Scrolling to last alt message");
1261
+ lastAltMessage.scrollIntoView({ behavior: 'smooth', block: 'start' });
1262
+ } else {
1263
+ console.log("No messages found with any selector");
1264
+ }
1265
+ }
1266
+ }, 100); // Vänta 100 millisekunder innan scroll
1267
+
1268
+ // Försök igen efter lite längre tid om första försöket misslyckas
1269
+ setTimeout(function() {
1270
+ console.log("Executing delayed scroll script");
1271
+ const messages = document.querySelectorAll('.message, .bot, [data-testid="bot"], .message-wrap > div:last-child');
1272
+ if (messages.length > 0) {
1273
+ console.log("Found messages in delayed script:", messages.length);
1274
+ const lastMessage = messages[messages.length - 1];
1275
+ console.log("Scrolling to last message in delayed script");
1276
+ lastMessage.scrollIntoView({ behavior: 'smooth', block: 'start' });
1277
+ }
1278
+ }, 500); // Vänta 500 millisekunder innan andra försöket
1279
+ """
1280
+
1281
  # VIKTIGT: Alla komponenter och eventkopplingar definieras inuti Blocks-kontexten
1282
  with gr.Blocks(css=custom_css, title="ChargeNode Kundtjänst") as app:
1283
  gr.Markdown("Ställ din fråga om ChargeNodes produkter och tjänster nedan. Om du inte gillar botten, så ring oss gärna på 010 – 205 10 55")
 
1321
  back_to_chat_btn = gr.Button("Tillbaka till chatten")
1322
 
1323
  # VIKTIGT: Händelsehanterare definieras INOM gr.Blocks-kontexten, efter att komponenterna definierats
1324
+ # Uppdatera msg.submit för att hantera de två returvärdena från respond
1325
+ # Använd _js parametern för att köra scroll-skriptet efter uppdateringen
1326
  msg.submit(respond,
1327
  inputs=[msg, chatbot],
1328
+ outputs=[msg, chatbot], # msg, chatbot history
1329
+ _js=scroll_js)
1330
 
1331
  clear.click(lambda: (None, []), None, [msg, chatbot], queue=False) # Rensa både textbox och historik
1332
  support_btn.click(show_support_form, chatbot, [chat_interface, support_interface, success_interface, chat_preview])