| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  | import * as plugins from './00plugins.js'; | 
					
						
							|  |  |  | import { | 
					
						
							|  |  |  |   DeesElement, | 
					
						
							|  |  |  |   type TemplateResult, | 
					
						
							|  |  |  |   property, | 
					
						
							|  |  |  |   customElement, | 
					
						
							|  |  |  |   html, | 
					
						
							|  |  |  |   css, | 
					
						
							|  |  |  |   cssManager, | 
					
						
							|  |  |  | } from '@design.estate/dees-element'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import * as domtools from '@design.estate/dees-domtools'; | 
					
						
							|  |  |  | import { DeesContextmenu } from './dees-contextmenu.js'; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  | import './dees-icon.js'; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | @customElement('dees-appui-activitylog') | 
					
						
							|  |  |  | export class DeesAppuiActivitylog extends DeesElement { | 
					
						
							|  |  |  |   // STATIC
 | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |   public static demo = () => html`
 | 
					
						
							|  |  |  |     <style> | 
					
						
							|  |  |  |       .demo-container { | 
					
						
							|  |  |  |         display: flex; | 
					
						
							|  |  |  |         justify-content: center; | 
					
						
							|  |  |  |         align-items: center; | 
					
						
							|  |  |  |         height: 600px; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#f4f4f5', '#09090b')}; | 
					
						
							|  |  |  |         padding: 32px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     </style> | 
					
						
							|  |  |  |     <div class="demo-container"> | 
					
						
							|  |  |  |       <dees-appui-activitylog></dees-appui-activitylog> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   `;
 | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   // INSTANCE
 | 
					
						
							|  |  |  |   public static styles = [ | 
					
						
							|  |  |  |     cssManager.defaultStyles, | 
					
						
							|  |  |  |     css`
 | 
					
						
							|  |  |  |       :host { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         color: ${cssManager.bdTheme('#09090b', '#fafafa')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         position: relative; | 
					
						
							|  |  |  |         display: block; | 
					
						
							|  |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         max-width: 320px; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         height: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         background: ${cssManager.bdTheme('#fafafa', '#0a0a0a')}; | 
					
						
							|  |  |  |         font-family: 'Geist Mono', monospace; | 
					
						
							|  |  |  |         border-left: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         cursor: default; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         box-shadow: ${cssManager.bdTheme( | 
					
						
							|  |  |  |           '-4px 0 12px rgba(0, 0, 0, 0.02)', | 
					
						
							|  |  |  |           '-4px 0 12px rgba(0, 0, 0, 0.2)' | 
					
						
							|  |  |  |         )}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  |       .maincontainer { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							|  |  |  |         top: 0px; | 
					
						
							|  |  |  |         left: 0px; | 
					
						
							|  |  |  |         height: 100%; | 
					
						
							|  |  |  |         width: 100%; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .topbar { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							|  |  |  |         top: 0px; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         height: 40px; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         padding: 0px 16px; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#ffffff', '#09090b')}; | 
					
						
							|  |  |  |         border-bottom: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')}; | 
					
						
							|  |  |  |         display: flex; | 
					
						
							|  |  |  |         align-items: center; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .topbar .heading { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         font-weight: 600; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         font-size: 14px; | 
					
						
							| 
									
										
										
										
											2024-06-30 10:37:12 +02:00
										 |  |  |         font-family: 'Geist Sans', sans-serif; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         color: ${cssManager.bdTheme('#09090b', '#fafafa')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .activityContainer { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         top: 40px; | 
					
						
							|  |  |  |         bottom: 48px; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         padding: 12px 0px; | 
					
						
							|  |  |  |         overflow-y: auto; | 
					
						
							|  |  |  |         scrollbar-width: thin; | 
					
						
							|  |  |  |         scrollbar-color: ${cssManager.bdTheme('#e5e7eb', '#27272a')} transparent; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activityContainer::-webkit-scrollbar { | 
					
						
							|  |  |  |         width: 6px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activityContainer::-webkit-scrollbar-track { | 
					
						
							|  |  |  |         background: transparent; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activityContainer::-webkit-scrollbar-thumb { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#e5e7eb', '#27272a')}; | 
					
						
							|  |  |  |         border-radius: 3px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activityContainer::-webkit-scrollbar-thumb:hover { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .streamingIndicator { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         font-size: 11px; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         text-align: center; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         padding: 16px; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#71717a', '#71717a')}; | 
					
						
							|  |  |  |         font-family: 'Geist Sans', sans-serif; | 
					
						
							|  |  |  |         text-transform: uppercase; | 
					
						
							|  |  |  |         letter-spacing: 0.05em; | 
					
						
							|  |  |  |         font-weight: 500; | 
					
						
							|  |  |  |         display: flex; | 
					
						
							|  |  |  |         align-items: center; | 
					
						
							|  |  |  |         justify-content: center; | 
					
						
							|  |  |  |         gap: 8px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .streamingIndicator::before { | 
					
						
							|  |  |  |         content: ''; | 
					
						
							|  |  |  |         width: 6px; | 
					
						
							|  |  |  |         height: 6px; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#3b82f6', '#3b82f6')}; | 
					
						
							|  |  |  |         border-radius: 50%; | 
					
						
							|  |  |  |         animation: pulse 2s ease-in-out infinite; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       @keyframes pulse { | 
					
						
							|  |  |  |         0%, 100% { opacity: 0.4; transform: scale(0.8); } | 
					
						
							|  |  |  |         50% { opacity: 1; transform: scale(1.2); } | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .streamingIndicator.bottom { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         padding-top: 8px; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         padding-bottom: 16px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .activityentry { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         min-height: 36px; | 
					
						
							|  |  |  |         font-size: 13px; | 
					
						
							|  |  |  |         padding: 10px 16px; | 
					
						
							|  |  |  |         border-bottom: 1px solid ${cssManager.bdTheme('#f4f4f5', '#18181b')}; | 
					
						
							|  |  |  |         transition: all 0.15s ease; | 
					
						
							|  |  |  |         display: flex; | 
					
						
							|  |  |  |         align-items: center; | 
					
						
							|  |  |  |         gap: 8px; | 
					
						
							|  |  |  |         line-height: 1.4; | 
					
						
							|  |  |  |         animation: fadeIn 0.3s ease-out; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       @keyframes fadeIn { | 
					
						
							|  |  |  |         from { | 
					
						
							|  |  |  |           opacity: 0; | 
					
						
							|  |  |  |           transform: translateY(-4px); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         to { | 
					
						
							|  |  |  |           opacity: 1; | 
					
						
							|  |  |  |           transform: translateY(0); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .activityentry:last-of-type { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         border-bottom: none; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .activityentry:hover { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         background: ${cssManager.bdTheme('#f4f4f5', '#18181b')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .timestamp { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         color: ${cssManager.bdTheme('#71717a', '#71717a')}; | 
					
						
							|  |  |  |         font-weight: 500; | 
					
						
							|  |  |  |         font-size: 12px; | 
					
						
							|  |  |  |         font-variant-numeric: tabular-nums; | 
					
						
							|  |  |  |         flex-shrink: 0; | 
					
						
							|  |  |  |         min-width: 45px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-icon { | 
					
						
							|  |  |  |         width: 28px; | 
					
						
							|  |  |  |         height: 28px; | 
					
						
							|  |  |  |         border-radius: 6px; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#f4f4f5', '#18181b')}; | 
					
						
							|  |  |  |         display: flex; | 
					
						
							|  |  |  |         align-items: center; | 
					
						
							|  |  |  |         justify-content: center; | 
					
						
							|  |  |  |         flex-shrink: 0; | 
					
						
							|  |  |  |         font-size: 14px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-icon.login { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('rgba(34, 197, 94, 0.1)', 'rgba(34, 197, 94, 0.1)')}; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#16a34a', '#22c55e')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-icon.logout { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('rgba(239, 68, 68, 0.1)', 'rgba(239, 68, 68, 0.1)')}; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#dc2626', '#ef4444')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-icon.view { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('rgba(59, 130, 246, 0.1)', 'rgba(59, 130, 246, 0.1)')}; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#2563eb', '#3b82f6')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-icon.create { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('rgba(168, 85, 247, 0.1)', 'rgba(168, 85, 247, 0.1)')}; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#9333ea', '#a855f7')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-icon.update { | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('rgba(251, 146, 60, 0.1)', 'rgba(251, 146, 60, 0.1)')}; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#ea580c', '#fb923c')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-text { | 
					
						
							|  |  |  |         flex: 1; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#18181b', '#e4e4e7')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .activity-user { | 
					
						
							|  |  |  |         font-weight: 600; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#09090b', '#fafafa')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .date-separator { | 
					
						
							|  |  |  |         padding: 12px 16px 8px; | 
					
						
							|  |  |  |         font-size: 11px; | 
					
						
							|  |  |  |         font-weight: 600; | 
					
						
							|  |  |  |         text-transform: uppercase; | 
					
						
							|  |  |  |         letter-spacing: 0.05em; | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#71717a', '#71717a')}; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#f9fafb', '#09090b')}; | 
					
						
							|  |  |  |         border-bottom: 1px solid ${cssManager.bdTheme('#f4f4f5', '#18181b')}; | 
					
						
							|  |  |  |         position: sticky; | 
					
						
							|  |  |  |         top: 0; | 
					
						
							|  |  |  |         z-index: 1; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .searchbox { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							|  |  |  |         bottom: 0px; | 
					
						
							|  |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         height: 48px; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#ffffff', '#09090b')}; | 
					
						
							|  |  |  |         border-top: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')}; | 
					
						
							|  |  |  |         padding: 8px; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .search-wrapper { | 
					
						
							|  |  |  |         position: relative; | 
					
						
							|  |  |  |         width: 100%; | 
					
						
							|  |  |  |         height: 32px; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |        | 
					
						
							|  |  |  |       .search-icon { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							|  |  |  |         left: 10px; | 
					
						
							|  |  |  |         top: 50%; | 
					
						
							|  |  |  |         transform: translateY(-50%); | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#71717a', '#71717a')}; | 
					
						
							|  |  |  |         font-size: 14px; | 
					
						
							|  |  |  |         pointer-events: none; | 
					
						
							|  |  |  |         transition: color 0.15s ease; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       .searchbox input { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         color: ${cssManager.bdTheme('#09090b', '#fafafa')}; | 
					
						
							|  |  |  |         background: ${cssManager.bdTheme('#f4f4f5', '#18181b')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         height: 100%; | 
					
						
							|  |  |  |         border: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')}; | 
					
						
							|  |  |  |         border-radius: 6px; | 
					
						
							|  |  |  |         padding: 0 12px 0 36px; | 
					
						
							|  |  |  |         font-family: 'Geist Sans', sans-serif; | 
					
						
							|  |  |  |         font-size: 13px; | 
					
						
							|  |  |  |         transition: all 0.15s ease; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .searchbox input::placeholder { | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#71717a', '#71717a')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .searchbox input:focus { | 
					
						
							|  |  |  |         outline: none; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         border-color: ${cssManager.bdTheme('#3b82f6', '#3b82f6')}; | 
					
						
							|  |  |  |         box-shadow: 0 0 0 3px ${cssManager.bdTheme('rgba(59, 130, 246, 0.1)', 'rgba(59, 130, 246, 0.1)')}; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       .searchbox input:focus ~ .search-icon, | 
					
						
							|  |  |  |       .search-wrapper:has(input:focus) .search-icon { | 
					
						
							|  |  |  |         color: ${cssManager.bdTheme('#3b82f6', '#3b82f6')}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .bottomShadow { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							|  |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         height: 24px; | 
					
						
							|  |  |  |         bottom: 48px; | 
					
						
							| 
									
										
										
										
											2025-06-17 08:58:47 +00:00
										 |  |  |         background: ${cssManager.bdTheme( | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |           'linear-gradient(180deg, transparent 0%, #fafafa 100%)', | 
					
						
							|  |  |  |           'linear-gradient(180deg, transparent 0%, #0a0a0a 100%)' | 
					
						
							| 
									
										
										
										
											2025-06-17 08:58:47 +00:00
										 |  |  |         )}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         pointer-events: none; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         opacity: 0.8; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       .topShadow { | 
					
						
							|  |  |  |         position: absolute; | 
					
						
							|  |  |  |         width: 100%; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         height: 24px; | 
					
						
							|  |  |  |         top: 40px; | 
					
						
							| 
									
										
										
										
											2025-06-17 08:58:47 +00:00
										 |  |  |         background: ${cssManager.bdTheme( | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |           'linear-gradient(0deg, transparent 0%, #fafafa 100%)', | 
					
						
							|  |  |  |           'linear-gradient(0deg, transparent 0%, #0a0a0a 100%)' | 
					
						
							| 
									
										
										
										
											2025-06-17 08:58:47 +00:00
										 |  |  |         )}; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         pointer-events: none; | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |         opacity: 0.8; | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |       } | 
					
						
							|  |  |  |     `,
 | 
					
						
							|  |  |  |   ]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   public render(): TemplateResult { | 
					
						
							|  |  |  |     return html`
 | 
					
						
							|  |  |  |       ${domtools.elementBasic.styles} | 
					
						
							|  |  |  |       <style></style> | 
					
						
							|  |  |  |       <div class="maincontainer"> | 
					
						
							|  |  |  |         <div class="topbar"> | 
					
						
							|  |  |  |           <div class="heading">Activity Log</div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |         <div class="activityContainer"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |           <div class="streamingIndicator">Live Updates</div> | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |           <div class="date-separator">Today</div> | 
					
						
							|  |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry" @contextmenu=${async eventArg => { | 
					
						
							|  |  |  |             DeesContextmenu.openContextMenuWithOptions(eventArg, [ | 
					
						
							|  |  |  |               { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |                 name: 'Copy activity', | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |                 action: async () => {}, | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |               { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |                 name: 'View details', | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |                 action: async () => {}, | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |               { | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |                 name: 'Filter by user', | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |                 action: async () => {}, | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             ]); | 
					
						
							|  |  |  |           }}> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:20</span> | 
					
						
							|  |  |  |             <div class="activity-icon logout"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:logOut'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> logged out | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:19</span> | 
					
						
							|  |  |  |             <div class="activity-icon update"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:checkCircle'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> approved a payment | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:18</span> | 
					
						
							|  |  |  |             <div class="activity-icon view"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:archive'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> archived an invoice | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:17</span> | 
					
						
							|  |  |  |             <div class="activity-icon login"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:logIn'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> logged in | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:16</span> | 
					
						
							|  |  |  |             <div class="activity-icon logout"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:logOut'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> logged out | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:15</span> | 
					
						
							|  |  |  |             <div class="activity-icon update"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:key'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> changed password | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:14</span> | 
					
						
							|  |  |  |             <div class="activity-icon create"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:userPlus'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> added a new user | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">22:13</span> | 
					
						
							|  |  |  |             <div class="activity-icon view"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:messageCircle'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> contacted support | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							|  |  |  |           <div class="date-separator">Yesterday</div> | 
					
						
							|  |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">18:45</span> | 
					
						
							|  |  |  |             <div class="activity-icon update"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:trash2'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> deleted an invoice | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">17:30</span> | 
					
						
							|  |  |  |             <div class="activity-icon login"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:logIn'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> logged in | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">16:15</span> | 
					
						
							|  |  |  |             <div class="activity-icon logout"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:logOut'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> logged out | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">14:20</span> | 
					
						
							|  |  |  |             <div class="activity-icon view"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:barChart'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> viewed reports | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">13:45</span> | 
					
						
							|  |  |  |             <div class="activity-icon create"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:send'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> sent an invoice | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           <div class="activityentry"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |             <span class="timestamp">13:30</span> | 
					
						
							|  |  |  |             <div class="activity-icon create"> | 
					
						
							|  |  |  |               <dees-icon .icon=${'lucide:filePlus'}></dees-icon> | 
					
						
							|  |  |  |             </div> | 
					
						
							|  |  |  |             <div class="activity-text"> | 
					
						
							|  |  |  |               <span class="activity-user">Max Mustermann</span> created a new invoice | 
					
						
							|  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |            | 
					
						
							|  |  |  |           <div class="streamingIndicator bottom">Loading History</div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         </div> | 
					
						
							|  |  |  |         <div class="searchbox"> | 
					
						
							| 
									
										
										
										
											2025-06-27 23:48:39 +00:00
										 |  |  |           <div class="search-wrapper"> | 
					
						
							|  |  |  |             <dees-icon class="search-icon" .icon=${'lucide:search'}></dees-icon> | 
					
						
							|  |  |  |             <input type="text" placeholder="Search activities, users..." /> | 
					
						
							|  |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2024-01-24 12:18:37 +01:00
										 |  |  |         </div> | 
					
						
							|  |  |  |         <div class="topShadow"></div> | 
					
						
							|  |  |  |         <div class="bottomShadow"></div> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     `;
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |