From be281d1d044f1feab514ef2ea5f333f1ef799143 Mon Sep 17 00:00:00 2001 From: Claudecio Martins Date: Tue, 20 Oct 2026 22:17:14 -0300 Subject: [PATCH] feat(ui): modernize icons to outline style with accent and update fallbacks --- assets/icons/cert.svg | 10 +-- assets/icons/seal.svg | 8 +- .../signer/ui/components/SvgIcons.java | 81 ++++++++++++------- .../src/main/resources/assets/icons/cert.svg | 10 +-- .../src/main/resources/assets/icons/seal.svg | 8 +- 5 files changed, 71 insertions(+), 46 deletions(-) diff --git a/assets/icons/cert.svg b/assets/icons/cert.svg index 5088055..2e3af38 100644 --- a/assets/icons/cert.svg +++ b/assets/icons/cert.svg @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/assets/icons/seal.svg b/assets/icons/seal.svg index 2f3a1fb..9e5bf3f 100644 --- a/assets/icons/seal.svg +++ b/assets/icons/seal.svg @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/components/SvgIcons.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/components/SvgIcons.java index 9e31d2f..26c728c 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/components/SvgIcons.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/components/SvgIcons.java @@ -14,6 +14,8 @@ import javafx.scene.shape.Circle; import javafx.scene.shape.Polygon; import javafx.scene.shape.Rectangle; import javafx.scene.shape.SVGPath; +import javafx.scene.shape.StrokeLineCap; +import javafx.scene.shape.StrokeLineJoin; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; @@ -477,11 +479,21 @@ public final class SvgIcons { StackPane box = new StackPane(); box.setPrefSize(24, 24); - Text code = new Text(""); - code.setFont(Font.font("Segoe UI", FontWeight.BOLD, 12)); - code.setFill(Color.web("#0288d1")); + SVGPath frame = new SVGPath(); + frame.setContent("M 3 5 C 3 3.9 3.9 3 5 3 L 19 3 C 20.1 3 21 3.9 21 5 L 21 19 C 21 20.1 20.1 21 19 21 L 5 21 C 3.9 21 3 20.1 3 19 Z"); + frame.setFill(Color.TRANSPARENT); + frame.setStroke(Color.web("#1e293b")); + frame.setStrokeWidth(1.8); - box.getChildren().add(code); + SVGPath prompt = new SVGPath(); + prompt.setContent("M 7 9 L 10 12 L 7 15 M 12 15 L 16 15"); + prompt.setFill(Color.TRANSPARENT); + prompt.setStroke(Color.web("#0288d1")); + prompt.setStrokeWidth(1.8); + prompt.setStrokeLineCap(StrokeLineCap.ROUND); + prompt.setStrokeLineJoin(StrokeLineJoin.ROUND); + + box.getChildren().addAll(frame, prompt); return box; } @@ -538,20 +550,21 @@ public final class SvgIcons { StackPane box = new StackPane(); box.setPrefSize(24, 24); - SVGPath folder = new SVGPath(); - folder.setContent("M 2 5 L 8 5 L 10 7 L 22 7 L 22 20 L 2 20 Z"); - folder.setFill(Color.web("#e1f5fe")); - folder.setStroke(Color.web("#0288d1")); - folder.setStrokeWidth(1.5); + SVGPath certFrame = new SVGPath(); + certFrame.setContent("M 4 4 C 4 3 5 2 6 2 L 18 2 C 19 2 20 3 20 4 L 20 20 C 20 21 19 22 18 22 L 6 22 C 5 22 4 21 4 20 Z M 7 6 L 14 6 M 7 9 L 12 9"); + certFrame.setFill(Color.TRANSPARENT); + certFrame.setStroke(Color.web("#1e293b")); + certFrame.setStrokeWidth(1.8); - Rectangle lock = new Rectangle(7, 6); - lock.setArcWidth(2); - lock.setArcHeight(2); - lock.setFill(Color.web("#0288d1")); - lock.setTranslateX(3); - lock.setTranslateY(2); + SVGPath badge = new SVGPath(); + badge.setContent("M 15 13 A 3.2 3.2 0 1 1 15 13.01 M 13.5 15 L 14.8 16.2 L 17 14"); + badge.setFill(Color.TRANSPARENT); + badge.setStroke(Color.web("#0288d1")); + badge.setStrokeWidth(1.6); + badge.setStrokeLineCap(StrokeLineCap.ROUND); + badge.setStrokeLineJoin(StrokeLineJoin.ROUND); - box.getChildren().addAll(folder, lock); + box.getChildren().addAll(certFrame, badge); return box; } @@ -624,23 +637,31 @@ public final class SvgIcons { StackPane box = new StackPane(); box.setPrefSize(38, 38); - SVGPath ribbon = new SVGPath(); - ribbon.setContent("M 14 26 L 19 36 L 24 26 Z M 9 26 L 12 34 L 15 26 Z"); - ribbon.setFill(Color.web("#f59e0b")); + SVGPath frame = new SVGPath(); + frame.setContent("M 6 8 C 4.9 8 4 8.9 4 10 L 4 28 C 4 29.1 4.9 30 6 30 L 32 30 C 33.1 30 34 29.1 34 28 L 34 10 C 34 8.9 33.1 8 32 8 Z"); + frame.setFill(Color.TRANSPARENT); + frame.setStroke(Color.web("#1e293b")); + frame.setStrokeWidth(1.8); - Circle sealCircle = new Circle(13); - sealCircle.setFill(Color.web("#d97706")); - sealCircle.setStroke(Color.web("#fbbf24")); - sealCircle.setStrokeWidth(1.6); - sealCircle.setTranslateY(-4); + SVGPath lines = new SVGPath(); + lines.setContent("M 8 13 L 20 13 M 8 25 L 30 25"); + lines.setFill(Color.TRANSPARENT); + lines.setStroke(Color.web("#64748b")); + lines.setStrokeWidth(1.4); + lines.setStrokeLineCap(StrokeLineCap.ROUND); - SVGPath star = new SVGPath(); - star.setContent("M 19 8 L 21 13 L 26 13 L 22 16 L 24 21 L 19 18 L 14 21 L 16 16 L 12 13 L 17 13 Z"); - star.setFill(Color.web("#ffffff")); - star.setTranslateX(-9); - star.setTranslateY(-14); + Circle dot = new Circle(28, 13, 2); + dot.setFill(Color.web("#f59e0b")); - box.getChildren().addAll(ribbon, sealCircle, star); + SVGPath signature = new SVGPath(); + signature.setContent("M 8 20 C 11 16 13 16 15 20 C 17 23 20 17 23 18"); + signature.setFill(Color.TRANSPARENT); + signature.setStroke(Color.web("#0288d1")); + signature.setStrokeWidth(2.0); + signature.setStrokeLineCap(StrokeLineCap.ROUND); + signature.setStrokeLineJoin(StrokeLineJoin.ROUND); + + box.getChildren().addAll(frame, lines, dot, signature); return box; } diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/cert.svg b/modules/cybercore-ui/src/main/resources/assets/icons/cert.svg index 5088055..2e3af38 100644 --- a/modules/cybercore-ui/src/main/resources/assets/icons/cert.svg +++ b/modules/cybercore-ui/src/main/resources/assets/icons/cert.svg @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/seal.svg b/modules/cybercore-ui/src/main/resources/assets/icons/seal.svg index 2f3a1fb..9e5bf3f 100644 --- a/modules/cybercore-ui/src/main/resources/assets/icons/seal.svg +++ b/modules/cybercore-ui/src/main/resources/assets/icons/seal.svg @@ -1,5 +1,7 @@ - - - + + + + +