|
88 | 88 | const params = $page.params; |
89 | 89 | const messageLimit = 100; |
90 | 90 | const screenWidthThreshold = 1024; |
| 91 | + const chatWidthThreshold = 300; |
91 | 92 | const maxTextLength = 64000; |
92 | 93 | const duration = 2000; |
93 | 94 | |
|
226 | 227 | if (messageDraft) { |
227 | 228 | text = messageDraft; |
228 | 229 | } |
| 230 | + handlePaneResize(); |
229 | 231 | |
230 | 232 | signalr.onMessageReceivedFromClient = onMessageReceivedFromClient; |
231 | 233 | signalr.onMessageReceivedFromCsr = onMessageReceivedFromClient; |
|
669 | 671 | if (disableSpeech) return; |
670 | 672 |
|
671 | 673 | if (!isListening) { |
672 | | - llmRealtime.start(params.agentId, message => { |
| 674 | + llmRealtime.start(params.agentId, (/** @type {any} */ message) => { |
673 | 675 | console.log(message); |
674 | 676 | }); |
675 | 677 | isListening = true; |
|
1351 | 1353 | function deleteMessageDraft() { |
1352 | 1354 | messageStorage.remove(MESSAGE_STORAGE_KEY + params.conversationId); |
1353 | 1355 | } |
| 1356 | + function handlePaneResize() { |
| 1357 | + const header = document.querySelector('.chat-head'); |
| 1358 | + if (!header) return; |
| 1359 | +
|
| 1360 | + const width = header.getBoundingClientRect().width; |
| 1361 | + isLite = width < chatWidthThreshold; |
| 1362 | + } |
1354 | 1363 | </script> |
1355 | 1364 |
|
1356 | 1365 |
|
|
1466 | 1475 |
|
1467 | 1476 | <HeadTitle title="Chat" addOn='' /> |
1468 | 1477 | <div class="d-lg-flex"> |
1469 | | - <Splitpanes> |
| 1478 | + <Splitpanes on:resize={() => handlePaneResize()}> |
1470 | 1479 | {#if isLoadInstantLog} |
1471 | | - <Pane size={30} minSize={20} maxSize={50} > |
| 1480 | + <Pane size={30} minSize={25} maxSize={40} > |
1472 | 1481 | <InstantLog |
1473 | 1482 | bind:msgStateLogs={msgStateLogs} |
1474 | 1483 | bind:agentQueueLogs={agentQueueLogs} |
|
1478 | 1487 | /> |
1479 | 1488 | </Pane> |
1480 | 1489 | {/if} |
1481 | | - <Pane minSize={20}> |
| 1490 | + <Pane minSize={30}> |
1482 | 1491 | <div style="height: 100vh;"> |
1483 | 1492 | <div class="card mb-0" style="height: 100vh;"> |
1484 | 1493 | <div class="border-bottom chat-head"> |
|
1503 | 1512 | </div> |
1504 | 1513 | |
1505 | 1514 | <div class="col-md-8 col-5"> |
1506 | | - <ul class="list-inline user-chat-nav user-chat-nav-flex mb-0"> |
| 1515 | + <div class="user-chat-nav user-chat-nav-flex mb-0"> |
1507 | 1516 | {#if PUBLIC_DEBUG_MODE === 'true' && isFrame} |
1508 | | - <li class="list-inline-item"> |
| 1517 | + <div class=""> |
1509 | 1518 | <button |
1510 | 1519 | class="btn btn-secondary btn-rounded btn-sm" |
1511 | 1520 | on:click={() => openFullScreen()} |
1512 | 1521 | > |
1513 | 1522 | <i class="bx bx-fullscreen" /> |
1514 | 1523 | </button> |
1515 | | - </li> |
| 1524 | + </div> |
1516 | 1525 | {/if} |
1517 | | - <li class="list-inline-item"> |
| 1526 | + <div class=""> |
1518 | 1527 | {#if !isLite} |
1519 | 1528 | <Dropdown> |
1520 | 1529 | <DropdownToggle class="nav-btn dropdown-toggle"> |
|
1581 | 1590 | /> |
1582 | 1591 | </button> |
1583 | 1592 | {/if} |
1584 | | - </li> |
| 1593 | + </div> |
1585 | 1594 | |
1586 | | - <li class="list-inline-item btn-pair"> |
| 1595 | + <div class="btn-pair"> |
1587 | 1596 | {#if !isLite} |
1588 | 1597 | <button |
1589 | 1598 | class={`btn btn-rounded btn-sm btn-primary btn-left`} |
|
1592 | 1601 | > |
1593 | 1602 | <span |
1594 | 1603 | data-bs-toggle="tooltip" |
1595 | | - data-bs-placement="top" |
| 1604 | + data-bs-placement="bottom" |
1596 | 1605 | title="New Conversation" |
1597 | 1606 | > |
1598 | 1607 | <i class="mdi mdi-plus" /> |
1599 | 1608 | <span class="me-2">New</span> |
1600 | 1609 | </span> |
1601 | | - |
1602 | 1610 | </button> |
1603 | 1611 | {/if} |
1604 | 1612 | <button |
|
1611 | 1619 | {/if} |
1612 | 1620 | <i class="mdi mdi-window-close" /> |
1613 | 1621 | </button> |
1614 | | - </li> |
1615 | | - </ul> |
| 1622 | + </div> |
| 1623 | + </div> |
1616 | 1624 | </div> |
1617 | 1625 | </div> |
1618 | 1626 | </div> |
|
1901 | 1909 | </div> |
1902 | 1910 | </Pane> |
1903 | 1911 | {#if isLoadPersistLog} |
1904 | | - <Pane size={30} minSize={20} maxSize={50}> |
| 1912 | + <Pane size={30} minSize={25} maxSize={40}> |
1905 | 1913 | <PersistLog |
1906 | 1914 | bind:contentLogs={contentLogs} |
1907 | 1915 | bind:convStateLogs={convStateLogs} |
|
0 commit comments