Hansimov commited on
Commit
c98264e
1 Parent(s): 831682d

:zap: [Enhance] Improve generating status display, and move regenerate button from assistant message to user

Browse files
apps/llm_mixer/js/buttons_binder.js CHANGED
@@ -56,10 +56,7 @@ export class ButtonsBinder {
56
  console.log("Send");
57
  let button_icon = button.find("i");
58
  button.attr("status", "stop").attr("title", "Stop");
59
- button_icon
60
- .removeClass()
61
- .addClass("fa fa-circle-pause fa-fade")
62
- .css("color", "orange");
63
  await this.post_user_input();
64
  await this.stop(button);
65
  }
 
56
  console.log("Send");
57
  let button_icon = button.find("i");
58
  button.attr("status", "stop").attr("title", "Stop");
59
+ button_icon.removeClass().addClass("fa fa-circle-pause fa-fade-fast");
 
 
 
60
  await this.post_user_input();
61
  await this.stop(button);
62
  }
apps/llm_mixer/js/chat_operator.js CHANGED
@@ -32,26 +32,30 @@ export function get_latest_message_content_displayer() {
32
  return get_latest_messager_container().find(".content-displayer");
33
  }
34
 
 
 
 
 
35
  export function start_latest_message_animation() {
36
- return get_latest_messager_container()
 
 
 
37
  .find(".button-group")
38
- .find(".generate-button")
39
  .find("i")
40
- .addClass("fa-spin-fast")
41
- .css("color", "orange");
42
  }
43
 
44
  export function stop_latest_message_animation() {
45
- let generate_button = get_latest_messager_container()
 
 
 
46
  .find(".button-group")
47
- .find(".generate-button");
48
- let generate_button_icon = generate_button
49
  .find("i")
50
- .removeClass("fa-spin-fast")
51
- .css("color", "green");
52
- generate_button
53
- .removeClass("generate-button")
54
- .addClass("regenerate-button");
55
  }
56
 
57
  export function get_request_messages() {
 
32
  return get_latest_messager_container().find(".content-displayer");
33
  }
34
 
35
+ export function get_latest_user_messager() {
36
+ return $(".message-user").last();
37
+ }
38
+
39
  export function start_latest_message_animation() {
40
+ get_latest_messager_container()
41
+ .find(".content-displayer")
42
+ .addClass("blinking");
43
+ get_latest_user_messager()
44
  .find(".button-group")
45
+ .find(".regenerate-button")
46
  .find("i")
47
+ .addClass("fa-spin-fast");
 
48
  }
49
 
50
  export function stop_latest_message_animation() {
51
+ get_latest_messager_container()
52
+ .find(".content-displayer")
53
+ .removeClass("blinking");
54
+ get_latest_user_messager()
55
  .find(".button-group")
56
+ .find(".regenerate-button")
 
57
  .find("i")
58
+ .removeClass("fa-spin-fast");
 
 
 
 
59
  }
60
 
61
  export function get_request_messages() {
apps/llm_mixer/js/default.css CHANGED
@@ -40,6 +40,12 @@
40
 
41
  .fa-spin-fast {
42
  animation: fa-spin 0.6s infinite linear;
 
 
 
 
 
 
43
  }
44
 
45
  .message-viewer .edit-button,
@@ -53,3 +59,19 @@
53
  .message-viewer:hover .regenerate-button {
54
  display: inline-block;
55
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
  .fa-spin-fast {
42
  animation: fa-spin 0.6s infinite linear;
43
+ color: orange;
44
+ }
45
+
46
+ .fa-fade-fast {
47
+ animation: fa-fade 1.5s infinite linear;
48
+ color: orange;
49
  }
50
 
51
  .message-viewer .edit-button,
 
59
  .message-viewer:hover .regenerate-button {
60
  display: inline-block;
61
  }
62
+
63
+ @keyframes blink {
64
+ 0% {
65
+ background-color: transparent;
66
+ }
67
+ 50% {
68
+ background-color: antiquewhite;
69
+ }
70
+ 100% {
71
+ background-color: transparent;
72
+ }
73
+ }
74
+
75
+ .blinking {
76
+ animation: blink 2s infinite;
77
+ }
apps/llm_mixer/js/messager.js CHANGED
@@ -4,9 +4,9 @@ export class MessagerViewer {
4
  this.create_elements();
5
  }
6
  create_elements() {
7
- this.container = $("<div>").addClass(
8
- "mt-2 row no-gutters message-viewer"
9
- );
10
  this.create_role_displayer();
11
  this.create_content_displayer();
12
  this.create_button_group();
@@ -52,13 +52,13 @@ export class MessagerViewer {
52
  this.button_group.append(this.copy_button);
53
 
54
  if (this.message.role === "user") {
55
- } else {
56
  this.regenerate_button = $("<button>")
57
  .addClass("btn px-2")
58
- .addClass("generate-button")
59
  .attr("title", "Regenerate")
60
- .append($("<i>").addClass("fa fa-rotate fa-spin-fast"));
61
  this.button_group.append(this.regenerate_button);
 
62
  }
63
  }
64
  }
 
4
  this.create_elements();
5
  }
6
  create_elements() {
7
+ this.container = $("<div>")
8
+ .addClass("mt-2 row no-gutters message-viewer")
9
+ .addClass(`message-${this.message.role}`);
10
  this.create_role_displayer();
11
  this.create_content_displayer();
12
  this.create_button_group();
 
52
  this.button_group.append(this.copy_button);
53
 
54
  if (this.message.role === "user") {
 
55
  this.regenerate_button = $("<button>")
56
  .addClass("btn px-2")
57
+ .addClass("regenerate-button")
58
  .attr("title", "Regenerate")
59
+ .append($("<i>").addClass("fa fa-rotate"));
60
  this.button_group.append(this.regenerate_button);
61
+ } else {
62
  }
63
  }
64
  }