|
@@ -716,12 +716,27 @@
|
|
floatingButtons={message?.done}
|
|
floatingButtons={message?.done}
|
|
save={!readOnly}
|
|
save={!readOnly}
|
|
{model}
|
|
{model}
|
|
- onSourceClick={(e) => {
|
|
|
|
|
|
+ onSourceClick={async (e) => {
|
|
console.log(e);
|
|
console.log(e);
|
|
- const sourceButton = document.getElementById(`source-${e}`);
|
|
|
|
|
|
+ let sourceButton = document.getElementById(`source-${e}`);
|
|
|
|
+ const sourcesCollapsible = document.getElementById(`collapsible-sources`);
|
|
|
|
|
|
if (sourceButton) {
|
|
if (sourceButton) {
|
|
sourceButton.click();
|
|
sourceButton.click();
|
|
|
|
+ } else if (sourcesCollapsible) {
|
|
|
|
+ // Open sources collapsible so we can click the source button
|
|
|
|
+ sourcesCollapsible.querySelector("div:first-child").dispatchEvent(new PointerEvent('pointerup', {}))
|
|
|
|
+
|
|
|
|
+ // Wait for next frame to ensure DOM updates
|
|
|
|
+ await new Promise(resolve => {
|
|
|
|
+ requestAnimationFrame(() => {
|
|
|
|
+ requestAnimationFrame(resolve);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // Try clicking the source button again
|
|
|
|
+ sourceButton = document.getElementById(`source-${e}`);
|
|
|
|
+ sourceButton && sourceButton.click();
|
|
}
|
|
}
|
|
}}
|
|
}}
|
|
onAddMessages={({ modelId, parentId, messages }) => {
|
|
onAddMessages={({ modelId, parentId, messages }) => {
|