Update app.py
Browse files
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
|
| 1105 |
-
return "", chat_history
|
| 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
|
| 1286 |
-
#
|
| 1287 |
msg.submit(respond,
|
| 1288 |
inputs=[msg, chatbot],
|
| 1289 |
-
outputs=[msg, chatbot,
|
|
|
|
| 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])
|