| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  | @inherits MSGComponentBase | 
					
						
							|  |  |  | <MudTreeView T="ITreeItem" Items="@this.treeItems" SelectionMode="SelectionMode.SingleSelection" Hover="@true" ExpandOnClick="@true" Class="ma-3"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |     <ItemTemplate Context="item"> | 
					
						
							| 
									
										
										
										
											2024-07-24 13:17:45 +00:00
										 |  |  |         @switch (item.Value) | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |         { | 
					
						
							|  |  |  |             case TreeDivider: | 
					
						
							|  |  |  |                 <li style="min-height: 1em;"> | 
					
						
							|  |  |  |                     <MudDivider Style="margin-top: 1em; width: 90%; border-width: 3pt;"/> | 
					
						
							|  |  |  |                 </li> | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |                  | 
					
						
							|  |  |  |             case TreeItemData treeItem: | 
					
						
							|  |  |  |                 @if (treeItem.Type is TreeItemType.CHAT) | 
					
						
							|  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2024-11-02 21:53:02 +00:00
										 |  |  |                     <MudTreeViewItem T="ITreeItem" Icon="@treeItem.Icon" Value="@item.Value" Expanded="@item.Expanded" CanExpand="@treeItem.Expandable" Items="@treeItem.Children" OnClick="() => this.LoadChat(treeItem.Path, true)"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                         <BodyContent> | 
					
						
							|  |  |  |                             <div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%"> | 
					
						
							|  |  |  |                                 <MudText Style="justify-self: start;"> | 
					
						
							|  |  |  |                                     @if (string.IsNullOrWhiteSpace(treeItem.Text)) | 
					
						
							|  |  |  |                                     { | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                         @T("Empty chat") | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                     } | 
					
						
							|  |  |  |                                     else | 
					
						
							|  |  |  |                                     { | 
					
						
							|  |  |  |                                         @treeItem.ShortenedText | 
					
						
							|  |  |  |                                     } | 
					
						
							|  |  |  |                                 </MudText> | 
					
						
							|  |  |  |                                 <div style="justify-self: end;"> | 
					
						
							|  |  |  |                                      | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                     <MudTooltip Text="@T("Move to workspace")" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                         <MudIconButton Icon="@Icons.Material.Filled.MoveToInbox" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.MoveChat(treeItem.Path)"/> | 
					
						
							|  |  |  |                                     </MudTooltip> | 
					
						
							|  |  |  |                                      | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                     <MudTooltip Text="@T("Rename")" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                         <MudIconButton Icon="@Icons.Material.Filled.Edit" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.RenameChat(treeItem.Path)"/> | 
					
						
							|  |  |  |                                     </MudTooltip> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                     <MudTooltip Text="@T("Delete")" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                         <MudIconButton Icon="@Icons.Material.Filled.Delete" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.DeleteChat(treeItem.Path)"/> | 
					
						
							|  |  |  |                                     </MudTooltip> | 
					
						
							|  |  |  |                                 </div> | 
					
						
							|  |  |  |                             </div> | 
					
						
							|  |  |  |                         </BodyContent> | 
					
						
							|  |  |  |                     </MudTreeViewItem> | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 else if (treeItem.Type is TreeItemType.WORKSPACE) | 
					
						
							|  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2024-11-02 21:53:02 +00:00
										 |  |  |                     <MudTreeViewItem T="ITreeItem" Icon="@treeItem.Icon" Value="@item.Value" Expanded="@item.Expanded" CanExpand="@treeItem.Expandable" Items="@treeItem.Children"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                         <BodyContent> | 
					
						
							|  |  |  |                             <div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%"> | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                 <MudText Style="justify-self: start;"> | 
					
						
							|  |  |  |                                     @treeItem.Text | 
					
						
							|  |  |  |                                 </MudText> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                 <div style="justify-self: end;"> | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                     <MudTooltip Text="@T("Rename")" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                         <MudIconButton Icon="@Icons.Material.Filled.Edit" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.RenameWorkspace(treeItem.Path)"/> | 
					
						
							|  |  |  |                                     </MudTooltip> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                     <MudTooltip Text="@T("Delete")" Placement="@WORKSPACE_ITEM_TOOLTIP_PLACEMENT"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                                         <MudIconButton Icon="@Icons.Material.Filled.Delete" Size="Size.Medium" Color="Color.Inherit" OnClick="() => this.DeleteWorkspace(treeItem.Path)"/> | 
					
						
							|  |  |  |                                     </MudTooltip> | 
					
						
							|  |  |  |                                 </div> | 
					
						
							|  |  |  |                             </div> | 
					
						
							|  |  |  |                         </BodyContent> | 
					
						
							|  |  |  |                     </MudTreeViewItem> | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 else | 
					
						
							|  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2024-11-02 21:53:02 +00:00
										 |  |  |                     <MudTreeViewItem T="ITreeItem" Icon="@treeItem.Icon" Value="@item.Value" Expanded="@item.Expanded" CanExpand="@treeItem.Expandable" Items="@treeItem.Children"> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                         <BodyContent> | 
					
						
							|  |  |  |                             <div style="display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%"> | 
					
						
							| 
									
										
										
										
											2025-04-27 07:06:05 +00:00
										 |  |  |                                 <MudText Style="justify-self: start;"> | 
					
						
							|  |  |  |                                     @treeItem.Text | 
					
						
							|  |  |  |                                 </MudText> | 
					
						
							| 
									
										
										
										
											2024-07-13 08:37:57 +00:00
										 |  |  |                             </div> | 
					
						
							|  |  |  |                         </BodyContent> | 
					
						
							|  |  |  |                     </MudTreeViewItem> | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |                  | 
					
						
							|  |  |  |             case TreeButton treeButton: | 
					
						
							|  |  |  |                 <li> | 
					
						
							|  |  |  |                     <div class="mud-treeview-item-content" style="background-color: unset;"> | 
					
						
							|  |  |  |                         <div class="mud-treeview-item-arrow"></div> | 
					
						
							|  |  |  |                         <MudButton StartIcon="@treeButton.Icon" Variant="Variant.Filled" OnClick="treeButton.Action"> | 
					
						
							|  |  |  |                             @treeButton.Text | 
					
						
							|  |  |  |                         </MudButton> | 
					
						
							|  |  |  |                     </div> | 
					
						
							|  |  |  |                 </li> | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     </ItemTemplate> | 
					
						
							|  |  |  | </MudTreeView> |