From 65697be257c9ffeb3db3dc379d3bdc4090913b9f Mon Sep 17 00:00:00 2001 From: "Md.Mosiur Rahman" Date: Sun, 26 Jan 2025 20:58:37 +0600 Subject: [PATCH] Added Bit Calculation Page --- src/app/app.routes.ts | 2 + .../backup-list/backup-list.component.html | 3 -- .../components/pages/bit/bit.component.html | 16 +++++++ .../components/pages/bit/bit.component.scss | 29 ++++++++++++ .../pages/bit/bit.component.spec.ts | 23 ++++++++++ src/app/components/pages/bit/bit.component.ts | 45 +++++++++++++++++++ src/app/shared/model/backup.model.ts | 4 -- 7 files changed, 115 insertions(+), 7 deletions(-) create mode 100644 src/app/components/pages/bit/bit.component.html create mode 100644 src/app/components/pages/bit/bit.component.scss create mode 100644 src/app/components/pages/bit/bit.component.spec.ts create mode 100644 src/app/components/pages/bit/bit.component.ts diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index bce33ed..a77a089 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -4,6 +4,7 @@ import { ShiftUpdateComponent } from './components/pages/shift-update/shift-upda import { NoMansLandComponent } from './components/pages/no-mans-land/no-mans-land.component'; import { ToolListComponent } from './components/pages/tool-list/tool-list.component'; import { LoginComponent } from './components/pages/login/login.component'; +import { BitComponent } from './components/pages/bit/bit.component'; export const routes: Routes = [ {path: "", component: NoMansLandComponent}, @@ -11,5 +12,6 @@ export const routes: Routes = [ {path: "update", component: ShiftUpdateComponent}, {path: "creds", component: ToolListComponent }, {path: "login", component: LoginComponent }, + {path: 'bits', component: BitComponent}, {path: "**", component: NoMansLandComponent}, ]; diff --git a/src/app/components/pages/backup-list/backup-list.component.html b/src/app/components/pages/backup-list/backup-list.component.html index 0f26cea..ab29885 100644 --- a/src/app/components/pages/backup-list/backup-list.component.html +++ b/src/app/components/pages/backup-list/backup-list.component.html @@ -19,13 +19,11 @@ -<<<<<<< HEAD {{backup.projectName}} {{backup.volumeName}} {{backup.volumeName}}-{{currentDate | date: 'dd-MM-YYYY'}}-Cloud -======= {{backup.projectName}} @@ -33,7 +31,6 @@ {{backup.volumeName}}-{{currentDate | date: 'dd-MM-YYYY'}}-Cloud ->>>>>>> 01af0bf3951d914c030f1d261a3f1a53c28f6d10 diff --git a/src/app/components/pages/bit/bit.component.html b/src/app/components/pages/bit/bit.component.html new file mode 100644 index 0000000..18f1d55 --- /dev/null +++ b/src/app/components/pages/bit/bit.component.html @@ -0,0 +1,16 @@ +
+
+
Bits
+
Bytes
+
MegaBytes
+
GigaBytes
+
PetaBytes
+
+
+ + GB +
+
+

{{ value * factor }} {{selectedUnit}}

+
+
\ No newline at end of file diff --git a/src/app/components/pages/bit/bit.component.scss b/src/app/components/pages/bit/bit.component.scss new file mode 100644 index 0000000..00271a4 --- /dev/null +++ b/src/app/components/pages/bit/bit.component.scss @@ -0,0 +1,29 @@ +.container { + margin: 2rem; + + .units{ + display: flex; + padding-bottom: 2rem; + .unit{ + padding: 1rem; + cursor: pointer; + &:hover{ + background-color: lightcoral; + border-radius: 10px; + } + } + } +} + +label { + padding-right: 1rem; +} + +input{ + border: none; + border-bottom: 2px solid black; + border-radius: 5px; + padding-left: 1rem; + width: 20%; +} + diff --git a/src/app/components/pages/bit/bit.component.spec.ts b/src/app/components/pages/bit/bit.component.spec.ts new file mode 100644 index 0000000..eb71bc9 --- /dev/null +++ b/src/app/components/pages/bit/bit.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BitComponent } from './bit.component'; + +describe('BitComponent', () => { + let component: BitComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BitComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(BitComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/pages/bit/bit.component.ts b/src/app/components/pages/bit/bit.component.ts new file mode 100644 index 0000000..39043d5 --- /dev/null +++ b/src/app/components/pages/bit/bit.component.ts @@ -0,0 +1,45 @@ +import { CommonModule } from '@angular/common'; +import { Component, OnInit } from '@angular/core'; +import { FormsModule } from '@angular/forms'; + +@Component({ + selector: 'app-bit', + standalone: true, + imports: [CommonModule,FormsModule], + templateUrl: './bit.component.html', + styleUrl: './bit.component.scss' +}) +export class BitComponent implements OnInit { + value: number = 0; + selectedUnit: string = ""; + factor: number = 0; + + + ngOnInit(): void { + } + +onUnitClick(unit: string){ + this.selectedUnit = unit; + switch (unit) { + case 'bit': + this.factor = 1024 ** 2 * 8 ; + break; + case 'bytes': + this.factor = 1024 ** 2 ; + break; + case 'mb': + this.factor = 1024 ** 1 ; + break; + case 'gb': + this.factor = 1 ; + break; + case 'pb': + this.factor = 1/1024 ; + break; + default: + break; + } +} + + +} diff --git a/src/app/shared/model/backup.model.ts b/src/app/shared/model/backup.model.ts index 9240674..e6a78cd 100644 --- a/src/app/shared/model/backup.model.ts +++ b/src/app/shared/model/backup.model.ts @@ -3,9 +3,5 @@ export class Backup{ projectURL!: string; volumeName!: string; volumeURL!: string; -<<<<<<< HEAD - day!: string; -======= backupDay!: string[]; ->>>>>>> 01af0bf3951d914c030f1d261a3f1a53c28f6d10 } \ No newline at end of file