From a5af06f9e58cacf881fe164e4e454a508bcee965 Mon Sep 17 00:00:00 2001 From: dylan Date: Fri, 31 Jan 2025 09:08:59 +0100 Subject: [PATCH] use component for every item. add dummy data too --- src/app/app.module.ts | 7 +++-- .../signing-sidebar-item.component.css | 0 .../signing-sidebar-item.component.html | 4 +++ .../signing-sidebar-item.component.spec.ts | 23 +++++++++++++++ .../signing-sidebar-item.component.ts | 28 +++++++++++++++++++ .../signing-sidebar.component.html | 8 ++---- .../signing-sidebar.component.ts | 10 +++++-- 7 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.css create mode 100644 src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.html create mode 100644 src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.spec.ts create mode 100644 src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 0fbaedd..a63398a 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -12,19 +12,22 @@ import {FormsModule} from '@angular/forms'; import {RequestInterceptor} from './interceptors/request.interceptor'; import {UnauthorizedInterceptor} from './interceptors/unauthorizedResponseInterceptor'; import {SigningSidebarComponent} from './components/signing/signing-sidebar/signing-sidebar.component'; +import { + SigningSidebarItemComponent +} from './components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component'; @NgModule({ declarations: [ AppComponent, SigningComponent, LoginComponent, - SigningSidebarComponent, SigningSidebarComponent ], imports: [ BrowserModule, AppRoutingModule, - FormsModule + FormsModule, + SigningSidebarItemComponent ], providers: [ {provide: BASE_PATH, useValue: environment.apiBasePath}, diff --git a/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.css b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.html b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.html new file mode 100644 index 0000000..2e6696a --- /dev/null +++ b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.html @@ -0,0 +1,4 @@ +
  • + {{ document.icon }} {{ document.name }} + +
  • diff --git a/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.spec.ts b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.spec.ts new file mode 100644 index 0000000..6d47906 --- /dev/null +++ b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SigningSidebarItemComponent } from './signing-sidebar-item.component'; + +describe('SigningSidebarItemComponent', () => { + let component: SigningSidebarItemComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SigningSidebarItemComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(SigningSidebarItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.ts b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.ts new file mode 100644 index 0000000..735152b --- /dev/null +++ b/src/app/components/signing/signing-sidebar/signing-sidebar-item/signing-sidebar-item.component.ts @@ -0,0 +1,28 @@ +import {Component, Input} from '@angular/core'; +import {NgClass, NgIf} from '@angular/common'; + +@Component({ + selector: 'app-signing-sidebar-item', + templateUrl: './signing-sidebar-item.component.html', + imports: [ + NgClass, + NgIf + ], + styleUrls: ['./signing-sidebar-item.component.css'] +}) +export class SigningSidebarItemComponent { + @Input() document!: { name: string; status: string; icon: string }; + + getStatusClasses() { + switch (this.document.status) { + case 'approved': + return 'bg-green-100 text-green-700'; + case 'pending': + return 'bg-gray-200 text-gray-700'; + case 'review': + return 'bg-red-600 text-white'; + default: + return 'bg-gray-100 text-gray-700'; + } + } +} diff --git a/src/app/components/signing/signing-sidebar/signing-sidebar.component.html b/src/app/components/signing/signing-sidebar/signing-sidebar.component.html index 030eb4c..4040d21 100644 --- a/src/app/components/signing/signing-sidebar/signing-sidebar.component.html +++ b/src/app/components/signing/signing-sidebar/signing-sidebar.component.html @@ -1,13 +1,9 @@
    -

    Signing 4 documents

    +

    Signing {{ documents.length }} documents

    Submitted 5 days ago.

      -
    • ✅ Form W-8BEN.pdf
    • -
    • ✅ 1195 - Identity declaration.pdf
    • -
    • 👁️ CGA.pdf
    • -
    • ⚠️ Review document →
    • -
    • 📄 Terms and conditions for US citizens.pdf
    • +
    diff --git a/src/app/components/signing/signing-sidebar/signing-sidebar.component.ts b/src/app/components/signing/signing-sidebar/signing-sidebar.component.ts index e5fe614..aebdb3c 100644 --- a/src/app/components/signing/signing-sidebar/signing-sidebar.component.ts +++ b/src/app/components/signing/signing-sidebar/signing-sidebar.component.ts @@ -3,10 +3,16 @@ import { Component } from '@angular/core'; @Component({ selector: 'app-signing-sidebar', standalone: false, - + templateUrl: './signing-sidebar.component.html', styleUrl: './signing-sidebar.component.css' }) export class SigningSidebarComponent { - + documents = [ + { name: 'Form W-8BEN.pdf', status: 'approved', icon: '✅' }, + { name: '1195 - Identity declaration.pdf', status: 'approved', icon: '✅' }, + { name: 'CGA.pdf', status: 'pending', icon: '👁️' }, + { name: 'Review document', status: 'review', icon: '⚠️' }, + { name: 'Terms and conditions for US citizens.pdf', status: 'pending', icon: '📄' } + ]; }