diff --git a/src/app/components/add-expense/add-expense.component.html b/src/app/components/add-expense/add-expense.component.html index 8d16c98..e9ac660 100644 --- a/src/app/components/add-expense/add-expense.component.html +++ b/src/app/components/add-expense/add-expense.component.html @@ -4,93 +4,54 @@ Track new Expense - - - - Date: - + + Date + + + + - - Cents (required): - - + + Cents + + - - Category (required): - - Select a category - @for (category of categories(); track category.id) { - {{ category.name }} - } - - - - - - Merchant (optional): - - Select a merchant - @for (merchant of merchants(); track merchant.id) { - {{ merchant.name }} + + Category + + + @for (category of categories(); track category.id) { + {{ category.name }} } - - + + - - Note (optional): - + + Merchant + + + @for (merchant of merchants(); track merchant.id) { + {{ merchant.name }} + } + + - Tags + + Note + + - + + Tags + + @for (tag of tags(); track tag.id) { + {{ tag.name }} + } + + + + Save - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/app/components/add-expense/add-expense.component.ts b/src/app/components/add-expense/add-expense.component.ts index b0d0ccb..0cde81e 100644 --- a/src/app/components/add-expense/add-expense.component.ts +++ b/src/app/components/add-expense/add-expense.component.ts @@ -1,9 +1,16 @@ -import {Component, computed, signal} from '@angular/core'; -import {Category, CategoryService} from '../../services/category.service'; -import {Merchant, MerchantService} from '../../services/merchant.service'; -import { Tag } from '../../services/tag.service'; -import {form, FormField} from '@angular/forms/signals'; -import {MatCard, MatCardContent, MatCardHeader, MatCardTitle} from '@angular/material/card'; +import { Component, computed, signal } from '@angular/core'; +import { CategoryService } from '../../services/category.service'; +import { MerchantService } from '../../services/merchant.service'; +import { Tag, TagService } from '../../services/tag.service'; +import { form, FormField } from '@angular/forms/signals'; +import { MatCardModule } from '@angular/material/card'; +import { MatInputModule } from '@angular/material/input'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatAutocompleteModule } from '@angular/material/autocomplete'; +import { MatSelectModule } from '@angular/material/select'; +import { MatButtonModule } from '@angular/material/button'; +import { provideNativeDateAdapter } from '@angular/material/core'; interface AddExpenseForm { date: Date, @@ -16,19 +23,15 @@ interface AddExpenseForm { @Component({ selector: 'app-add-expense', - imports: [ - FormField, - MatCard, - MatCardHeader, - MatCardTitle, - MatCardContent - ], + imports: [MatDatepickerModule, MatFormFieldModule, MatInputModule, MatCardModule, MatAutocompleteModule, MatSelectModule, MatButtonModule, FormField], + providers: [provideNativeDateAdapter()], templateUrl: './add-expense.component.html', styleUrl: './add-expense.component.scss', }) export class AddExpenseComponent { protected categories = computed(() => this.categoryService.categories()); protected merchants = computed(() => this.merchantService.merchants()); + protected tags = computed(() => this.tagService.tags()); private addExpenseModel = signal({ date: new Date(), amount: '', @@ -40,5 +43,6 @@ export class AddExpenseComponent { public expenseForm = form(this.addExpenseModel); public constructor(private readonly categoryService: CategoryService, - private readonly merchantService: MerchantService) { } + private readonly merchantService: MerchantService, + private readonly tagService: TagService) { } } diff --git a/src/app/components/expense-list/expense-list.component.ts b/src/app/components/expense-list/expense-list.component.ts index 5a7d57d..08864c8 100644 --- a/src/app/components/expense-list/expense-list.component.ts +++ b/src/app/components/expense-list/expense-list.component.ts @@ -1,37 +1,12 @@ import { Component, computed } from '@angular/core'; import { ExpenseService } from '../../services/expense.service'; -import { - MatCell, - MatCellDef, - MatColumnDef, - MatHeaderCell, - MatHeaderCellDef, - MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, - MatTable -} from '@angular/material/table'; -import {CurrencyPipe, DatePipe} from '@angular/common'; -import {MatCard, MatCardContent, MatCardHeader, MatCardTitle} from '@angular/material/card'; +import { MatTableModule } from '@angular/material/table'; +import { CurrencyPipe, DatePipe } from '@angular/common'; +import { MatCardModule } from '@angular/material/card'; @Component({ selector: 'app-expense-list', - imports: [ - MatTable, - MatColumnDef, - MatHeaderCell, - MatHeaderCellDef, - DatePipe, - MatCell, - MatCellDef, - CurrencyPipe, - MatHeaderRow, - MatHeaderRowDef, - MatRow, - MatRowDef, - MatCard, - MatCardHeader, - MatCardTitle, - MatCardContent - ], + imports: [MatTableModule, MatCardModule, DatePipe, CurrencyPipe], templateUrl: './expense-list.component.html', styleUrl: './expense-list.component.scss', })