| <div class="chat-container" [ngClass]="{ minimized: isMinimized }" (click)="isMinimized ? toggleMinimize() : null" id="chat-container"> | |
| <div class="chat-header"> | |
| <span class="chat-title">ChainBot</span> | |
| <button class="minimize-btn" (click)="toggleMinimize($event)">_</button> | |
| <button class="close-btn" (click)="closeChat($event)">x</button> | |
| </div> | |
| <div *ngIf="errorMessage" class="error-alert"> | |
| {{ errorMessage }} | |
| </div> | |
| <div class="chat-content" id="chat-content" #chatContent> | |
| <div *ngFor="let message of conversation" class="message" [ngClass]="{ 'user-message': message.speaker === 'user', 'bot-message': message.speaker === 'bot' }"> | |
| <div *ngIf="message.speaker === 'bot'" class="message-icon"> | |
| <img style="width: 35px; height: 35px;" src="https://static.thenounproject.com/png/1156284-200.png" alt="Bot Icon"> | |
| </div> | |
| <div class="message-text"> | |
| {{ message.text }} | |
| </div> | |
| </div> | |
| <div *ngIf="currentNode.type === 'question'" class="answers"> | |
| <button *ngFor="let answer of currentNode.answers" (click)="selectAnswer(answer)"> | |
| {{ answer.text }} | |
| </button> | |
| </div> | |
| <div *ngIf="currentNode.type === 'input'" class="user-input"> | |
| <div class="input-icon"> | |
| <img style="width: 20px; height: 20px;" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSnRWFs0zshslKNFEmRVUuHgYNfmk5_-M4Qgw&s" alt="User Icon" /> | |
| </div> | |
| <input [(ngModel)]="userInput" placeholder="Type your response..." /> | |
| <button (click)="submitInput()">Submit</button> | |
| </div> | |
| </div> | |
| <div class="chat-minimized" id="chat-minimized" (click)="toggleMinimize()" *ngIf="isMinimized"> | |
| <img style="width: 50px; height: 50px;" src="https://chatbot.design/favicon.ico"> | |
| </div> | |
| </div> | |