fix(ts_web): replace custom section heading component with dees-heading across ops views

This commit is contained in:
2026-04-05 10:13:09 +00:00
parent 505fd044c0
commit ddb420835e
21 changed files with 79 additions and 75 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
## 2026-04-05 - 13.0.5 - fix(ts_web)
replace custom section heading component with dees-heading across ops views
- updates all operations dashboard views to use <dees-heading level="2"> for section titles
- removes the unused shared ops-sectionheading component export and source file
- bumps UI and data layer dependencies to compatible patch/minor releases
## 2026-04-05 - 13.0.4 - fix(deps) ## 2026-04-05 - 13.0.4 - fix(deps)
bump @push.rocks/smartdata and @push.rocks/smartdb to the latest patch releases bump @push.rocks/smartdata and @push.rocks/smartdb to the latest patch releases

View File

@@ -35,14 +35,14 @@
"@api.global/typedserver": "^8.4.6", "@api.global/typedserver": "^8.4.6",
"@api.global/typedsocket": "^4.1.2", "@api.global/typedsocket": "^4.1.2",
"@apiclient.xyz/cloudflare": "^7.1.0", "@apiclient.xyz/cloudflare": "^7.1.0",
"@design.estate/dees-catalog": "^3.59.1", "@design.estate/dees-catalog": "^3.61.0",
"@design.estate/dees-element": "^2.2.4", "@design.estate/dees-element": "^2.2.4",
"@push.rocks/lik": "^6.4.0", "@push.rocks/lik": "^6.4.0",
"@push.rocks/projectinfo": "^5.1.0", "@push.rocks/projectinfo": "^5.1.0",
"@push.rocks/qenv": "^6.1.3", "@push.rocks/qenv": "^6.1.3",
"@push.rocks/smartacme": "^9.4.0", "@push.rocks/smartacme": "^9.4.0",
"@push.rocks/smartdata": "^7.1.5", "@push.rocks/smartdata": "^7.1.6",
"@push.rocks/smartdb": "^2.5.4", "@push.rocks/smartdb": "^2.5.9",
"@push.rocks/smartdns": "^7.9.0", "@push.rocks/smartdns": "^7.9.0",
"@push.rocks/smartfs": "^1.5.0", "@push.rocks/smartfs": "^1.5.0",
"@push.rocks/smartguard": "^3.1.0", "@push.rocks/smartguard": "^3.1.0",

68
pnpm-lock.yaml generated
View File

