Spaces:
Sleeping
Sleeping
Keldos commited on
Commit ·
1c21e1a
1
Parent(s): 5754184
refactor: 简化附加btn的CSS写法
Browse files- assets/custom.css +13 -32
- assets/custom.js +7 -5
assets/custom.css
CHANGED
|
@@ -251,53 +251,34 @@ ol:not(.options), ul:not(.options) {
|
|
| 251 |
display: none;
|
| 252 |
}
|
| 253 |
|
| 254 |
-
|
|
|
|
| 255 |
border-radius: 5px;
|
| 256 |
/* background-color: #E6E6E6 !important; */
|
| 257 |
color: rgba(120, 120, 120, 0.64) !important;
|
| 258 |
padding: 4px !important;
|
| 259 |
position: absolute;
|
| 260 |
right: -22px;
|
| 261 |
-
bottom: 0;
|
| 262 |
cursor: pointer !important;
|
| 263 |
transition: color .2s ease, background-color .2s ease;
|
| 264 |
}
|
| 265 |
-
.
|
| 266 |
background-color: rgba(167, 167, 167, 0.25) !important;
|
| 267 |
color: unset !important;
|
| 268 |
}
|
| 269 |
-
.
|
| 270 |
background-color: rgba(167, 167, 167, 0.5) !important;
|
| 271 |
}
|
| 272 |
-
.
|
| 273 |
outline: none;
|
| 274 |
}
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
border-radius: 5px;
|
| 278 |
-
color: rgba(120, 120, 120, 0.64) !important;
|
| 279 |
-
padding: 4px !important;
|
| 280 |
-
position: absolute;
|
| 281 |
-
right: -22px;
|
| 282 |
-
bottom: 18px;
|
| 283 |
-
cursor: pointer !important;
|
| 284 |
-
transition: color .2s ease, background-color .2s ease;
|
| 285 |
-
}
|
| 286 |
-
|
| 287 |
-
.toggle-btn:hover {
|
| 288 |
-
background-color: rgba(167, 167, 167, 0.25) !important;
|
| 289 |
-
color: unset !important;
|
| 290 |
-
}
|
| 291 |
-
|
| 292 |
-
.toggle-btn:active {
|
| 293 |
-
background-color: rgba(167, 167, 167, 0.5) !important;
|
| 294 |
}
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
outline: none;
|
| 298 |
}
|
| 299 |
-
|
| 300 |
-
.raw-message {
|
| 301 |
display: none;
|
| 302 |
top: -18px;
|
| 303 |
left: 0;
|
|
@@ -306,9 +287,9 @@ ol:not(.options), ul:not(.options) {
|
|
| 306 |
padding: 8px;
|
| 307 |
border-radius: 5px;
|
| 308 |
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
|
| 309 |
-
}
|
| 310 |
|
| 311 |
-
.raw-message:before {
|
| 312 |
content: "Source Text";
|
| 313 |
display: block;
|
| 314 |
font-size: 12px;
|
|
@@ -317,7 +298,7 @@ left: 8px;
|
|
| 317 |
padding: 2px 5px;
|
| 318 |
border-radius: 3px;
|
| 319 |
opacity: 0.8;
|
| 320 |
-
}
|
| 321 |
|
| 322 |
.message-wrap>div img{
|
| 323 |
border-radius: 10px !important;
|
|
|
|
| 251 |
display: none;
|
| 252 |
}
|
| 253 |
|
| 254 |
+
|
| 255 |
+
.chuanhu-btn {
|
| 256 |
border-radius: 5px;
|
| 257 |
/* background-color: #E6E6E6 !important; */
|
| 258 |
color: rgba(120, 120, 120, 0.64) !important;
|
| 259 |
padding: 4px !important;
|
| 260 |
position: absolute;
|
| 261 |
right: -22px;
|
|
|
|
| 262 |
cursor: pointer !important;
|
| 263 |
transition: color .2s ease, background-color .2s ease;
|
| 264 |
}
|
| 265 |
+
.chuanhu-btn:hover {
|
| 266 |
background-color: rgba(167, 167, 167, 0.25) !important;
|
| 267 |
color: unset !important;
|
| 268 |
}
|
| 269 |
+
.chuanhu-btn:active {
|
| 270 |
background-color: rgba(167, 167, 167, 0.5) !important;
|
| 271 |
}
|
| 272 |
+
.chuanhu-btn:focus {
|
| 273 |
outline: none;
|
| 274 |
}
|
| 275 |
+
.copy-bot-btn {
|
| 276 |
+
bottom: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
}
|
| 278 |
+
.toggle-md-btn {
|
| 279 |
+
bottom: 18px;
|
|
|
|
| 280 |
}
|
| 281 |
+
/* .raw-message {
|
|
|
|
| 282 |
display: none;
|
| 283 |
top: -18px;
|
| 284 |
left: 0;
|
|
|
|
| 287 |
padding: 8px;
|
| 288 |
border-radius: 5px;
|
| 289 |
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
|
| 290 |
+
} */
|
| 291 |
|
| 292 |
+
/* .raw-message:before {
|
| 293 |
content: "Source Text";
|
| 294 |
display: block;
|
| 295 |
font-size: 12px;
|
|
|
|
| 298 |
padding: 2px 5px;
|
| 299 |
border-radius: 3px;
|
| 300 |
opacity: 0.8;
|
| 301 |
+
} */
|
| 302 |
|
| 303 |
.message-wrap>div img{
|
| 304 |
border-radius: 10px !important;
|
assets/custom.js
CHANGED
|
@@ -276,13 +276,13 @@ const copyIcon = '<span><svg stroke="currentColor" fill="none" stroke-width="2
|
|
| 276 |
const copiedIcon = '<span><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height=".8em" width=".8em" xmlns="http://www.w3.org/2000/svg"><polyline points="20 6 9 17 4 12"></polyline></svg></span>';
|
| 277 |
const toggleIcon = '<span><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height=".8em" width=".8em" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><circle cx="8" cy="12" r="2"></circle><circle cx="16" cy="12" r="2"></circle></svg></span>';
|
| 278 |
|
| 279 |
-
function
|
| 280 |
var copyButton = null;
|
| 281 |
var toggleButton = null;
|
| 282 |
var rawMessage = null;
|
| 283 |
rawMessage = botElement.querySelector('.raw-message');
|
| 284 |
copyButton = botElement.querySelector('button.copy-bot-btn');
|
| 285 |
-
toggleButton = botElement.querySelector('button.toggle-btn');
|
| 286 |
if (!rawMessage) return;
|
| 287 |
if (copyButton) {
|
| 288 |
copyButton.remove();
|
|
@@ -292,6 +292,7 @@ function addCopyBotButton(botElement) {
|
|
| 292 |
}
|
| 293 |
rawMessage.style.display = "none";
|
| 294 |
var copyButton = document.createElement('button');
|
|
|
|
| 295 |
copyButton.classList.add('copy-bot-btn');
|
| 296 |
copyButton.setAttribute('aria-label', 'Copy');
|
| 297 |
copyButton.innerHTML = copyIcon;
|
|
@@ -311,7 +312,8 @@ function addCopyBotButton(botElement) {
|
|
| 311 |
|
| 312 |
// Toggle button
|
| 313 |
var toggleButton = document.createElement('button');
|
| 314 |
-
toggleButton.classList.add('
|
|
|
|
| 315 |
toggleButton.setAttribute('aria-label', 'Toggle');
|
| 316 |
toggleButton.innerHTML = toggleIcon;
|
| 317 |
toggleButton.addEventListener('click', () => {
|
|
@@ -408,7 +410,7 @@ var mObserver = new MutationObserver(function (mutationsList) {
|
|
| 408 |
renderMathJax();
|
| 409 |
mathjaxUpdated = false;
|
| 410 |
}
|
| 411 |
-
document.querySelectorAll('#chuanhu_chatbot>.wrap>.message-wrap .message.bot').forEach(
|
| 412 |
saveHistoryHtml();
|
| 413 |
}, 500);
|
| 414 |
}
|
|
@@ -438,7 +440,7 @@ function loadHistoryHtml() {
|
|
| 438 |
if (!historyLoaded) {
|
| 439 |
var tempDiv = document.createElement('div');
|
| 440 |
tempDiv.innerHTML = historyHtml;
|
| 441 |
-
var buttons = tempDiv.querySelectorAll('button.
|
| 442 |
for (var i = 0; i < buttons.length; i++) {
|
| 443 |
buttons[i].parentNode.removeChild(buttons[i]);
|
| 444 |
}
|
|
|
|
| 276 |
const copiedIcon = '<span><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height=".8em" width=".8em" xmlns="http://www.w3.org/2000/svg"><polyline points="20 6 9 17 4 12"></polyline></svg></span>';
|
| 277 |
const toggleIcon = '<span><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height=".8em" width=".8em" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><circle cx="8" cy="12" r="2"></circle><circle cx="16" cy="12" r="2"></circle></svg></span>';
|
| 278 |
|
| 279 |
+
function addChuanhuButton(botElement) {
|
| 280 |
var copyButton = null;
|
| 281 |
var toggleButton = null;
|
| 282 |
var rawMessage = null;
|
| 283 |
rawMessage = botElement.querySelector('.raw-message');
|
| 284 |
copyButton = botElement.querySelector('button.copy-bot-btn');
|
| 285 |
+
toggleButton = botElement.querySelector('button.toggle-md-btn');
|
| 286 |
if (!rawMessage) return;
|
| 287 |
if (copyButton) {
|
| 288 |
copyButton.remove();
|
|
|
|
| 292 |
}
|
| 293 |
rawMessage.style.display = "none";
|
| 294 |
var copyButton = document.createElement('button');
|
| 295 |
+
copyButton.classList.add('chuanhu-btn');
|
| 296 |
copyButton.classList.add('copy-bot-btn');
|
| 297 |
copyButton.setAttribute('aria-label', 'Copy');
|
| 298 |
copyButton.innerHTML = copyIcon;
|
|
|
|
| 312 |
|
| 313 |
// Toggle button
|
| 314 |
var toggleButton = document.createElement('button');
|
| 315 |
+
toggleButton.classList.add('chuanhu-btn');
|
| 316 |
+
toggleButton.classList.add('toggle-md-btn');
|
| 317 |
toggleButton.setAttribute('aria-label', 'Toggle');
|
| 318 |
toggleButton.innerHTML = toggleIcon;
|
| 319 |
toggleButton.addEventListener('click', () => {
|
|
|
|
| 410 |
renderMathJax();
|
| 411 |
mathjaxUpdated = false;
|
| 412 |
}
|
| 413 |
+
document.querySelectorAll('#chuanhu_chatbot>.wrap>.message-wrap .message.bot').forEach(addChuanhuButton);
|
| 414 |
saveHistoryHtml();
|
| 415 |
}, 500);
|
| 416 |
}
|
|
|
|
| 440 |
if (!historyLoaded) {
|
| 441 |
var tempDiv = document.createElement('div');
|
| 442 |
tempDiv.innerHTML = historyHtml;
|
| 443 |
+
var buttons = tempDiv.querySelectorAll('button.chuanhu-btn');
|
| 444 |
for (var i = 0; i < buttons.length; i++) {
|
| 445 |
buttons[i].parentNode.removeChild(buttons[i]);
|
| 446 |
}
|