Spaces:
Sleeping
Sleeping
Keldos commited on
Commit ·
10ba661
1
Parent(s): 33e41e9
WIP: add chat-histor-list buttons
Browse files
web_assets/javascript/ChuanhuChat.js
CHANGED
|
@@ -97,6 +97,7 @@ function initialize() {
|
|
| 97 |
|
| 98 |
adjustDarkMode();
|
| 99 |
adjustSide();
|
|
|
|
| 100 |
setLoclize();
|
| 101 |
selectHistory();
|
| 102 |
// setChatbotHeight();
|
|
@@ -349,6 +350,7 @@ function chatbotContentChanged(attempt = 1) {
|
|
| 349 |
gradioApp().querySelectorAll('#chuanhu-chatbot .message-wrap .message-row.bot-row').forEach(addChuanhuButton);
|
| 350 |
if (chatbotIndicator.classList.contains('hide')) {
|
| 351 |
setLatestMessage();
|
|
|
|
| 352 |
}
|
| 353 |
}, i === 0 ? 0 : 200);
|
| 354 |
}
|
|
|
|
| 97 |
|
| 98 |
adjustDarkMode();
|
| 99 |
adjustSide();
|
| 100 |
+
setChatList();
|
| 101 |
setLoclize();
|
| 102 |
selectHistory();
|
| 103 |
// setChatbotHeight();
|
|
|
|
| 350 |
gradioApp().querySelectorAll('#chuanhu-chatbot .message-wrap .message-row.bot-row').forEach(addChuanhuButton);
|
| 351 |
if (chatbotIndicator.classList.contains('hide')) {
|
| 352 |
setLatestMessage();
|
| 353 |
+
setChatList();
|
| 354 |
}
|
| 355 |
}, i === 0 ? 0 : 200);
|
| 356 |
}
|
web_assets/javascript/chat-list.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
function setChatList() {
|
| 3 |
+
var selectedChat = null;
|
| 4 |
+
var chatList = gradioApp().querySelector('fieldset#history-select-dropdown');
|
| 5 |
+
selectedChat = chatList.querySelector(".wrap label.selected")
|
| 6 |
+
if (!selectedChat || selectedChat.classList.contains('added-chat-btns')) {
|
| 7 |
+
return;
|
| 8 |
+
}
|
| 9 |
+
|
| 10 |
+
chatList.querySelector('.chat-selected-btns')?.remove(); // remove old buttons
|
| 11 |
+
chatList.querySelectorAll('.added-chat-btns').forEach(chat => chat.classList.remove('added-chat-btns'));
|
| 12 |
+
|
| 13 |
+
var ChatSelectedBtns = document.createElement('div');
|
| 14 |
+
ChatSelectedBtns.classList.add('chat-selected-btns');
|
| 15 |
+
selectedChat.classList.add('added-chat-btns');
|
| 16 |
+
ChatSelectedBtns.innerHTML = selectedChatBtns;
|
| 17 |
+
selectedChat.appendChild(ChatSelectedBtns);
|
| 18 |
+
|
| 19 |
+
return;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
const selectedChatBtns = `
|
| 23 |
+
<button><svg class="icon-need-hover" stroke="currentColor" fill="none" stroke-width="2" height="18px" width="18px" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M12 20h9"></path><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path></svg></button>
|
| 24 |
+
<button><svg class="icon-need-hover" stroke="currentColor" fill="none" stroke-width="2" height="18px" width="18px" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line></svg></button>
|
| 25 |
+
`
|
web_assets/stylesheet/ChuanhuChat.css
CHANGED
|
@@ -1036,6 +1036,28 @@ input:checked + .chatbot-input-more-span {
|
|
| 1036 |
overflow-x: hidden;
|
| 1037 |
}
|
| 1038 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1039 |
/* .main-body {
|
| 1040 |
flex-wrap: nowrap;
|
| 1041 |
gap: 0;
|
|
|
|
| 1036 |
overflow-x: hidden;
|
| 1037 |
}
|
| 1038 |
|
| 1039 |
+
.chat-selected-btns {
|
| 1040 |
+
height: 18px;
|
| 1041 |
+
gap: 8px;
|
| 1042 |
+
display: inline-flex;
|
| 1043 |
+
position: absolute;
|
| 1044 |
+
right: 16px;
|
| 1045 |
+
}
|
| 1046 |
+
.chat-selected-btns::before {
|
| 1047 |
+
content: "";
|
| 1048 |
+
position: absolute;
|
| 1049 |
+
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), var(--message-list-background-selected) 80%);
|
| 1050 |
+
width: 32px;
|
| 1051 |
+
height: 22px;
|
| 1052 |
+
top: 0;
|
| 1053 |
+
left: -32px;
|
| 1054 |
+
}
|
| 1055 |
+
.icon-need-hover {
|
| 1056 |
+
opacity: 0.64;
|
| 1057 |
+
}
|
| 1058 |
+
button:hover .icon-need-hover {
|
| 1059 |
+
opacity: 0.85;
|
| 1060 |
+
}
|
| 1061 |
/* .main-body {
|
| 1062 |
flex-wrap: nowrap;
|
| 1063 |
gap: 0;
|
web_assets/stylesheet/override-gradio.css
CHANGED
|
@@ -33,6 +33,7 @@ fieldset#history-select-dropdown .wrap label {
|
|
| 33 |
background: none;
|
| 34 |
padding: 10px 16px 10px;
|
| 35 |
box-shadow: none;
|
|
|
|
| 36 |
}
|
| 37 |
fieldset#history-select-dropdown .wrap label:hover {
|
| 38 |
background: var(--message-list-background-hover);
|
|
@@ -41,12 +42,17 @@ fieldset#history-select-dropdown .wrap label:active {
|
|
| 41 |
background: var(--message-list-background-selected);
|
| 42 |
}
|
| 43 |
fieldset#history-select-dropdown .wrap label.selected {
|
|
|
|
| 44 |
background: var(--message-list-background-selected);
|
|
|
|
| 45 |
}
|
| 46 |
fieldset#history-select-dropdown .wrap label > span {
|
| 47 |
/* font-size: small; */
|
| 48 |
margin-left: 0;
|
| 49 |
-
|
|
|
|
|
|
|
|
|
|
| 50 |
}
|
| 51 |
fieldset#history-select-dropdown .wrap label > span::before {
|
| 52 |
content: url("data:image/svg+xml,%3Csvg stroke='%23000000' fill='none' stroke-opacity='0.85' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E");
|
|
|
|
| 33 |
background: none;
|
| 34 |
padding: 10px 16px 10px;
|
| 35 |
box-shadow: none;
|
| 36 |
+
justify-content: space-between;
|
| 37 |
}
|
| 38 |
fieldset#history-select-dropdown .wrap label:hover {
|
| 39 |
background: var(--message-list-background-hover);
|
|
|
|
| 42 |
background: var(--message-list-background-selected);
|
| 43 |
}
|
| 44 |
fieldset#history-select-dropdown .wrap label.selected {
|
| 45 |
+
color: var(--checkbox-label-text-color);
|
| 46 |
background: var(--message-list-background-selected);
|
| 47 |
+
padding: 10px 64px 10px 16px;
|
| 48 |
}
|
| 49 |
fieldset#history-select-dropdown .wrap label > span {
|
| 50 |
/* font-size: small; */
|
| 51 |
margin-left: 0;
|
| 52 |
+
/* text-overflow: ellipsis; */
|
| 53 |
+
white-space: nowrap;
|
| 54 |
+
word-break: break-all;
|
| 55 |
+
overflow: hidden;
|
| 56 |
}
|
| 57 |
fieldset#history-select-dropdown .wrap label > span::before {
|
| 58 |
content: url("data:image/svg+xml,%3Csvg stroke='%23000000' fill='none' stroke-opacity='0.85' stroke-width='2' viewBox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E");
|