diff --git a/backend/allowance_planner.db3.backup.2 b/backend/allowance_planner.db3.backup.2 new file mode 100644 index 0000000..ab889f0 Binary files /dev/null and b/backend/allowance_planner.db3.backup.2 differ diff --git a/frontend/allowance-planner-v2/src/app/app-routing.module.ts b/frontend/allowance-planner-v2/src/app/app-routing.module.ts index 2750f02..ffe16e8 100644 --- a/frontend/allowance-planner-v2/src/app/app-routing.module.ts +++ b/frontend/allowance-planner-v2/src/app/app-routing.module.ts @@ -11,7 +11,6 @@ const routes: Routes = [ path: '', loadChildren: () => import('./pages/tabs/tabs.module').then(m => m.TabsPageModule) }, - ]; @NgModule({ imports: [ diff --git a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance-routing.module.ts b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance-routing.module.ts index 607bbf1..5616c78 100644 --- a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance-routing.module.ts +++ b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance-routing.module.ts @@ -6,6 +6,14 @@ const routes: Routes = [ { path: ':id', component: AllowancePage, + }, + { + path: ':id/add', + loadChildren: () => import('../edit-allowance/edit-allowance.module').then(m => m.EditAllowancePageModule) + }, + { + path: ':id/edit/:goalId', + loadChildren: () => import('../edit-allowance/edit-allowance.module').then(m => m.EditAllowancePageModule) } ]; diff --git a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.html b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.html index 0641aa1..eed3155 100644 --- a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.html +++ b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.html @@ -1,8 +1,11 @@ - - Allowance - +
+ + Allowance + + +
diff --git a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.scss b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.scss index 696cb46..45530b8 100644 --- a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.scss +++ b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.scss @@ -58,11 +58,10 @@ button { padding-inline: 30px; border-radius: 10px; color: white; - font-size: 16px; } button:disabled, -button[disabled]{ +button[disabled] { opacity: 0.5; } @@ -127,4 +126,14 @@ button[disabled]{ background-color: var(--legend-color); border-radius: 20px; margin-right: 2px; +} + +.toolbar { + display: flex; +} + +.top-add-button { + background-color: var(--ion-color-primary); + margin-right: 15px; + padding-inline: 15px; } \ No newline at end of file diff --git a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.ts b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.ts index afe1e89..546e639 100644 --- a/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.ts +++ b/frontend/allowance-planner-v2/src/app/pages/allowance/allowance.page.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; import { BehaviorSubject } from 'rxjs'; import { Allowance } from 'src/app/models/allowance'; import { AllowanceService } from 'src/app/services/allowance.service'; @@ -31,6 +31,7 @@ export class AllowancePage implements ViewWillEnter { constructor( private route: ActivatedRoute, + private router: Router, private allowanceService: AllowanceService ) { this.id = this.route.snapshot.params['id']; @@ -46,7 +47,6 @@ export class AllowancePage implements ViewWillEnter { this.allowanceService.getAllowanceList(this.id).subscribe(allowance => { allowance[0].colour = '#9C4BE4'; allowance[0].name = 'Main Allowance'; - console.log('Allowance list: ', allowance); this.allowance$.next(allowance); }) }, 10); @@ -72,4 +72,8 @@ export class AllowancePage implements ViewWillEnter { } return goal.progress / allowanceTotal * 100; } + + createAllowance() { + this.router.navigate(['add'], { relativeTo: this.route }); + } } diff --git a/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance-routing.module.ts b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance-routing.module.ts new file mode 100644 index 0000000..728b259 --- /dev/null +++ b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { EditAllowancePage } from './edit-allowance.page'; + +const routes: Routes = [ + { + path: '', + component: EditAllowancePage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class EditAllowancePageRoutingModule {} diff --git a/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.module.ts b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.module.ts new file mode 100644 index 0000000..b846a08 --- /dev/null +++ b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { EditAllowancePageRoutingModule } from './edit-allowance-routing.module'; + +import { EditAllowancePage } from './edit-allowance.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + EditAllowancePageRoutingModule + ], + declarations: [EditAllowancePage] +}) +export class EditAllowancePageModule {} diff --git a/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.html b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.html new file mode 100644 index 0000000..d4d37b4 --- /dev/null +++ b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.html @@ -0,0 +1,13 @@ + + + edit-allowance + + + + + + + edit-allowance + + + diff --git a/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.scss b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.spec.ts b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.spec.ts new file mode 100644 index 0000000..07d6d12 --- /dev/null +++ b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.spec.ts @@ -0,0 +1,17 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { EditAllowancePage } from './edit-allowance.page'; + +describe('EditAllowancePage', () => { + let component: EditAllowancePage; + let fixture: ComponentFixture; + + beforeEach(() => { + fixture = TestBed.createComponent(EditAllowancePage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.ts b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.ts new file mode 100644 index 0000000..fceee05 --- /dev/null +++ b/frontend/allowance-planner-v2/src/app/pages/edit-allowance/edit-allowance.page.ts @@ -0,0 +1,16 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-edit-allowance', + templateUrl: './edit-allowance.page.html', + styleUrls: ['./edit-allowance.page.scss'], + standalone: false +}) +export class EditAllowancePage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/frontend/allowance-planner-v2/src/global.scss b/frontend/allowance-planner-v2/src/global.scss index ed5e308..8fb9355 100644 --- a/frontend/allowance-planner-v2/src/global.scss +++ b/frontend/allowance-planner-v2/src/global.scss @@ -42,4 +42,8 @@ ion-title { ion-header { border-bottom: 1px solid var(--line-color); +} + +button { + font-size: 16px; } \ No newline at end of file