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)"