diff --git a/frontend/src/app/components/dashboard/dashboard.component.ts b/frontend/src/app/components/dashboard/dashboard.component.ts
index 492524a44..56cfdbf82 100644
--- a/frontend/src/app/components/dashboard/dashboard.component.ts
+++ b/frontend/src/app/components/dashboard/dashboard.component.ts
@@ -160,9 +160,6 @@ export class DashboardComponent implements OnInit, OnDestroy {
console.log('getData');
this._tables.fetchTablesFolders(this.connectionID).subscribe((res) => {
- console.log('getTables folders');
- console.log(res);
-
const tables = res.find((item) => item.category_id === 'all-tables-kitten')?.tables || [];
this.tableFolders = res;
@@ -215,6 +212,12 @@ export class DashboardComponent implements OnInit, OnDestroy {
}
});
}
+ },
+ (err) => {
+ this.isServerError = true;
+ this.serverError = { abstract: err.error?.message || err.message, details: err.error?.originalMessage };
+ this.loading = false;
+ this.title.setTitle(`Error | ${this._company.companyTabTitle || 'Rocketadmin'}`);
});
}
diff --git a/frontend/src/app/components/ui-components/banner/banner.component.html b/frontend/src/app/components/ui-components/banner/banner.component.html
index 9cdd36ab3..501068cc6 100644
--- a/frontend/src/app/components/ui-components/banner/banner.component.html
+++ b/frontend/src/app/components/ui-components/banner/banner.component.html
@@ -1,5 +1,5 @@
-
diff --git a/frontend/src/app/components/ui-components/banner/banner.component.ts b/frontend/src/app/components/ui-components/banner/banner.component.ts
index 62bcfe917..d604f269a 100644
--- a/frontend/src/app/components/ui-components/banner/banner.component.ts
+++ b/frontend/src/app/components/ui-components/banner/banner.component.ts
@@ -1,4 +1,4 @@
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, input } from '@angular/core';
import { AlertType } from 'src/app/models/alert';
@@ -7,8 +7,6 @@ import { AlertType } from 'src/app/models/alert';
templateUrl: './banner.component.html',
styleUrls: ['./banner.component.css'],
})
-export class BannerComponent implements OnInit {
- @Input() type: AlertType;
-
- ngOnInit(): void {}
+export class BannerComponent {
+ type = input
();
}
diff --git a/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.html b/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.html
index 58e401be1..29bd56e91 100644
--- a/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.html
+++ b/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.html
@@ -1,14 +1,17 @@
-
-
- {{crumb.label}}
-
-
- {{crumb.label}}
-
- chevron_right
-
+ @for (crumb of crumbs(); track crumb.label; let i = $index) {
+ @if (crumb.link) {
+
+ {{crumb.label}}
+
+ } @else {
+
{{crumb.label}}
+ }
+ @if (crumbs().length !== i + 1) {
+
chevron_right
+ }
+ }
diff --git a/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.ts b/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.ts
index 7a611a7ea..f0d694cd3 100644
--- a/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.ts
+++ b/frontend/src/app/components/ui-components/breadcrumbs/breadcrumbs.component.ts
@@ -1,18 +1,21 @@
-import { CommonModule } from '@angular/common';
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, input } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { RouterModule } from '@angular/router';
+interface Breadcrumb {
+ label: string;
+ link?: string | null;
+ queryParams?: Record;
+}
+
@Component({
selector: 'app-breadcrumbs',
templateUrl: './breadcrumbs.component.html',
styleUrls: ['./breadcrumbs.component.css'],
standalone: true,
- imports: [CommonModule, RouterModule, MatIconModule, MatButtonModule],
+ imports: [RouterModule, MatIconModule, MatButtonModule],
})
-export class BreadcrumbsComponent implements OnInit {
- @Input() crumbs;
-
- ngOnInit(): void {}
+export class BreadcrumbsComponent {
+ crumbs = input([]);
}
diff --git a/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.html b/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.html
index 5e7532c42..0c077626a 100644
--- a/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.html
+++ b/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.html
@@ -2,6 +2,6 @@
class="ip-copy-button"
matTooltip="Copy IP address"
cdkCopyToClipboard="18.221.81.73/32"
- (cdkCopyToClipboardCopied)="showCopyNotification(ip + ' IP address was copied to clipboard.')">
- {{ ip }}
+ (cdkCopyToClipboardCopied)="showCopyNotification(ip() + ' IP address was copied to clipboard.')">
+ {{ ip() }}
diff --git a/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.ts b/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.ts
index d561dcf7a..bc93d5296 100644
--- a/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.ts
+++ b/frontend/src/app/components/ui-components/ip-address-button/ip-address-button.component.ts
@@ -1,5 +1,5 @@
import { CdkCopyToClipboard } from '@angular/cdk/clipboard';
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, inject, input } from '@angular/core';
import { NotificationsService } from 'src/app/services/notifications.service';
@Component({
@@ -8,12 +8,10 @@ import { NotificationsService } from 'src/app/services/notifications.service';
styleUrls: ['./ip-address-button.component.css'],
imports: [CdkCopyToClipboard],
})
-export class IpAddressButtonComponent implements OnInit {
- @Input() ip: string;
+export class IpAddressButtonComponent {
+ private _notifications = inject(NotificationsService);
- constructor(private _notifications: NotificationsService) {}
-
- ngOnInit(): void {}
+ ip = input('');
showCopyNotification(message: string) {
this._notifications.showSuccessSnackbar(message);