From 2762076683733877616a59e03cc93ef3d6f04fae Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Thu, 7 Aug 2025 09:03:54 -0600 Subject: [PATCH] minor --- .../interfaces/clearnet-domains.component.ts | 2 +- .../components/interfaces/domain.component.ts | 1 - .../interfaces/gateways.component.ts | 29 ++++++++----------- .../interfaces/interface.component.ts | 3 +- .../components/interfaces/interface.utils.ts | 19 +++++++----- .../authorities/authorities.component.ts | 15 +++++----- .../routes/domains/domains.component.ts | 15 +++++----- .../system/routes/email/email.component.ts | 15 +++++----- .../routes/gateways/gateways.component.ts | 15 +++++----- .../system/routes/gateways/item.component.ts | 24 +++++++-------- .../system/routes/gateways/table.component.ts | 22 +++----------- .../routes/system/routes/ssh/ssh.component.ts | 15 +++++----- .../routes/startos-ui/startos-ui.component.ts | 11 +++++-- 13 files changed, 91 insertions(+), 95 deletions(-) diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/clearnet-domains.component.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/clearnet-domains.component.ts index ea78dc59d..9780929f9 100644 --- a/web/projects/ui/src/app/routes/portal/components/interfaces/clearnet-domains.component.ts +++ b/web/projects/ui/src/app/routes/portal/components/interfaces/clearnet-domains.component.ts @@ -36,7 +36,7 @@ import { ClearnetDomain } from './interface.utils' } @empty { - + {{ 'No clearnet domains' | i18n }} diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/domain.component.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/domain.component.ts index 6967b29f4..96b48155f 100644 --- a/web/projects/ui/src/app/routes/portal/components/interfaces/domain.component.ts +++ b/web/projects/ui/src/app/routes/portal/components/interfaces/domain.component.ts @@ -19,7 +19,6 @@ import { import { TuiBadge } from '@taiga-ui/kit' import { filter } from 'rxjs' import { ApiService } from 'src/app/services/api/embassy-api.service' - import { InterfaceComponent } from './interface.component' import { ClearnetDomain } from './interface.utils' diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/gateways.component.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/gateways.component.ts index bb2158b4f..84139e581 100644 --- a/web/projects/ui/src/app/routes/portal/components/interfaces/gateways.component.ts +++ b/web/projects/ui/src/app/routes/portal/components/interfaces/gateways.component.ts @@ -1,11 +1,16 @@ import { CommonModule } from '@angular/common' -import { ChangeDetectionStrategy, Component, input } from '@angular/core' +import { + ChangeDetectionStrategy, + Component, + computed, + input, +} from '@angular/core' import { TuiTitle } from '@taiga-ui/core' import { TuiSwitch } from '@taiga-ui/kit' import { FormsModule } from '@angular/forms' import { i18nPipe } from '@start9labs/shared' import { TuiCell } from '@taiga-ui/layout' -import { PlaceholderComponent } from 'src/app/routes/portal/components/placeholder.component' +import { InterfaceGateway } from './interface.utils' @Component({ selector: 'section[gateways]', @@ -21,28 +26,18 @@ import { PlaceholderComponent } from 'src/app/routes/portal/components/placehold [showIcons]="false" [ngModel]="gateway.enabled" (ngModelChange)="onToggle(gateway)" + [disabled]="osUi() && !gateway.public" /> - } @empty { - - No gateways - } `, host: { class: 'g-card' }, changeDetection: ChangeDetectionStrategy.OnPush, - imports: [ - CommonModule, - FormsModule, - TuiSwitch, - i18nPipe, - TuiCell, - TuiTitle, - PlaceholderComponent, - ], + imports: [CommonModule, FormsModule, TuiSwitch, i18nPipe, TuiCell, TuiTitle], }) export class InterfaceGatewaysComponent { - readonly gateways = input.required() + readonly gateways = input.required() + readonly osUi = input.required() - async onToggle(event: any) {} + async onToggle(gateway: InterfaceGateway) {} } diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.component.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.component.ts index a62d01af4..8b8f83eeb 100644 --- a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.component.ts +++ b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.component.ts @@ -11,7 +11,7 @@ import { InterfaceAddressesComponent } from './addresses/addresses.component' template: `
-
+
@@ -48,4 +48,5 @@ export class InterfaceComponent { readonly packageId = input('') readonly value = input.required() readonly isRunning = input.required() + readonly osUi = input(false) } diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts index 96f77e7aa..b98db2de8 100644 --- a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts +++ b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts @@ -40,13 +40,13 @@ export function getAddresses( { type: 'Local', description: '', - gateway: 'Wire Conenction 1', + gateway: 'Wired Connection 1', url: 'https://test.local:1234', }, { type: 'IPv4 (LAN)', description: '', - gateway: 'Wire Connction 1', + gateway: 'Wired Connection 1', url: 'https://192.168.1.10.local:1234', }, ] @@ -54,7 +54,7 @@ export function getAddresses( { type: 'IPv4 (WAN)', description: '', - gateway: 'Wire Conenction 1', + gateway: 'Wired Connection 1', url: 'https://72.72.72.72', }, ] @@ -112,11 +112,7 @@ export function getAddresses( } export type MappedServiceInterface = T.ServiceInterface & { - gateways: { - id: string - name: string - enabled: boolean - }[] + gateways: InterfaceGateway[] torDomains: string[] clearnetDomains: ClearnetDomain[] addresses: { @@ -125,6 +121,13 @@ export type MappedServiceInterface = T.ServiceInterface & { } } +export type InterfaceGateway = { + id: string + name: string + enabled: boolean + public: boolean +} + export type ClearnetDomain = { fqdn: string authority: string | null diff --git a/web/projects/ui/src/app/routes/portal/routes/system/routes/authorities/authorities.component.ts b/web/projects/ui/src/app/routes/portal/routes/system/routes/authorities/authorities.component.ts index 40a4d15a4..158c4b164 100644 --- a/web/projects/ui/src/app/routes/portal/routes/system/routes/authorities/authorities.component.ts +++ b/web/projects/ui/src/app/routes/portal/routes/system/routes/authorities/authorities.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectionStrategy, Component, inject } from '@angular/core' import { RouterLink } from '@angular/router' import { DocsLinkDirective, i18nPipe } from '@start9labs/shared' -import { TuiButton, TuiLink } from '@taiga-ui/core' +import { TuiButton } from '@taiga-ui/core' import { TitleDirective } from 'src/app/services/title.service' import { AuthorityService } from './authority.service' import { AuthoritiesTableComponent } from './table.component' @@ -18,13 +18,15 @@ import { AuthoritiesTableComponent } from './table.component'
{{ 'Certificate Authorities' | i18n }} + appearance="icon" + iconStart="@tui.external-link" + > + {{ 'Documentation' | i18n }} + @if (authorityService.authorities(); as authorities) {
@@ -124,7 +126,6 @@ import { configBuilderToSpec } from 'src/app/utils/configBuilderToSpec' TuiInputModule, TuiHeader, TuiTitle, - TuiLink, RouterLink, TitleDirective, i18nPipe, diff --git a/web/projects/ui/src/app/routes/portal/routes/system/routes/gateways/gateways.component.ts b/web/projects/ui/src/app/routes/portal/routes/system/routes/gateways/gateways.component.ts index bb45b0039..ad7f51107 100644 --- a/web/projects/ui/src/app/routes/portal/routes/system/routes/gateways/gateways.component.ts +++ b/web/projects/ui/src/app/routes/portal/routes/system/routes/gateways/gateways.component.ts @@ -7,7 +7,7 @@ import { i18nPipe, LoadingService, } from '@start9labs/shared' -import { TuiButton, TuiLink } from '@taiga-ui/core' +import { TuiButton } from '@taiga-ui/core' import { PatchDB } from 'patch-db-client' import { FormComponent } from 'src/app/routes/portal/components/form.component' import { DataModel } from 'src/app/services/patch-db/data-model' @@ -33,13 +33,15 @@ import { GatewayPlus } from './item.component'
{{ 'Gateways' | i18n }} + appearance="icon" + iconStart="@tui.external-link" + > + {{ 'Documentation' | i18n }} +
@if (ui(); as ui) { - + } `, host: { class: 'g-subpage' }, @@ -80,7 +80,14 @@ export default class StartOsUiComponent { return { ...this.iface, addresses: getAddresses(this.iface, host, this.config), - gateways: [], + gateways: [ + { + id: 'eth0', + name: 'Wired Connection 1', + public: false, + enabled: true, + }, + ], torDomains: [], clearnetDomains: [], }