sidebar.css 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. html, body {
  2. margin: 0;
  3. padding: 0;
  4. height: 100%;
  5. overflow: hidden;
  6. }
  7. .sidebar-container {
  8. display: flex;
  9. flex-direction: column;
  10. height: 100vh;
  11. }
  12. #chat-container {
  13. flex: 1;
  14. overflow-y: auto;
  15. padding: 16px 0;
  16. }
  17. .bottom-container {
  18. border-top: 1px solid #e0e0e0;
  19. background: white;
  20. padding: 8px;
  21. }
  22. #messages-container {
  23. height: 100%;
  24. overflow-y: auto;
  25. }
  26. .input-container {
  27. display: flex;
  28. gap: 8px;
  29. padding: 0;
  30. align-items: center;
  31. }
  32. #chat-input {
  33. flex: 1;
  34. padding: 8px;
  35. border: 1px solid #ced4da;
  36. border-radius: 4px;
  37. resize: vertical;
  38. height: 4.5em;
  39. min-height: 4.5em;
  40. max-height: 100px;
  41. font-size: 14px;
  42. }
  43. #send-button {
  44. padding: 8px;
  45. background: #007bff;
  46. color: white;
  47. border: none;
  48. border-radius: 4px;
  49. cursor: pointer;
  50. height: 4.5em;
  51. }
  52. #send-button:hover {
  53. background: #0056b3;
  54. }
  55. .connection-status {
  56. padding: 6px;
  57. text-align: center;
  58. background: #dc3545;
  59. color: white;
  60. border-radius: 4px;
  61. margin-bottom: 8px;
  62. font-size: 12px;
  63. }
  64. .connection-status.connected {
  65. background: #28a745;
  66. }
  67. .connection-status.disconnected {
  68. background: #dc3545;
  69. }
  70. /* Message block styles */
  71. .message-block {
  72. display: flex;
  73. padding: 8px 16px;
  74. gap: 12px;
  75. align-items: flex-start;
  76. width: 100%;
  77. box-sizing: border-box;
  78. }
  79. .actor-icon {
  80. width: 32px;
  81. height: 32px;
  82. flex-shrink: 0;
  83. border-radius: 50%;
  84. }
  85. .actor-icon img {
  86. width: 24px;
  87. height: 24px;
  88. padding: 4px;
  89. border-radius: 50%;
  90. }
  91. .actor-name {
  92. font-weight: 600;
  93. font-size: 14px;
  94. color: #2c2c2c;
  95. margin-bottom: 4px;
  96. }
  97. .message-text {
  98. font-size: 14px;
  99. color: #4a4a4a;
  100. line-height: 1.4;
  101. word-wrap: break-word;
  102. white-space: pre-wrap;
  103. }
  104. .message-time {
  105. font-size: 12px;
  106. color: #888;
  107. white-space: nowrap;
  108. margin-left: auto;
  109. flex-shrink: 0;
  110. }
  111. /* For messages from the same actor */
  112. .message-block.same-actor {
  113. padding-left: 60px;
  114. }
  115. /* Add this new style for user messages with previous messages */
  116. .message-block[data-actor="user"]:not(:first-child) {
  117. border-top: 1px solid #e0e0e0;
  118. }
  119. .message-block.same-actor .actor-icon {
  120. display: none;
  121. }
  122. .message-block + .message-block {
  123. margin-top: 4px;
  124. }
  125. /* Message block styles */
  126. .message-content {
  127. flex: 1;
  128. display: flex;
  129. flex-direction: column;
  130. position: relative;
  131. }
  132. /* Progress indicator styles */
  133. .message-text.progress-message {
  134. position: relative;
  135. min-height: 4px;
  136. width: 100%;
  137. margin: 8px 0;
  138. background: #f5f5f5;
  139. overflow: hidden;
  140. }
  141. .progress-bar {
  142. position: absolute;
  143. bottom: 0;
  144. left: 0;
  145. height: 4px;
  146. width: 100%;
  147. background: linear-gradient(90deg,
  148. transparent 0%,
  149. #007bff 0%,
  150. #00bcd4 30%,
  151. transparent 30%
  152. );
  153. border-radius: 2px;
  154. animation: progress-animation 1.5s infinite ease-in-out;
  155. }
  156. @keyframes progress-animation {
  157. 0% {
  158. transform: translateX(-100%);
  159. }
  160. 100% {
  161. transform: translateX(100%);
  162. }
  163. }