From b6deb51aa562094a4a3f02965aee30a812b0dc29 Mon Sep 17 00:00:00 2001 From: Grische <2787581+grische@users.noreply.github.com> Date: Thu, 14 Dec 2023 17:21:40 +0100 Subject: [PATCH 1/2] separate EOL and deprecated devices --- README.md | 6 +++--- config.example.json | 1 + lib/config_default.ts | 13 ++++++++++++- lib/infobox/node.ts | 12 ++++++++++-- lib/proportions.ts | 4 +++- public/locale/de.json | 5 ++++- public/locale/en.json | 5 ++++- scss/modules/_base.scss | 17 +++++++++++++++-- scss/modules/_variables.scss | 3 ++- 9 files changed, 54 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 68927973..65760f60 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,11 @@ docker run -it --rm --name meshviewer-dev \ The configuration documentation is nowhere near finished. -### Deprecation Warning +### Deprecation and EOL Warning -The deprecation warning can be turned of with `"deprecation_enabled": false` - but we wouldn't suggest it. +Both the deprecation and the EOL warning can be turned off with `"deprecation_enabled": false` - but we wouldn't suggest it. -You can insert your own HTML into the deprecation warning via `"deprecation_text":""`. +You can insert custom HTML into the deprecation and eol warning via `"deprecation_text":""` and `"eol_text":""` respectively. ## Development diff --git a/config.example.json b/config.example.json index 9d0a9ced..277319dc 100644 --- a/config.example.json +++ b/config.example.json @@ -67,5 +67,6 @@ "devicePicturesLicense": "CC-BY-NC-SA 4.0", "node_custom": "/[^a-z0-9\\-\\.]/ig", "deprecation_text": "Hier kann ein eigener Text für die Deprecation Warning (inkl. HTML) stehen!", + "eol_text": "Hier kann ein eigener Text für die End-of-Life Warnung (inkl. HTML) stehen!", "deprecation_enabled": true } diff --git a/lib/config_default.ts b/lib/config_default.ts index 32ac8982..f954b59e 100644 --- a/lib/config_default.ts +++ b/lib/config_default.ts @@ -167,7 +167,9 @@ export interface Config { linkInfos: LinkInfo[]; nodeInfos: NodeInfo[]; deprecation_enabled: boolean; + eol: string[]; deprecated: string[]; + eol_text?: string; deprecation_text?: string; domainNames: Domain[]; node_custom: string; // Custom node replacement regex @@ -358,7 +360,7 @@ export const config: Config = { fillOpacity: 0.2, }, }, - deprecated: [ + eol: [ "A5-V11", "AP121", "AP121U", @@ -450,7 +452,16 @@ export const config: Config = { "VoCore 8M", "VoCore 16M", ], + deprecated: [ + "TP-LINK RE305", + "TP-Link RE305 v1", + "TP-LINK RE355", + "TP-Link RE355 v1", + "TP-LINK RE450", + "TP-Link RE450 v1", + ], deprecation_enabled: true, + eol_text: undefined, deprecation_text: undefined, domainNames: [], globalInfos: [], diff --git a/lib/infobox/node.ts b/lib/infobox/node.ts index 8831fc82..6b67eb37 100644 --- a/lib/infobox/node.ts +++ b/lib/infobox/node.ts @@ -182,11 +182,17 @@ export function Node(el: HTMLElement, node: NodeData, linkScale: (t: any) => any let deprecation = document.createElement("div"); deprecation.setAttribute("class", "deprecated"); deprecation.setAttribute("style", "display: none;"); - deprecation.innerHTML = "
" + (config.deprecation_text || _.t("deprecation")) + "
"; + deprecation.innerHTML = "
" + (config.deprecation_text || _.t("deprecation-text")) + "
"; + + var eol = document.createElement("div"); + eol.setAttribute("class", "eol"); + eol.setAttribute("style", "display: none;"); + eol.innerHTML = "
" + (config.eol_text || _.t("eol-text")) + "
"; el.appendChild(header); el.appendChild(devicePicture); el.appendChild(deprecation); + el.appendChild(eol); el.appendChild(table); el.appendChild(neighbours); el.appendChild(tableNeighbour.el); @@ -218,7 +224,9 @@ export function Node(el: HTMLElement, node: NodeData, linkScale: (t: any) => any // Check if device is in list of deprecated devices. If so, display the deprecation warning if (config.deprecation_enabled) { if (row.name === "node.hardware") { - if (config.deprecated && field && config.deprecated.includes(field)) { + if (config.eol && field && config.eol.includes(field)) { + eol.setAttribute("style", "display: block;"); + } else if (config.deprecated && field && config.deprecated.includes(field)) { deprecation.setAttribute("style", "display: block;"); } } diff --git a/lib/proportions.ts b/lib/proportions.ts index 7ff48cfa..96bf063c 100644 --- a/lib/proportions.ts +++ b/lib/proportions.ts @@ -121,7 +121,9 @@ export const Proportions = function (filterManager: ReturnType4/32 warning.
Wenn du der Eigentümer des Gerätes bist, bitten wir dich, das Gerät zu ersetzen, um weiterhin am Netz teilnehmen zu können.", + "deprecation": "deprecated", + "deprecation-text": "Warnung: Dieser Knoten ist veraltet, und wird in Zukunft nicht mehr unterstützt. Mehr Infos unter 4/32 warning.
Wenn du der Eigentümer des Gerätes bist, bitten wir dich, das Gerät zu ersetzen, um weiterhin am Netz teilnehmen zu können.", + "eol": "end-of-life", + "eol-text": "Warnung: Dieser Knoten ist veraltet, und nicht mehr unterstützt. Mehr Infos unter 4/32 warning.
Wenn du der Eigentümer des Gerätes bist, bitten wir dich, das Gerät zu ersetzen, um weiterhin am Netz teilnehmen zu können.", "loading": "%{name} graph (wird generiert)" } diff --git a/public/locale/en.json b/public/locale/en.json index bd4160cb..3e787fe0 100644 --- a/public/locale/en.json +++ b/public/locale/en.json @@ -99,6 +99,9 @@ "none": "none", "remove": "remove", "close": "close", - "deprecation": "This node is deprecated, and will be out of support soon. More information under 4/32 warning.
If you're the owner, please replace it with an modern device!", + "deprecation": "deprecated", + "deprecation-text": "This node is deprecated, and will be out of support soon. More information under 8/64 warning.
If you're the owner, please replace it with an modern device!", + "eol": "end-of-life", + "eol-text": "This node has reached end-of-life, and is not supported anymore. More information under 4/32 warning.
If you're the owner, please replace it with an modern device!", "loading": "%{name} graph (is generated)" } diff --git a/scss/modules/_base.scss b/scss/modules/_base.scss index 0775d962..b2938399 100644 --- a/scss/modules/_base.scss +++ b/scss/modules/_base.scss @@ -91,12 +91,11 @@ strong { width: 1px; } -.deprecated { +.deprecation_base { padding-left: $button-distance; padding-right: $button-distance; div { - background: $color-warning; border-radius: 5px; color: $color-white; font-size: 110%; @@ -116,6 +115,20 @@ strong { } } +.deprecated { + @extend .deprecation_base; + div { + background: $color-warning; + } +} + +.eol { + @extend .deprecation_base; + div { + background: $color-error; + } +} + .hw-img-container { display: flex; justify-content: center; diff --git a/scss/modules/_variables.scss b/scss/modules/_variables.scss index 3e559d5c..5ab168cd 100644 --- a/scss/modules/_variables.scss +++ b/scss/modules/_variables.scss @@ -14,7 +14,8 @@ $color-24ghz: $color-primary !default; $color-5ghz: #e3a619 !default; $color-others: #0a9c92 !default; -$color-warning: #c20000 !default; +$color-warning: Orange !default; +$color-error: #c20000 !default; $color-map-background: #f8f4f0 !default; From 18435b244d6d2de202304e3b3500749689e96726 Mon Sep 17 00:00:00 2001 From: Grische <2787581+grische@users.noreply.github.com> Date: Thu, 25 Jan 2024 19:14:23 +0100 Subject: [PATCH 2/2] Fix 8/64 warning text --- public/locale/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locale/de.json b/public/locale/de.json index b3612999..5bcba488 100644 --- a/public/locale/de.json +++ b/public/locale/de.json @@ -100,7 +100,7 @@ "remove": "entfernen", "close": "schließen", "deprecation": "deprecated", - "deprecation-text": "Warnung: Dieser Knoten ist veraltet, und wird in Zukunft nicht mehr unterstützt. Mehr Infos unter 4/32 warning.
Wenn du der Eigentümer des Gerätes bist, bitten wir dich, das Gerät zu ersetzen, um weiterhin am Netz teilnehmen zu können.", + "deprecation-text": "Warnung: Dieser Knoten ist veraltet, und wird in Zukunft nicht mehr unterstützt. Mehr Infos unter 8/64 warning.
Wenn du der Eigentümer des Gerätes bist, bitten wir dich, das Gerät zu ersetzen, um weiterhin am Netz teilnehmen zu können.", "eol": "end-of-life", "eol-text": "Warnung: Dieser Knoten ist veraltet, und nicht mehr unterstützt. Mehr Infos unter 4/32 warning.
Wenn du der Eigentümer des Gerätes bist, bitten wir dich, das Gerät zu ersetzen, um weiterhin am Netz teilnehmen zu können.", "loading": "%{name} graph (wird generiert)"