@@ -24,8 +24,8 @@ importers:
specifier: ^7.1.0 specifier: ^7.1.0
version: 7.1.0 version: 7.1.0
'@design.estate/dees-catalog': '@design.estate/dees-catalog':
specifier: ^3.59.1 specifier: ^3.61.0
version: 3.59.1(@tiptap/pm@2.27.2) version: 3.61.0(@tiptap/pm@2.27.2)
'@design.estate/dees-element': '@design.estate/dees-element':
specifier: ^2.2.4 specifier: ^2.2.4
version: 2.2.4 version: 2.2.4
@@ -42,11 +42,11 @@ importers:
specifier: ^9.4.0 specifier: ^9.4.0
version: 9.4.0(socks@2.8.7) version: 9.4.0(socks@2.8.7)
'@push.rocks/smartdata': '@push.rocks/smartdata':
specifier: ^7.1.5 specifier: ^7.1.6
version: 7.1.5(socks@2.8.7) version: 7.1.6(socks@2.8.7)
'@push.rocks/smartdb': '@push.rocks/smartdb':
specifier: ^2.5.4 specifier: ^2.5.9
version: 2.5.4(@tiptap/pm@2.27.2)(socks@2.8.7) version: 2.5.9(@tiptap/pm@2.27.2)(socks@2.8.7)
'@push.rocks/smartdns': '@push.rocks/smartdns':
specifier: ^7.9.0 specifier: ^7.9.0
version: 7.9.0 version: 7.9.0
@@ -350,8 +350,8 @@ packages:
'@configvault.io/interfaces@1.0.17': '@configvault.io/interfaces@1.0.17':
resolution: {integrity: sha512-bEcCUR2VBDJsTin8HQh8Uw/mlYl2v8A3jMIaQ+MTB9Hrqd6CZL2dL7iJdWyFl/3EIX+LDxWFR+Oq7liIq7w+1Q==} resolution: {integrity: sha512-bEcCUR2VBDJsTin8HQh8Uw/mlYl2v8A3jMIaQ+MTB9Hrqd6CZL2dL7iJdWyFl/3EIX+LDxWFR+Oq7liIq7w+1Q==}
'@design.estate/dees-catalog@3.59.1': '@design.estate/dees-catalog@3.61.0':
resolution: {integrity: sha512-UE4d7VgUvxLgqn+LxHFroGdJ4S+pYOFToWYl/XynUa+ceqT7+bBfJ8DJ6yTGwbXPogQV2HyEYtM2Hu1p4DfYPQ==} resolution: {integrity: sha512-gBcNotstwnapGuf/DSapVu+R8F1ITp1wypDOw4NLFak0FwOmPb7ao5pALUbcz+MZmZmB0VuBuqN5GcTyIGIX3Q==}
'@design.estate/dees-comms@1.0.30': '@design.estate/dees-comms@1.0.30':
resolution: {integrity: sha512-KchMlklJfKAjQiJiR0xmofXtQ27VgZtBIxcMwPE9d+h3jJRv+lPZxzBQVOM0eyM0uS44S5vJMZ11IeV4uDXSHg==} resolution: {integrity: sha512-KchMlklJfKAjQiJiR0xmofXtQ27VgZtBIxcMwPE9d+h3jJRv+lPZxzBQVOM0eyM0uS44S5vJMZ11IeV4uDXSHg==}
@@ -1141,8 +1141,11 @@ packages:
'@push.rocks/smartdata@7.1.5': '@push.rocks/smartdata@7.1.5':
resolution: {integrity: sha512-7x7VedEg6RocWndqUPuTbY2Bh85Q/x0LOVHL4o/NVXyh3IGNtiVQ8ple4WR0qYqlHRAojX4eDSBPMiYzIasqAg==} resolution: {integrity: sha512-7x7VedEg6RocWndqUPuTbY2Bh85Q/x0LOVHL4o/NVXyh3IGNtiVQ8ple4WR0qYqlHRAojX4eDSBPMiYzIasqAg==}
'@push.rocks/smartdb@2.5.4': '@push.rocks/smartdata@7.1.6':
resolution: {integrity: sha512-V9xe5O6SfTX1Fl7C7IuFXcZxlK+3y3tz1zt4nHOYkUdRNWy31NqGifOZ5u7xGQq/DU49zRh5SVnFALsXGFtHqg==} resolution: {integrity: sha512-GraeLUc/EKjMGwVwD4VWQxkpnF/Tcy0k9n0642kSiM7bRPZWh4IXLMo1bJGPesl1ofsHPR1kXIUsB9LVfUpQsw==}
'@push.rocks/smartdb@2.5.9':
resolution: {integrity: sha512-8GVR0zPi6khm7xFSirhOkD6V1QrikEPW0JCRriGMictNkGb3DhMg8KswSDOYTUlEuvx4ldrJCRZ7CmQu3uiUuQ==}
'@push.rocks/smartdelay@3.0.5': '@push.rocks/smartdelay@3.0.5':
resolution: {integrity: sha512-mUuI7kj2f7ztjpic96FvRIlf2RsKBa5arw81AHNsndbxO6asRcxuWL8dTVxouEIK8YsBUlj0AsrCkHhMbLQdHw==} resolution: {integrity: sha512-mUuI7kj2f7ztjpic96FvRIlf2RsKBa5arw81AHNsndbxO6asRcxuWL8dTVxouEIK8YsBUlj0AsrCkHhMbLQdHw==}
@@ -4355,7 +4358,7 @@ snapshots:
'@api.global/typedrequest-interfaces': 3.0.19 '@api.global/typedrequest-interfaces': 3.0.19
'@api.global/typedsocket': 4.1.2(@push.rocks/smartserve@2.0.3) '@api.global/typedsocket': 4.1.2(@push.rocks/smartserve@2.0.3)
'@cloudflare/workers-types': 4.20260317.1 '@cloudflare/workers-types': 4.20260317.1
'@design.estate/dees-catalog': 3.59.1(@tiptap/pm@2.27.2) '@design.estate/dees-catalog': 3.61.0(@tiptap/pm@2.27.2)
'@design.estate/dees-comms': 1.0.30 '@design.estate/dees-comms': 1.0.30
'@push.rocks/lik': 6.4.0 '@push.rocks/lik': 6.4.0
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
@@ -4884,7 +4887,7 @@ snapshots:
dependencies: dependencies:
'@api.global/typedrequest-interfaces': 3.0.19 '@api.global/typedrequest-interfaces': 3.0.19
'@design.estate/dees-catalog@3.59.1(@tiptap/pm@2.27.2)': '@design.estate/dees-catalog@3.61.0(@tiptap/pm@2.27.2)':
dependencies: dependencies:
'@design.estate/dees-domtools': 2.5.4 '@design.estate/dees-domtools': 2.5.4
'@design.estate/dees-element': 2.2.4 '@design.estate/dees-element': 2.2.4
@@ -5979,7 +5982,7 @@ snapshots:
'@apiclient.xyz/cloudflare': 7.1.0 '@apiclient.xyz/cloudflare': 7.1.0
'@peculiar/x509': 2.0.0 '@peculiar/x509': 2.0.0
'@push.rocks/lik': 6.4.0 '@push.rocks/lik': 6.4.0
'@push.rocks/smartdata': 7.1.5(socks@2.8.7) '@push.rocks/smartdata': 7.1.6(socks@2.8.7)
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartdns': 7.9.0 '@push.rocks/smartdns': 7.9.0
'@push.rocks/smartlog': 3.2.1 '@push.rocks/smartlog': 3.2.1
@@ -6141,7 +6144,37 @@ snapshots:
- supports-color - supports-color
- vue - vue
'@push.rocks/smartdb@2.5.4(@tiptap/pm@2.27.2)(socks@2.8.7)': '@push.rocks/smartdata@7.1.6(socks@2.8.7)':
dependencies:
'@push.rocks/lik': 6.4.0
'@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartlog': 3.2.1
'@push.rocks/smartmongo': 5.1.1(socks@2.8.7)
'@push.rocks/smartpromise': 4.2.3
'@push.rocks/smartrx': 3.0.10
'@push.rocks/smartstring': 4.1.0
'@push.rocks/smarttime': 4.2.3
'@push.rocks/smartunique': 3.0.9
'@push.rocks/taskbuffer': 8.0.2
'@tsclass/tsclass': 9.5.0
mongodb: 7.1.1(socks@2.8.7)
transitivePeerDependencies:
- '@aws-sdk/credential-providers'
- '@mongodb-js/zstd'
- '@nuxt/kit'
- bare-abort-controller
- bare-buffer
- gcp-metadata
- kerberos
- mongodb-client-encryption
- react
- react-native-b4a
- snappy
- socks
- supports-color
- vue
'@push.rocks/smartdb@2.5.9(@tiptap/pm@2.27.2)(socks@2.8.7)':
dependencies: dependencies:
'@api.global/typedserver': 8.4.6(@tiptap/pm@2.27.2) '@api.global/typedserver': 8.4.6(@tiptap/pm@2.27.2)
'@design.estate/dees-element': 2.2.4 '@design.estate/dees-element': 2.2.4
@@ -6153,11 +6186,14 @@ snapshots:
- '@mongodb-js/zstd' - '@mongodb-js/zstd'
- '@nuxt/kit' - '@nuxt/kit'
- '@tiptap/pm' - '@tiptap/pm'
- bare-abort-controller
- bare-buffer
- bufferutil - bufferutil
- gcp-metadata - gcp-metadata
- kerberos - kerberos
- mongodb-client-encryption - mongodb-client-encryption
- react - react
- react-native-b4a
- snappy - snappy
- socks - socks
- supports-color - supports-color
@@ -6392,7 +6428,7 @@ snapshots:
'@push.rocks/smartmongo@5.1.1(socks@2.8.7)': '@push.rocks/smartmongo@5.1.1(socks@2.8.7)':
dependencies: dependencies:
'@push.rocks/mongodump': 1.1.0(socks@2.8.7) '@push.rocks/mongodump': 1.1.0(socks@2.8.7)
'@push.rocks/smartdata': 7.1.5(socks@2.8.7) '@push.rocks/smartdata': 7.1.6(socks@2.8.7)
'@push.rocks/smartfs': 1.5.0 '@push.rocks/smartfs': 1.5.0
'@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpath': 6.0.0
'@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartpromise': 4.2.3
@@ -6929,7 +6965,7 @@ snapshots:
'@serve.zone/catalog@2.11.2(@tiptap/pm@2.27.2)': '@serve.zone/catalog@2.11.2(@tiptap/pm@2.27.2)':
dependencies: dependencies:
'@design.estate/dees-catalog': 3.59.1(@tiptap/pm@2.27.2) '@design.estate/dees-catalog': 3.61.0(@tiptap/pm@2.27.2)
'@design.estate/dees-domtools': 2.5.4 '@design.estate/dees-domtools': 2.5.4
'@design.estate/dees-element': 2.2.4 '@design.estate/dees-element': 2.2.4
'@design.estate/dees-wcctools': 3.8.0 '@design.estate/dees-wcctools': 3.8.0

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/dcrouter', name: '@serve.zone/dcrouter',
version: '13.0.4', version: '13.0.5',
description: 'A multifaceted routing service handling mail and SMS delivery functions.' description: 'A multifaceted routing service handling mail and SMS delivery functions.'
} }

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/dcrouter', name: '@serve.zone/dcrouter',
version: '13.0.4', version: '13.0.5',
description: 'A multifaceted routing service handling mail and SMS delivery functions.' description: 'A multifaceted routing service handling mail and SMS delivery functions.'
} }

