cylon animation
This commit is contained in:
Vendored
+4
-4
@@ -168,7 +168,7 @@ export function mountChat(root, src, makeHead) {
|
||||
transcript.insertBefore(el, anchor);
|
||||
}
|
||||
else {
|
||||
transcript.append(el);
|
||||
transcript.insertBefore(el, scanner);
|
||||
}
|
||||
};
|
||||
const syncRunning = () => setRunning(src.session()?.state === "running" && ctx.open);
|
||||
@@ -446,10 +446,10 @@ export function mountChat(root, src, makeHead) {
|
||||
renderHead();
|
||||
if (!src.key()) {
|
||||
renderComposer();
|
||||
replace(transcript, h("div", { class: "empty" }, src.empty));
|
||||
replace(transcript, h("div", { class: "empty" }, src.empty), scanner);
|
||||
return;
|
||||
}
|
||||
replace(transcript);
|
||||
replace(transcript, scanner);
|
||||
appendEvents(src.events());
|
||||
renderComposer();
|
||||
};
|
||||
@@ -463,7 +463,7 @@ export function mountChat(root, src, makeHead) {
|
||||
onEach([src.streamTopic], (ev) => appendDelta(ev)),
|
||||
onEach(["tasks", "sessions"], () => fillTodoLinks(transcript, models[0])),
|
||||
];
|
||||
replace(root, h("div", { class: "transcript-view" }, head, transcript, scanner, composer));
|
||||
replace(root, h("div", { class: "transcript-view" }, head, transcript, composer));
|
||||
renderAll();
|
||||
return () => {
|
||||
for (const off of offs) {
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+4
-4
@@ -237,7 +237,7 @@ export function mountChat(root: HTMLElement, src: ChatSource, makeHead: (rerende
|
||||
if (anchor?.parentNode === transcript) {
|
||||
transcript.insertBefore(el, anchor);
|
||||
} else {
|
||||
transcript.append(el);
|
||||
transcript.insertBefore(el, scanner);
|
||||
}
|
||||
};
|
||||
const syncRunning = () => setRunning(src.session()?.state === "running" && ctx.open);
|
||||
@@ -528,10 +528,10 @@ export function mountChat(root: HTMLElement, src: ChatSource, makeHead: (rerende
|
||||
renderHead();
|
||||
if (!src.key()) {
|
||||
renderComposer();
|
||||
replace(transcript, h("div", { class: "empty" }, src.empty));
|
||||
replace(transcript, h("div", { class: "empty" }, src.empty), scanner);
|
||||
return;
|
||||
}
|
||||
replace(transcript);
|
||||
replace(transcript, scanner);
|
||||
appendEvents(src.events());
|
||||
renderComposer();
|
||||
};
|
||||
@@ -547,7 +547,7 @@ export function mountChat(root: HTMLElement, src: ChatSource, makeHead: (rerende
|
||||
onEach(["tasks", "sessions"], () => fillTodoLinks(transcript, models[0]!)),
|
||||
];
|
||||
|
||||
replace(root, h("div", { class: "transcript-view" }, head, transcript, scanner, composer));
|
||||
replace(root, h("div", { class: "transcript-view" }, head, transcript, composer));
|
||||
renderAll();
|
||||
return () => {
|
||||
for (const off of offs) {
|
||||
|
||||
+4
-3
@@ -635,15 +635,16 @@ button.compact.danger {
|
||||
|
||||
.scanner {
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
height: 0;
|
||||
z-index: 1;
|
||||
margin-top: -12px;
|
||||
}
|
||||
|
||||
.scanner::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -11px;
|
||||
left: 17px;
|
||||
top: 6px;
|
||||
left: 0;
|
||||
width: 84px;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, transparent, var(--task), transparent) 0 0 / 30px 100% no-repeat;
|
||||
|
||||
Reference in New Issue
Block a user