@@ -184,9 +184,9 @@ <h3>Metadata</h3>
184184 < tr >
185185 < td class ="col-md-3 "> imports</ td >
186186 < td class ="col-md-9 ">
187- < code > CommonModule</ code >
188- < code > FormsModule</ code >
189- < code > HttpClientModule</ code >
187+ < code > < a href =" https://angular.io/api/common/ CommonModule" target =" _blank " > CommonModule </ a > </ code >
188+ < code > < a href =" https://angular.io/api/forms/ FormsModule" target =" _blank " > FormsModule </ a > </ code >
189+ < code > < a href =" https://angular.io/api/common/http/ HttpClientModule" target =" _blank " > HttpClientModule </ a > </ code >
190190 </ td >
191191 </ tr >
192192
@@ -265,7 +265,7 @@ <h3 id="constructor">Constructor</h3>
265265 < tbody >
266266 < tr >
267267 < td class ="col-md-4 ">
268- < code > constructor(geminiApi: < a href ="../injectables/GeminiApiService.html " target ="_self "> GeminiApiService</ a > , sanitizer: DomSanitizer)</ code >
268+ < code > constructor(geminiApi: < a href ="../injectables/GeminiApiService.html " target ="_self "> GeminiApiService</ a > , sanitizer: < a href =" https://angular.io/api/platform-browser/ DomSanitizer" target =" _blank " > DomSanitizer </ a > )</ code >
269269 </ td >
270270 </ tr >
271271 < tr >
@@ -310,7 +310,7 @@ <h3 id="constructor">Constructor</h3>
310310 < td > sanitizer</ td >
311311
312312 < td >
313- < code > DomSanitizer</ code >
313+ < code > < a href =" https://angular.io/api/platform-browser/ DomSanitizer" target =" _blank " > DomSanitizer </ a > </ code >
314314 </ td >
315315
316316 < td >
@@ -688,12 +688,12 @@ <h3 id="inputs">
688688
689689</ div >
690690
691- < script src ="../js/libs/vis.min.js "> </ script >
691+ < script src ="../js/libs/vis-network .min.js "> </ script >
692692< script src ="../js/libs/htmlparser.js "> </ script >
693693< script src ="../js/libs/deep-iterator.js "> </ script >
694694< script >
695695 var COMPONENT_TEMPLATE = '<div><section class="section p-4 mb-4"> <div class="transition-all duration-300 max-w-2xl mx-auto"> <div class="sticky top-0 z-30 bg-[var(--color-bg)] py-2 pb-4"> <h2 class="text-xl font-semibold mb-4 text-[var(--theme-color)] text-center">💬 AI Assistant </h2> <!-- Chat-style Input Area --> <div class="flex gap-2 items-center"> <!-- Send Button with Icon --> <!-- Input Field --> <input type="text" [(ngModel)]="userInput" placeholder="Ask something related to your expenses..." class="flex-1 px-4 py-2 rounded-lg border text-[var(--input-text)] bg-[var(--input-bg)] border-[var(--input-border)] focus:outline-none focus:ring-2 focus:ring-[var(--theme-color)] transition-all duration-200" /> <button (click)="send()" class="shrink-0 bg-[var(--theme-color)] p-3 rounded-full shadow hover:scale-105 transition-transform duration-200" title="Send"> <img src="assets/img/icon/icons8-send-48.png" alt="Send" class="w-5 h-5" style="filter:invert(100%)" /> </button> </div> </div> <!-- AI Response Box --> <div *ngIf="responseHtml" class="mt-1 p-1 pb-4 bg-[var(--color-bg)] animate-fade-in overflow-auto" [innerHTML]="responseHtml"></div> </div></section><!-- for chat --><!-- <section class="p-4 section"> <div class="p-4 max-w-xl mx-auto"> <div class="space-y-4 mb-4"> <div *ngFor="let msg of messages"> <div [ngClass]="{ \'text-right\': msg.role === \'user\', \'text-left\': msg.role === \'model\' }"> <div [ngClass]="{ \'bg-blue-100 text-blue-800\': msg.role === \'user\', \'bg-gray-100 text-gray-800\': msg.role === \'model\' }" class="inline-block px-4 py-2 rounded-lg max-w-full overflow-x-auto"> <ng-container *ngIf="msg.role === \'user\'; else markdownReply"> {{ msg.parts[0].text }} </ng-container> <ng-template #markdownReply> <div [innerHTML]="msg.safeHtml"></div> </ng-template> </div> </div> </div> <div *ngIf="loading" class="text-center text-gray-400">Thinking...</div> </div> <div class="flex gap-2"> <input type="text" [(ngModel)]="userInput" placeholder="Type your message..." class="w-full p-2 border rounded" (keydown.enter)="send()" /> <button (click)="send()" class="bg-blue-500 text-white px-4 py-2 rounded" [disabled]="loading"> Send </button> </div> </div></section> --></div>'
696- var COMPONENTS = [ { 'name' : 'AddExpenseComponent' , 'selector' : 'app-add-expense' } , { 'name' : 'AiComponent' , 'selector' : 'app-ai' } , { 'name' : 'AppComponent' , 'selector' : 'app-root' } , { 'name' : 'BudgetComponent' , 'selector' : 'app-budget' } , { 'name' : 'CalendarComponent' , 'selector' : 'app-calendar' } , { 'name' : 'CategoryDropdownComponent' , 'selector' : 'app-category-dropdown' } , { 'name' : 'DownloadComponentComponent' , 'selector' : 'app-download-component' } , { 'name' : 'ExpenseDetailsModalComponent' , 'selector' : 'app-expense-details-modal' } , { 'name' : 'ExpenseListComponent' , 'selector' : 'app-expense-list' } , { 'name' : 'ExpenseWiseComponent' , 'selector' : 'app-expense-wise' } , { 'name' : 'FooterComponent' , 'selector' : 'app-footer' } , { 'name' : 'FormModelComponent' , 'selector' : 'app-form-model' } , { 'name' : 'GlobalLoaderComponent' , 'selector' : 'app-global-loader' } , { 'name' : 'GraphsComponent' , 'selector' : 'app-graphs' } , { 'name' : 'HamburgerMenuComponent' , 'selector' : 'app-hamburger-menu' } , { 'name' : 'HelpDashboard' , 'selector' : 'app-help-dashboard' } , { 'name' : 'HomeComponent' , 'selector' : 'app-home' } , { 'name' : 'InstallAppPopupComponentComponent' , 'selector' : 'app-install-app-popup-component' } , { 'name' : 'ListExpensesComponent' , 'selector' : 'app-list-expenses' } , { 'name' : 'MusicComponent' , 'selector' : 'app-music' } , { 'name' : 'NavbarComponent' , 'selector' : 'app-navbar' } , { 'name' : 'PieChartComponent' , 'selector' : 'app-pie-chart' } , { 'name' : 'PlaylistMusicComponent' , 'selector' : 'app-playlist-music' } , { 'name' : 'SearchButtonComponent' , 'selector' : 'app-search-button' } , { 'name' : 'SearchMusicComponent' , 'selector' : 'app-search-music' } , { 'name' : 'SettingItemComponent' , 'selector' : 'app-setting-item' } , { 'name' : 'SettingsComponent' , 'selector' : 'app-settings' } , { 'name' : 'SidebarComponent' , 'selector' : 'app-sidebar' } , { 'name' : 'SplashScreenComponent' , 'selector' : 'app-splash-screen' } , { 'name' : 'TemplatePlaygroundComponent' , 'selector' : 'template-playground-root' } , { 'name' : 'ToastComponent' , 'selector' : 'app-toast' } ] ;
696+ var COMPONENTS = [ { 'name' : 'AddExpenseComponent' , 'selector' : 'app-add-expense' } , { 'name' : 'AiComponent' , 'selector' : 'app-ai' } , { 'name' : 'AppComponent' , 'selector' : 'app-root' } , { 'name' : 'CalendarComponent' , 'selector' : 'app-calendar' } , { 'name' : 'CategoryDropdownComponent' , 'selector' : 'app-category-dropdown' } , { 'name' : 'DownloadComponentComponent' , 'selector' : 'app-download-component' } , { 'name' : 'ExpenseDetailsModalComponent' , 'selector' : 'app-expense-details-modal' } , { 'name' : 'ExpenseListComponent' , 'selector' : 'app-expense-list' } , { 'name' : 'ExpenseWiseComponent' , 'selector' : 'app-expense-wise' } , { 'name' : 'FooterComponent' , 'selector' : 'app-footer' } , { 'name' : 'FormModelComponent' , 'selector' : 'app-form-model' } , { 'name' : 'GlobalLoaderComponent' , 'selector' : 'app-global-loader' } , { 'name' : 'GraphsComponent' , 'selector' : 'app-graphs' } , { 'name' : 'HamburgerMenuComponent' , 'selector' : 'app-hamburger-menu' } , { 'name' : 'HelpDashboard' , 'selector' : 'app-help-dashboard' } , { 'name' : 'HomeComponent' , 'selector' : 'app-home' } , { 'name' : 'InstallAppPopupComponentComponent' , 'selector' : 'app-install-app-popup-component' } , { 'name' : 'ListExpensesComponent' , 'selector' : 'app-list-expenses' } , { 'name' : 'MusicComponent' , 'selector' : 'app-music' } , { 'name' : 'NavbarComponent' , 'selector' : 'app-navbar' } , { 'name' : 'PieChartComponent' , 'selector' : 'app-pie-chart' } , { 'name' : 'PlaylistMusicComponent' , 'selector' : 'app-playlist-music' } , { 'name' : 'SalaryComponent' , 'selector' : 'app-salary' } , { 'name' : 'SearchButtonComponent' , 'selector' : 'app-search-button' } , { 'name' : 'SearchMusicComponent' , 'selector' : 'app-search-music' } , { 'name' : 'SettingItemComponent' , 'selector' : 'app-setting-item' } , { 'name' : 'SettingsComponent' , 'selector' : 'app-settings' } , { 'name' : 'SidebarComponent' , 'selector' : 'app-sidebar' } , { 'name' : 'SplashScreenComponent' , 'selector' : 'app-splash-screen' } , { 'name' : 'TemplatePlaygroundComponent' , 'selector' : 'template-playground-root' } , { 'name' : 'ToastComponent' , 'selector' : 'app-toast' } ] ;
697697 var DIRECTIVES = [ ] ;
698698 var ACTUAL_COMPONENT = { 'name' : 'AiComponent' } ;
699699</ script >
0 commit comments