View File

@@ -100,7 +100,7 @@ export class OpsViewApiTokens extends DeesElement {
const { apiTokens } = this.routeState; const { apiTokens } = this.routeState;
return html` return html`
<ops-sectionheading>API Tokens</ops-sectionheading> <dees-heading level="2">API Tokens</dees-heading>
<div class="apiTokensContainer"> <div class="apiTokensContainer">
<dees-table <dees-table

View File

@@ -159,7 +159,7 @@ export class OpsViewCertificates extends DeesElement {
const { summary } = this.certState; const { summary } = this.certState;
return html` return html`
<ops-sectionheading>Certificates</ops-sectionheading> <dees-heading level="2">Certificates</dees-heading>
<div class="certificatesContainer"> <div class="certificatesContainer">
${this.renderStatsTiles(summary)} ${this.renderStatsTiles(summary)}

View File

@@ -57,7 +57,7 @@ export class OpsViewConfig extends DeesElement {
public render() { public render() {
return html` return html`
<ops-sectionheading>Configuration</ops-sectionheading> <dees-heading level="2">Configuration</dees-heading>
${this.configState.isLoading ${this.configState.isLoading
? html` ? html`

View File

@@ -60,7 +60,7 @@ export class OpsViewEmails extends DeesElement {
public render() { public render() {
return html` return html`
<ops-sectionheading>Email Operations</ops-sectionheading> <dees-heading level="2">Email Operations</dees-heading>
<div class="viewContainer"> <div class="viewContainer">
${this.currentView === 'detail' && this.selectedEmail ${this.currentView === 'detail' && this.selectedEmail
? html` ? html`

View File

@@ -39,7 +39,7 @@ export class OpsViewLogs extends DeesElement {
public render() { public render() {
return html` return html`
<ops-sectionheading>Logs</ops-sectionheading> <dees-heading level="2">Logs</dees-heading>
<dees-chart-log <dees-chart-log
.label=${'Application Logs'} .label=${'Application Logs'}

View File

@@ -285,7 +285,7 @@ export class OpsViewNetwork extends DeesElement {
public render() { public render() {
return html` return html`
<ops-sectionheading>Network Activity</ops-sectionheading> <dees-heading level="2">Network Activity</dees-heading>
<div class="networkContainer"> <div class="networkContainer">
<!-- Stats Grid --> <!-- Stats Grid -->

View File

@@ -64,7 +64,7 @@ export class OpsViewNetworkTargets extends DeesElement {
]; ];
return html` return html`
<ops-sectionheading>Network Targets</ops-sectionheading> <dees-heading level="2">Network Targets</dees-heading>
<div class="targetsContainer"> <div class="targetsContainer">
<dees-statsgrid .tiles=${statsTiles}></dees-statsgrid> <dees-statsgrid .tiles=${statsTiles}></dees-statsgrid>
<dees-table <dees-table

View File

@@ -94,7 +94,7 @@ export class OpsViewOverview extends DeesElement {
public render() { public render() {
return html` return html`
<ops-sectionheading>Overview</ops-sectionheading> <dees-heading level="2">Overview</dees-heading>
${this.statsState.isLoading ? html` ${this.statsState.isLoading ? html`
<div class="loadingMessage"> <div class="loadingMessage">

View File

@@ -174,7 +174,7 @@ export class OpsViewRemoteIngress extends DeesElement {
]; ];
return html` return html`
<ops-sectionheading>Remote Ingress</ops-sectionheading> <dees-heading level="2">Remote Ingress</dees-heading>
${this.riState.newEdgeId ? html` ${this.riState.newEdgeId ? html`
<div class="secretDialog"> <div class="secretDialog">

View File

@@ -200,7 +200,7 @@ export class OpsViewRoutes extends DeesElement {
}); });
return html` return html`
<ops-sectionheading>Route Management</ops-sectionheading> <dees-heading level="2">Route Management</dees-heading>
<div class="routesContainer"> <div class="routesContainer">
<dees-statsgrid <dees-statsgrid

View File

@@ -192,7 +192,7 @@ export class OpsViewSecurity extends DeesElement {
public render() { public render() {
return html` return html`
<ops-sectionheading>Security</ops-sectionheading> <dees-heading level="2">Security</dees-heading>
<div class="tabs"> <div class="tabs">
<button <button

View File

@@ -64,7 +64,7 @@ export class OpsViewSourceProfiles extends DeesElement {
]; ];
return html` return html`
<ops-sectionheading>Source Profiles</ops-sectionheading> <dees-heading level="2">Source Profiles</dees-heading>
<div class="profilesContainer"> <div class="profilesContainer">
<dees-statsgrid .tiles=${statsTiles}></dees-statsgrid> <dees-statsgrid .tiles=${statsTiles}></dees-statsgrid>
<dees-table <dees-table

View File

@@ -77,7 +77,7 @@ export class OpsViewTargetProfiles extends DeesElement {
]; ];
return html` return html`
<ops-sectionheading>Target Profiles</ops-sectionheading> <dees-heading level="2">Target Profiles</dees-heading>
<div class="profilesContainer"> <div class="profilesContainer">
<dees-statsgrid .tiles=${statsTiles}></dees-statsgrid> <dees-statsgrid .tiles=${statsTiles}></dees-statsgrid>
<dees-table <dees-table

View File

@@ -221,7 +221,7 @@ export class OpsViewVpn extends DeesElement {
]; ];
return html` return html`
<ops-sectionheading>VPN</ops-sectionheading> <dees-heading level="2">VPN</dees-heading>
<div class="vpnContainer"> <div class="vpnContainer">
${this.vpnState.newClientConfig ? html` ${this.vpnState.newClientConfig ? html`

View File

@@ -1,2 +1 @@
export * from './css.js'; export * from './css.js';
export * from './ops-sectionheading.js';

View File

@@ -1,38 +0,0 @@
import {
DeesElement,
css,
cssManager,
customElement,
html,
type TemplateResult
} from '@design.estate/dees-element';
@customElement('ops-sectionheading')
export class OpsSectionHeading extends DeesElement {
public static styles = [
cssManager.defaultStyles,
css`
:host {
display: block;
margin-bottom: 24px;
}
.heading {
font-family: 'Cal Sans', 'Inter', sans-serif;
font-size: 28px;
font-weight: 600;
color: ${cssManager.bdTheme('#111', '#fff')};
margin: 0;
padding: 0;
}
`,
];
public render(): TemplateResult {
return html`
<h1 class="heading">
<slot></slot>
</h1>
`;
}
}