diff --git a/src/app/app.component.html b/src/app/app.component.html
index ee10137..90c6b64 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index dc39edb..fda1e0c 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,3 +1,8 @@
import { Routes } from '@angular/router';
+import { ToolComponent } from './components/partials/tool/tool.component';
+import { BackupListComponent } from './components/pages/backup-list/backup-list.component';
-export const routes: Routes = [];
+export const routes: Routes = [
+ {path: "", component: ToolComponent},
+ {path: "backup", component: BackupListComponent}
+];
diff --git a/src/app/backup.ts b/src/app/backup.ts
new file mode 100644
index 0000000..a139f3c
--- /dev/null
+++ b/src/app/backup.ts
@@ -0,0 +1,134 @@
+export const vols = [
+ {
+ projectName: "Novotel",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/b4600c142d024e068972a9bf574ab662/?next=/dashboard/project/",
+ volumeName: "NovoTel-Primary-Database-Volume",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/585ccae9-d7f3-4370-b2f3-5b43c2881b64/"
+ },
+ {
+ projectName: "Novotel",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/b4600c142d024e068972a9bf574ab662/?next=/dashboard/project/",
+ volumeName: "Brilliant-Shop-VM",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/ad491ab9-0777-4270-847f-21a7f00c5f45/"
+ },
+ {
+ projectName: "Novotel",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/b4600c142d024e068972a9bf574ab662/?next=/dashboard/project/",
+ volumeName: "Live Web Server Vol 1 1200GB",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/c8a8a689-b431-4529-97b2-97dd2fc8928b/"
+ },
+ {
+ projectName: "Novotel",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/b4600c142d024e068972a9bf574ab662/?next=/dashboard/project/",
+ volumeName: "Live-Web-Server-Vol-02",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/730a9a15-b5d9-4af8-944b-39ac1045279d/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Mailbox5-Vol-1",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/42251910-80e5-485d-864f-3c7c0ba09cc0/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "mailbox-5-backup-data",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/943b0329-7785-494b-806a-38b45d4eef9d/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra mailbox",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/174eef51-bb78-4cea-8790-00760c1d2b04/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra-MailBox-Backup",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/b85b8ee2-873b-4034-9efb-4ba39fe3e81a/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra-mail",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/3672d9e4-396e-49c0-b9e0-8ea45268633d/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra-mta",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/4c1cdefe-3e32-42da-8a7d-00e42623df70/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra mzmta",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/879779bd-1344-41f5-8265-f92c4d6726d1/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra slave ldap",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/a92a4722-ec40-4ca1-8392-8b31c4fb4901/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra Master ldap",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/c198c929-fdff-45a1-9f77-f6866b645a60/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Mailborder v5 Mail filter",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/c2ccaee8-f9e7-402f-8a81-0dbbf9ce9cff/"
+ },
+ {
+ projectName: "Zimbra mail (MAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/77659323516246abbd198ec924cadfe2/?next=/dashboard/project/",
+ volumeName: "Zimbra DNS",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/12c5a3d2-85a9-4a03-b80b-4f356e586d4c/"
+ },
+ {
+ projectName: "CommVault (BAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/cad590b54ab9483badee1a347f313c06/?next=/dashboard/project/",
+ volumeName: "Commvault Proxy-vol-1",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/ab563c0e-ef20-4c24-80ab-b54d04282b86/"
+ },
+ {
+ projectName: "CommVault (BAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/cad590b54ab9483badee1a347f313c06/?next=/dashboard/project/",
+ volumeName: "Commvault Backup new",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/7f757d5e-a7d8-47fb-9ea5-116328b1ca19/"
+ },
+ {
+ projectName: "CommVault (BAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/cad590b54ab9483badee1a347f313c06/?next=/dashboard/project/",
+ volumeName: "commserve-additional-300gb-new",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/2916a834-d6d9-491e-ab94-a46736b7ce54/"
+ },
+ {
+ projectName: "CommVault (BAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/cad590b54ab9483badee1a347f313c06/?next=/dashboard/project/",
+ volumeName: "Commserve-DR-Backup-200GB-from-old-server-new",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/732ce2d7-88fd-4e3d-aa48-2eb20dd68152/"
+ },
+ {
+ projectName: "CommVault (BAAS)",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/cad590b54ab9483badee1a347f313c06/?next=/dashboard/project/",
+ volumeName: "Commserve-DR-Backup-200GB-from-old-server-new",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/732ce2d7-88fd-4e3d-aa48-2eb20dd68152/"
+ },
+ {
+ projectName: "Cloud-Monioring",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/e21290ae6e9845ddacb7158ba1d35867/?next=/dashboard/project/",
+ volumeName: "Owncloud-Intercloud-VM-01-Vol-01-SAS",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/b23b318f-2ad3-43d7-850b-83340b68ac0f/"
+ },
+ {
+ projectName: "Cloud-Monioring",
+ projectURL: "http://118.67.215.11/dashboard/auth/switch/e21290ae6e9845ddacb7158ba1d35867/?next=/dashboard/project/",
+ volumeName: "Owncloud-Intercloud-VM-01-Vol-02-SAS",
+ volumeURL: "http://118.67.215.11/dashboard/project/volumes/7dde4fc3-7a0e-4a5d-bca8-12fe6832d8d5/"
+ }
+]
\ No newline at end of file
diff --git a/src/app/components/pages/backup-list/backup-list.component.html b/src/app/components/pages/backup-list/backup-list.component.html
new file mode 100644
index 0000000..f1c9f6c
--- /dev/null
+++ b/src/app/components/pages/backup-list/backup-list.component.html
@@ -0,0 +1,24 @@
+
diff --git a/src/app/components/pages/backup-list/backup-list.component.scss b/src/app/components/pages/backup-list/backup-list.component.scss
new file mode 100644
index 0000000..6d9ddf2
--- /dev/null
+++ b/src/app/components/pages/backup-list/backup-list.component.scss
@@ -0,0 +1,47 @@
+@import './../../../shared/scss/colors.scss';
+
+table {
+ margin-left: 1rem;
+}
+
+table, tr, td {
+ border-collapse: collapse;
+ border: none;
+}
+
+th{
+ color: $txt-heading-color;
+ font-size: 1.5rem;
+}
+
+tbody tr {
+ transition: all 0.3s
+}
+
+tbody tr:hover {
+ transform: scale(1.03);
+ background-color: $hover-color;
+ border-collapse: collapse;
+ border: none;
+}
+
+td:first-child{
+ border-radius: 1rem 0rem 0rem 1rem;
+}
+
+td:last-child{
+ border-radius: 0rem 1rem 1rem 0rem;
+}
+
+
+td {
+ padding: 1rem;
+}
+
+a{
+ text-decoration: none;
+}
+
+.copyName:hover {
+ cursor: pointer;
+}
\ No newline at end of file
diff --git a/src/app/components/pages/backup-list/backup-list.component.spec.ts b/src/app/components/pages/backup-list/backup-list.component.spec.ts
new file mode 100644
index 0000000..4afd133
--- /dev/null
+++ b/src/app/components/pages/backup-list/backup-list.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { BackupListComponent } from './backup-list.component';
+
+describe('BackupListComponent', () => {
+ let component: BackupListComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [BackupListComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(BackupListComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/components/pages/backup-list/backup-list.component.ts b/src/app/components/pages/backup-list/backup-list.component.ts
new file mode 100644
index 0000000..312f1bd
--- /dev/null
+++ b/src/app/components/pages/backup-list/backup-list.component.ts
@@ -0,0 +1,30 @@
+import { Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren, viewChildren } from '@angular/core';
+import { BackupService } from './backup-list.service';
+import { Backup } from '../../../shared/model/backup.model';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'app-backup-list',
+ standalone: true,
+ imports: [CommonModule],
+ templateUrl: './backup-list.component.html',
+ styleUrl: './backup-list.component.scss',
+ providers: [BackupService]
+})
+export class BackupListComponent implements OnInit{
+ backupVolumes: Backup[] = []
+ currentDate = new Date();
+ innerHTML!: string;
+ constructor(private backupService: BackupService) {}
+
+ ngOnInit(): void {
+ this.backupVolumes = this.backupService.allBackups;
+ }
+
+ copyName(copyName: HTMLTableCellElement){
+ this.innerHTML = copyName.innerHTML;
+ navigator.clipboard.writeText(this.innerHTML).then(()=>{
+ console.log("Copied")
+ }).catch(err=>console.log(err))
+ }
+}
diff --git a/src/app/components/pages/backup-list/backup-list.service.ts b/src/app/components/pages/backup-list/backup-list.service.ts
new file mode 100644
index 0000000..c38203a
--- /dev/null
+++ b/src/app/components/pages/backup-list/backup-list.service.ts
@@ -0,0 +1,12 @@
+import { Injectable } from "@angular/core";
+import { vols } from "../../../backup";
+
+Injectable({
+ providedIn: 'root'
+})
+
+export class BackupService {
+ get allBackups() {
+ return vols
+ }
+}
\ No newline at end of file
diff --git a/src/app/shared/model/backup.model.ts b/src/app/shared/model/backup.model.ts
new file mode 100644
index 0000000..776b063
--- /dev/null
+++ b/src/app/shared/model/backup.model.ts
@@ -0,0 +1,6 @@
+export class Backup{
+ projectName!: string;
+ projectURL!: string;
+ volumeName!: string;
+ volumeURL!: string;
+}
\ No newline at end of file
diff --git a/src/app/shared/scss/colors.scss b/src/app/shared/scss/colors.scss
index 2b8f18e..19b6fdb 100644
--- a/src/app/shared/scss/colors.scss
+++ b/src/app/shared/scss/colors.scss
@@ -1 +1,4 @@
-$bg-color: #FEEFAD;
\ No newline at end of file
+$bg-color: #FEF9F2;
+$txt-heading-color: #72BF78;
+$txt-color: #1E201E;
+$hover-color: #B6FFA1;
\ No newline at end of file
diff --git a/src/styles.scss b/src/styles.scss
index f28e5f6..ca28407 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -1,6 +1,6 @@
/* You can add global styles to this file, and also import other style files */
@import "./app/shared/scss/colors.scss";
-
+@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
*{
box-sizing: border-box;
}
@@ -9,4 +9,8 @@ body {
margin: 0;
background: $bg-color;
font-size: 16px;
+ font-family: "DM Sans", sans-serif;
+ font-optical-sizing: auto;
+ font-weight: 500;
+ font-style: normal;
}
\ No newline at end of file