From 176acf6f407b979e4e649ca52c4e00e9cd69858e Mon Sep 17 00:00:00 2001 From: Claudecio Martins Date: Sun, 11 Oct 2026 12:27:47 -0300 Subject: [PATCH] feat: add SVG asset management, icons, and UI component enhancements --- assets/README.md | 49 ++- assets/icons/about.svg | 7 +- assets/icons/arrow-right.svg | 3 + assets/icons/close.svg | 3 + assets/icons/moon.svg | 8 +- assets/icons/refresh.svg | 5 + assets/icons/settings.svg | 8 +- assets/icons/zoom-fit.svg | 3 + assets/icons/zoom-in.svg | 5 + assets/icons/zoom-out.svg | 5 + assets/images/app-icon.svg | 37 ++ assets/images/app-logo.svg | 41 +++ assets/images/brand-banner.svg | 32 ++ assets/images/default-seal.svg | 34 ++ docs/screenshots/01_layout_claro.png | Bin 60530 -> 60557 bytes docs/screenshots/02_layout_escuro.png | Bin 63533 -> 64319 bytes .../signer/ui/assets/AssetManager.java | 331 +++++++++++++++--- .../signer/ui/components/SvgIcons.java | 49 +++ .../cybercore/signer/ui/view/AboutView.java | 16 +- .../ui/view/ApplicationApprovalDialog.java | 9 +- .../ui/view/CertificatesManagerDialog.java | 4 +- .../cybercore/signer/ui/view/MainAppView.java | 33 +- .../signer/ui/view/PdfSignDialog.java | 6 +- .../signer/ui/view/SignaturePromptDialog.java | 15 +- .../src/main/resources/assets/README.md | 49 ++- .../src/main/resources/assets/icons/about.svg | 9 +- .../resources/assets/icons/arrow-right.svg | 3 + .../src/main/resources/assets/icons/close.svg | 3 + .../src/main/resources/assets/icons/moon.svg | 8 +- .../main/resources/assets/icons/refresh.svg | 5 + .../main/resources/assets/icons/settings.svg | 8 +- .../main/resources/assets/icons/zoom-fit.svg | 3 + .../main/resources/assets/icons/zoom-in.svg | 5 + .../main/resources/assets/icons/zoom-out.svg | 5 + .../main/resources/assets/images/app-icon.svg | 37 ++ .../main/resources/assets/images/app-logo.svg | 41 +++ .../resources/assets/images/brand-banner.svg | 32 ++ .../resources/assets/images/default-seal.svg | 34 ++ .../signer/ui/assets/AssetManagerTest.java | 58 +++ 39 files changed, 869 insertions(+), 134 deletions(-) create mode 100644 assets/icons/arrow-right.svg create mode 100644 assets/icons/close.svg create mode 100644 assets/icons/refresh.svg create mode 100644 assets/icons/zoom-fit.svg create mode 100644 assets/icons/zoom-in.svg create mode 100644 assets/icons/zoom-out.svg create mode 100644 assets/images/app-icon.svg create mode 100644 assets/images/app-logo.svg create mode 100644 assets/images/brand-banner.svg create mode 100644 assets/images/default-seal.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/icons/arrow-right.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/icons/close.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/icons/refresh.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/icons/zoom-fit.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/icons/zoom-in.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/icons/zoom-out.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/images/app-icon.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/images/app-logo.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/images/brand-banner.svg create mode 100644 modules/cybercore-ui/src/main/resources/assets/images/default-seal.svg create mode 100644 modules/cybercore-ui/src/test/java/br/com/cybercore/signer/ui/assets/AssetManagerTest.java diff --git a/assets/README.md b/assets/README.md index d77f68b..91f8eef 100644 --- a/assets/README.md +++ b/assets/README.md @@ -1,6 +1,6 @@ -# Pasta de Ícones (SVG) e Imagens (PNG) — CyberCore Signer +# Recursos Visuais (Ícones e Imagens em SVG) — CyberCore Signer -Esta pasta é o repositório oficial onde você pode visualizar, customizar e substituir livremente os **ícones em SVG** e as **imagens em PNG** do **CyberCore Signer**. +Esta pasta é o repositório oficial onde você pode visualizar, customizar e substituir livremente todos os **ícones em SVG** e as **imagens em SVG** do **CyberCore Signer**. --- @@ -31,13 +31,23 @@ assets/ │ ├── seal.svg # Ícone Designer e Gerenciador de Selos Notariais │ ├── check.svg # Ícone Checkmark de sucesso e validação │ ├── error.svg # Ícone de Erro / Alerta em vermelho -│ └── star.svg # Ícone de Estrela notarial / favorita +│ ├── star.svg # Ícone de Estrela notarial / favorita +│ ├── close.svg # Ícone Fechar / Cancelar (cruz geométrica moderna) +│ ├── arrow-right.svg # Ícone Avançar / Seta direcional +│ ├── zoom-in.svg # Ícone Zoom In (+) +│ ├── zoom-out.svg # Ícone Zoom Out (-) +│ ├── zoom-fit.svg # Ícone Ajustar à Tela +│ └── refresh.svg # Ícone Atualizar / Recarregar listas e status │ -└── images/ # Imagens de alta fidelidade em PNG com canal alfa (transparência) - ├── app-icon.png # Ícone oficial do app (256x256 px - Diamante 3D azul Serpro) - ├── app-logo.png # Logotipo horizontal oficial (480x120 px - CyberCore SIGNER) - ├── brand-banner.png # Banner de cabeçalho e marca (600x160 px - Serpro Blue) - └── default-seal.png # Selo de assinatura padrão ICP-Brasil (640x164 px) +└── images/ # Imagens vetoriais SVG editáveis (com cópias PNG de fallback) + ├── app-icon.svg # Ícone oficial do app em SVG (Cristal/Diamante 3D azul) + ├── app-icon.png # Fallback em PNG (256x256 px) + ├── app-logo.svg # Logotipo horizontal oficial em SVG (CyberCore SIGNER) + ├── app-logo.png # Fallback em PNG (480x120 px) + ├── brand-banner.svg # Banner de cabeçalho e marca em SVG (600x160 px) + ├── brand-banner.png # Fallback em PNG (600x160 px) + ├── default-seal.svg # Selo de assinatura padrão ICP-Brasil em SVG (640x164 px) + └── default-seal.png # Fallback em PNG (640x164 px) ``` --- @@ -45,20 +55,21 @@ assets/ ## 🎨 Como Customizar Qualquer Ícone ou Imagem 1. **Ícones:** - - Estão no formato `.svg` padrão. - - Podem ser editados diretamente no seu editor de código (VS Code, etc.) ou em editores vetoriais como **Inkscape, Figma ou Illustrator**. - - Se preferir colocar uma imagem bitmap para um ícone específico, você também pode colocar um `.png` (ex: `pdf.png`). O sistema prioriza `.svg` e aceita `.png` com fallback transparente. + - Todos estão no formato `.svg` padrão da W3C. + - Podem ser abertos e editados diretamente em editores de texto/código (VS Code) ou ferramentas vetoriais como **Inkscape, Figma, Adobe Illustrator**. + - Se preferir usar um arquivo bitmap para algum ícone específico, basta salvar um `.png` correspondente na pasta (ex: `pdf.png`). O sistema detecta e renderiza automaticamente. 2. **Imagens do Sistema:** - - Estão no formato `.png` com canal alfa de 32 bits (fundo transparente). - - Você pode substituir `app-logo.png`, `app-icon.png`, `brand-banner.png` ou `default-seal.png` pelo logotipo e identidade visual da sua instituição ou empresa. + - Tanto o logotipo horizontal (`app-logo.svg`), o ícone do sistema (`app-icon.svg`), o banner institucional (`brand-banner.svg`) e o selo notarial padrão (`default-seal.svg`) agora são arquivos **SVG vetoriais editáveis**. + - Você pode alterar cores, tipografias, brasões e dimensões diretamente nos arquivos SVG. + - O `AssetManager` renderiza os arquivos SVG preservando fidelidade geométrica e suportando gradientes e alinhamentos. -3. **Ordem de Prioridade e Hot-Reloading:** - Quando a aplicação busca um ícone ou imagem, a resolução ocorre na ordem: - 1. **Pasta Física Local (`./assets/icons/` e `./assets/images/`)**: Qualquer alteração feita aqui entra em vigor imediatamente ao abrir a janela ou reiniciar a aplicação, sem necessidade de recompilar! - 2. **Pasta do Usuário (`~/.cybercore/assets/`)**: Configurações específicas por usuário do sistema operacional. - 3. **Resources Empacotados no JAR (`/assets/`)**: Cópia empacotada internamente no `.jar`. - 4. **Fallback Vetorial Nativo (`SvgIcons`)**: Garantia de que a interface nunca fique em branco caso algum arquivo seja excluído. +3. **Ordem de Resolução e Carregamento:** + Ao requisitar qualquer elemento gráfico, a aplicação segue a ordem de prioridade: + 1. **Pasta Física Local (`./assets/icons/` e `./assets/images/`)**: Arquivos `.svg` editados aqui têm prioridade máxima e entram em vigor imediatamente sem necessidade de recompilar. + 2. **Pasta do Usuário (`~/.cybercore/assets/`)**: Para customizações no diretório pessoal do usuário. + 3. **Recursos Empacotados no JAR (`/assets/`)**: SVGs e imagens internas empacotadas no pacote de distribuição. + 4. **Fallback Vetorial Nativo (`SvgIcons`)**: Garantia de que a interface nunca fique desprovida de grafismos caso algum arquivo seja removido. --- diff --git a/assets/icons/about.svg b/assets/icons/about.svg index f7cc7f1..f6aac90 100644 --- a/assets/icons/about.svg +++ b/assets/icons/about.svg @@ -1 +1,6 @@ -info-circle-fill \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/assets/icons/arrow-right.svg b/assets/icons/arrow-right.svg new file mode 100644 index 0000000..1db6d0c --- /dev/null +++ b/assets/icons/arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/close.svg b/assets/icons/close.svg new file mode 100644 index 0000000..3f6cc79 --- /dev/null +++ b/assets/icons/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/moon.svg b/assets/icons/moon.svg index fd47105..9eb6f1a 100644 --- a/assets/icons/moon.svg +++ b/assets/icons/moon.svg @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/assets/icons/refresh.svg b/assets/icons/refresh.svg new file mode 100644 index 0000000..8ee09d9 --- /dev/null +++ b/assets/icons/refresh.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/settings.svg b/assets/icons/settings.svg index e0f4042..0a8dbc2 100644 --- a/assets/icons/settings.svg +++ b/assets/icons/settings.svg @@ -1,8 +1,4 @@ - - - - - - + + diff --git a/assets/icons/zoom-fit.svg b/assets/icons/zoom-fit.svg new file mode 100644 index 0000000..201271c --- /dev/null +++ b/assets/icons/zoom-fit.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/zoom-in.svg b/assets/icons/zoom-in.svg new file mode 100644 index 0000000..6783075 --- /dev/null +++ b/assets/icons/zoom-in.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/zoom-out.svg b/assets/icons/zoom-out.svg new file mode 100644 index 0000000..3882ea9 --- /dev/null +++ b/assets/icons/zoom-out.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/images/app-icon.svg b/assets/images/app-icon.svg new file mode 100644 index 0000000..10d2692 --- /dev/null +++ b/assets/images/app-icon.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/app-logo.svg b/assets/images/app-logo.svg new file mode 100644 index 0000000..ed887e6 --- /dev/null +++ b/assets/images/app-logo.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CyberCore + + + + SIGNER + + + ICP-Brasil • Assinador Digital Seguro + diff --git a/assets/images/brand-banner.svg b/assets/images/brand-banner.svg new file mode 100644 index 0000000..d133d1c --- /dev/null +++ b/assets/images/brand-banner.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CyberCore Signer + Agente de Assinatura Digital ICP-Brasil A1 & A3 + PADES • XADES • CADES • TIMESTAMPS • CCSP/1 + diff --git a/assets/images/default-seal.svg b/assets/images/default-seal.svg new file mode 100644 index 0000000..4b7c026 --- /dev/null +++ b/assets/images/default-seal.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + ASSINADO + DIGITALMENTE + + + + ★ + + ICP-BRASIL + + + + + + DOCUMENTO ASSINADO DIGITALMENTE POR: + NOME DO TITULAR DO CERTIFICADO + CPF: ***.000.000-** + Data e Hora: 11/10/2026 12:00:00 -03:00 + A conformidade com a ICP-Brasil pode ser verificada no ITI. + diff --git a/docs/screenshots/01_layout_claro.png b/docs/screenshots/01_layout_claro.png index 3e2c1e98d8b792a0722a1d11ea05ca0ddcc7f761..c251c804e16e814274f1c7026fdac6d493348806 100644 GIT binary patch literal 60557 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
  • t(_0$SPeWhf$vXnl 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 o6fRYj-N`L(YXZzP*uRkIHV829U(KG+`*Z039 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 z +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

    2t=zV&&0aR! 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 literal 63533 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�nCLM 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 E27orZAOHXW diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/assets/AssetManager.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/assets/AssetManager.java index b4b1cc0..1fc8938 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/assets/AssetManager.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/assets/AssetManager.java @@ -5,8 +5,14 @@ import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; +import javafx.scene.paint.CycleMethod; +import javafx.scene.paint.LinearGradient; +import javafx.scene.paint.Paint; +import javafx.scene.paint.RadialGradient; +import javafx.scene.paint.Stop; import javafx.scene.shape.Circle; import javafx.scene.shape.Line; import javafx.scene.shape.Polygon; @@ -17,7 +23,6 @@ import javafx.scene.shape.Shape; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; -import javafx.scene.transform.Scale; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; @@ -26,19 +31,20 @@ import org.w3c.dom.NodeList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import java.io.ByteArrayInputStream; -import java.io.File; import java.io.FileInputStream; import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.function.Supplier; /** * Gerenciador centralizado de recursos visuais (ícones e imagens). - * Permite que o usuário customize ou substitua facilmente qualquer ícone (SVG/PNG) ou imagem (PNG/JPG) + * Permite que o usuário customize ou substitua facilmente qualquer ícone ou imagem (SVG/PNG) * do CyberCore Signer simplesmente colocando os arquivos na pasta 'assets/' * na raiz do projeto ou no diretório ~/.cybercore/assets/. */ @@ -121,7 +127,7 @@ public final class AssetManager { } /** - * Retorna um Node de ícone customizado (SVG ou PNG) ou invoca o fallback caso não exista imagem customizada. + * Retorna um Node de ícone customizado (prioritariamente SVG, com fallback para PNG ou supplier vetorial). */ public static Node getIconOrDefault(String iconName, double size, Supplier fallbackSupplier) { if (iconName != null && !iconName.isBlank()) { @@ -140,7 +146,20 @@ public final class AssetManager { return userSvg.get(); } - // 3. Se não houver SVG, tenta imagem bitmap (.png, .jpg) nas pastas externas + // 3. Procura SVG no Classpath interno + String resSvgPath = "/assets/icons/" + cleanName + ".svg"; + InputStream resStream = AssetManager.class.getResourceAsStream(resSvgPath); + if (resStream != null) { + try (resStream) { + Node node = parseSvgToNode(resStream, size, size); + if (node != null) { + return node; + } + } catch (Exception ignored) { + } + } + + // 4. Se não houver SVG, tenta imagem bitmap (.png, .jpg) Optional customImg = loadImage("icons", cleanName, size, size); if (customImg.isPresent() && !customImg.get().isError()) { ImageView iv = new ImageView(customImg.get()); @@ -155,28 +174,76 @@ public final class AssetManager { } /** - * Retorna a imagem do logotipo do sistema ou o fallback vetorial. + * Retorna uma imagem institucional ou elemento gráfico (prioritariamente SVG, com fallback para PNG ou supplier). */ - public static Node getLogoOrDefault(double width, double height, Supplier fallbackSupplier) { - // Tenta carregar app-logo bitmap (.png) primeiro - Optional customLogo = loadImage("images", "app-logo", width, height); - if (customLogo.isPresent() && !customLogo.get().isError()) { - ImageView iv = new ImageView(customLogo.get()); - iv.setFitWidth(width); - iv.setFitHeight(height); - iv.setPreserveRatio(true); - return iv; - } + public static Node getImageOrDefault(String imageName, double width, double height, Supplier fallbackSupplier) { + if (imageName != null && !imageName.isBlank()) { + String cleanName = cleanBaseName(imageName); - // Tenta carregar SVG de app-logo se existir - Optional svgLogo = loadSvgIconFromPath(Path.of("assets", "images", "app-logo.svg"), height); - if (svgLogo.isPresent()) { - return svgLogo.get(); + // 1. Prioridade para SVG em ./assets/images/ + Path localSvg = Path.of("assets", "images", cleanName + ".svg"); + if (Files.isRegularFile(localSvg)) { + try (InputStream in = new FileInputStream(localSvg.toFile())) { + Node node = parseSvgToNode(in, width, height); + if (node != null) { + logger.debug("Carregada imagem SVG local: {}", localSvg); + return node; + } + } catch (Exception e) { + logger.warn("Falha ao ler imagem SVG local {}: {}", localSvg, e.getMessage()); + } + } + + // 2. Procura SVG em ~/.cybercore/assets/images/ + String userHome = System.getProperty("user.home", "."); + Path userSvg = Path.of(userHome, ".cybercore", "assets", "images", cleanName + ".svg"); + if (Files.isRegularFile(userSvg)) { + try (InputStream in = new FileInputStream(userSvg.toFile())) { + Node node = parseSvgToNode(in, width, height); + if (node != null) { + logger.debug("Carregada imagem SVG do usuário: {}", userSvg); + return node; + } + } catch (Exception e) { + logger.warn("Falha ao ler imagem SVG do usuário {}: {}", userSvg, e.getMessage()); + } + } + + // 3. Procura SVG no Classpath interno + String resPath = "/assets/images/" + cleanName + ".svg"; + InputStream resStream = AssetManager.class.getResourceAsStream(resPath); + if (resStream != null) { + try (resStream) { + Node node = parseSvgToNode(resStream, width, height); + if (node != null) { + return node; + } + } catch (Exception e) { + logger.warn("Falha ao ler recurso interno SVG {}: {}", resPath, e.getMessage()); + } + } + + // 4. Fallback para imagem bitmap (.png, .jpg) + Optional customImg = loadImage("images", cleanName, width, height); + if (customImg.isPresent() && !customImg.get().isError()) { + ImageView iv = new ImageView(customImg.get()); + iv.setFitWidth(width); + iv.setFitHeight(height); + iv.setPreserveRatio(true); + return iv; + } } return fallbackSupplier != null ? fallbackSupplier.get() : new ImageView(); } + /** + * Retorna a imagem do logotipo do sistema (SVG ou bitmap). + */ + public static Node getLogoOrDefault(double width, double height, Supplier fallbackSupplier) { + return getImageOrDefault("app-logo", width, height, fallbackSupplier); + } + private static String cleanBaseName(String name) { String clean = name; int dotIdx = clean.lastIndexOf('.'); @@ -189,7 +256,7 @@ public final class AssetManager { private static Optional loadSvgIconFromPath(Path path, double size) { if (Files.isRegularFile(path)) { try (InputStream in = new FileInputStream(path.toFile())) { - Node node = parseSvgToNode(in, size); + Node node = parseSvgToNode(in, size, size); if (node != null) { logger.debug("Carregado ícone SVG customizado de: {}", path); return Optional.of(node); @@ -202,9 +269,16 @@ public final class AssetManager { } /** - * Parser analítico leve de SVG padrão para nós gráficos JavaFX com preservação geométrica exata. + * Parser analítico de SVG para nós gráficos JavaFX com suporte a dimensões quadradas. */ public static Node parseSvgToNode(InputStream in, double targetSize) { + return parseSvgToNode(in, targetSize, targetSize); + } + + /** + * Parser analítico completo de SVG para nós gráficos JavaFX com dimensões proporcionais e suporte a defs/gradientes. + */ + public static Node parseSvgToNode(InputStream in, double targetWidth, double targetHeight) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(false); @@ -249,27 +323,34 @@ public final class AssetManager { if (vbWidth <= 0) vbWidth = 48; if (vbHeight <= 0) vbHeight = 48; - Group contentGroup = new Group(); - renderChildren(svg, contentGroup); + Map defsMap = new HashMap<>(); + parseDefs(svg, defsMap); - double maxDim = Math.max(vbWidth, vbHeight); - double scale = (targetSize * 0.90) / maxDim; + Group contentGroup = new Group(); + renderChildren(svg, contentGroup, defsMap); + + double scaleX = targetWidth / vbWidth; + double scaleY = targetHeight / vbHeight; + double scale = Math.min(scaleX, scaleY); + if (scale <= 0) scale = 1.0; double drawnW = vbWidth * scale; double drawnH = vbHeight * scale; - double tx = (targetSize - drawnW) / 2.0 - (vbMinX * scale); - double ty = (targetSize - drawnH) / 2.0 - (vbMinY * scale); + double tx = (targetWidth - drawnW) / 2.0 - (vbMinX * scale); + double ty = (targetHeight - drawnH) / 2.0 - (vbMinY * scale); + contentGroup.setManaged(false); + contentGroup.setLayoutX(0); + contentGroup.setLayoutY(0); contentGroup.getTransforms().setAll( new javafx.scene.transform.Translate(tx, ty), new javafx.scene.transform.Scale(scale, scale, 0, 0) ); - StackPane container = new StackPane(contentGroup); - container.setPrefSize(targetSize, targetSize); - container.setMaxSize(targetSize, targetSize); - container.setMinSize(targetSize, targetSize); - container.setAlignment(Pos.CENTER); + Pane container = new Pane(contentGroup); + container.setPrefSize(targetWidth, targetHeight); + container.setMaxSize(targetWidth, targetHeight); + container.setMinSize(targetWidth, targetHeight); return container; } catch (Exception e) { @@ -278,12 +359,100 @@ public final class AssetManager { } } - private static void renderChildren(Element parent, Group targetGroup) { + private static void parseDefs(Element root, Map defsMap) { + NodeList defsList = root.getElementsByTagName("defs"); + for (int i = 0; i < defsList.getLength(); i++) { + org.w3c.dom.Node defNode = defsList.item(i); + if (defNode instanceof Element defsEl) { + NodeList children = defsEl.getChildNodes(); + for (int j = 0; j < children.getLength(); j++) { + org.w3c.dom.Node c = children.item(j); + if (c instanceof Element gradEl) { + String id = gradEl.getAttribute("id"); + if (!id.isBlank()) { + Paint paint = createPaintFromGradient(gradEl); + if (paint != null) { + defsMap.put(id, paint); + } + } + } + } + } + } + } + + private static Paint createPaintFromGradient(Element gradEl) { + String tag = gradEl.getTagName().toLowerCase(); + List stops = new ArrayList<>(); + NodeList stopNodes = gradEl.getElementsByTagName("stop"); + for (int i = 0; i < stopNodes.getLength(); i++) { + org.w3c.dom.Node s = stopNodes.item(i); + if (s instanceof Element stopEl) { + double offset = parseOffset(stopEl.getAttribute("offset")); + String colorStr = stopEl.getAttribute("stop-color"); + double opacity = parseDouble(stopEl.getAttribute("stop-opacity"), 1.0); + Color baseColor = parseColor(colorStr, Color.BLACK); + Color finalColor = new Color(baseColor.getRed(), baseColor.getGreen(), baseColor.getBlue(), baseColor.getOpacity() * opacity); + stops.add(new Stop(offset, finalColor)); + } + } + + if (stops.isEmpty()) { + stops.add(new Stop(0, Color.web("#0288d1"))); + stops.add(new Stop(1, Color.web("#01579b"))); + } + + if ("lineargradient".equals(tag)) { + double x1 = parseCoordinate(gradEl.getAttribute("x1"), 0); + double y1 = parseCoordinate(gradEl.getAttribute("y1"), 0); + double x2 = parseCoordinate(gradEl.getAttribute("x2"), 1); + double y2 = parseCoordinate(gradEl.getAttribute("y2"), 1); + return new LinearGradient(x1, y1, x2, y2, true, CycleMethod.NO_CYCLE, stops); + } else if ("radialgradient".equals(tag)) { + double cx = parseCoordinate(gradEl.getAttribute("cx"), 0.5); + double cy = parseCoordinate(gradEl.getAttribute("cy"), 0.5); + double r = parseCoordinate(gradEl.getAttribute("r"), 0.5); + return new RadialGradient(0, 0, cx, cy, r, true, CycleMethod.NO_CYCLE, stops); + } + + return null; + } + + private static double parseOffset(String str) { + if (str == null || str.isBlank()) return 0; + String s = str.trim(); + try { + if (s.endsWith("%")) { + return Double.parseDouble(s.substring(0, s.length() - 1)) / 100.0; + } + return Double.parseDouble(s); + } catch (NumberFormatException e) { + return 0; + } + } + + private static double parseCoordinate(String str, double def) { + if (str == null || str.isBlank()) return def; + String s = str.trim(); + try { + if (s.endsWith("%")) { + return Double.parseDouble(s.substring(0, s.length() - 1)) / 100.0; + } + return Double.parseDouble(s); + } catch (NumberFormatException e) { + return def; + } + } + + private static void renderChildren(Element parent, Group targetGroup, Map defsMap) { NodeList children = parent.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { org.w3c.dom.Node n = children.item(i); if (n instanceof Element el) { - Node jfxNode = createElementNode(el); + if ("defs".equalsIgnoreCase(el.getTagName())) { + continue; + } + Node jfxNode = createElementNode(el, defsMap); if (jfxNode != null) { targetGroup.getChildren().add(jfxNode); } @@ -291,7 +460,7 @@ public final class AssetManager { } } - private static Node createElementNode(Element el) { + private static Node createElementNode(Element el, Map defsMap) { String tagName = el.getTagName().toLowerCase(); Shape shape = null; @@ -350,12 +519,12 @@ public final class AssetManager { double x = parseDouble(el.getAttribute("x"), 0); double y = parseDouble(el.getAttribute("y"), 0); String content = el.getTextContent(); - Text t = new Text(x, y, content); - double fs = parseDouble(el.getAttribute("font-size"), 10); + Text t = new Text(x, y, content != null ? content.trim() : ""); + double fs = parseDouble(el.getAttribute("font-size"), 12); String fw = el.getAttribute("font-weight"); t.setFont(Font.font("Segoe UI", "bold".equalsIgnoreCase(fw) ? FontWeight.BOLD : FontWeight.NORMAL, fs)); if (el.hasAttribute("fill")) { - t.setFill(parseColor(el.getAttribute("fill"), Color.BLACK)); + t.setFill(parsePaint(el.getAttribute("fill"), defsMap, Color.BLACK)); } if ("middle".equalsIgnoreCase(el.getAttribute("text-anchor"))) { t.setTextOrigin(javafx.geometry.VPos.CENTER); @@ -364,38 +533,40 @@ public final class AssetManager { } case "g" -> { Group g = new Group(); - renderChildren(el, g); + renderChildren(el, g, defsMap); if (el.hasAttribute("stroke")) { - Color strokeCol = parseColor(el.getAttribute("stroke"), null); + Paint strokePaint = parsePaint(el.getAttribute("stroke"), defsMap, null); double sw = parseDouble(el.getAttribute("stroke-width"), 1.0); for (Node child : g.getChildren()) { if (child instanceof Shape s) { - if (strokeCol != null) s.setStroke(strokeCol); + if (strokePaint != null) s.setStroke(strokePaint); s.setStrokeWidth(sw); } } } + applyElementTransform(el, g); return g; } } if (shape != null) { - applyShapeStyles(el, shape); + applyShapeStyles(el, shape, defsMap); + applyElementTransform(el, shape); return shape; } return null; } - private static void applyShapeStyles(Element el, Shape shape) { + private static void applyShapeStyles(Element el, Shape shape, Map defsMap) { if (el.hasAttribute("fill")) { - shape.setFill(parseColor(el.getAttribute("fill"), Color.TRANSPARENT)); + shape.setFill(parsePaint(el.getAttribute("fill"), defsMap, Color.TRANSPARENT)); } else if (shape instanceof Line) { shape.setFill(Color.TRANSPARENT); } if (el.hasAttribute("stroke")) { - shape.setStroke(parseColor(el.getAttribute("stroke"), Color.TRANSPARENT)); + shape.setStroke(parsePaint(el.getAttribute("stroke"), defsMap, Color.TRANSPARENT)); } if (el.hasAttribute("stroke-width")) { @@ -409,6 +580,22 @@ public final class AssetManager { } } + private static Paint parsePaint(String str, Map defsMap, Paint fallback) { + if (str == null || str.isBlank() || "none".equalsIgnoreCase(str)) { + return Color.TRANSPARENT; + } + String trimmed = str.trim(); + if (trimmed.startsWith("url(#") && trimmed.endsWith(")")) { + String id = trimmed.substring(5, trimmed.length() - 1).trim(); + Paint defPaint = defsMap.get(id); + if (defPaint != null) { + return defPaint; + } + return Color.web("#0288d1"); + } + return parseColor(trimmed, fallback instanceof Color ? (Color) fallback : Color.BLACK); + } + private static void parsePoints(String ptsStr, java.util.List pointsList) { String[] tokens = ptsStr.trim().split("[,\\s]+"); for (String t : tokens) { @@ -446,4 +633,52 @@ public final class AssetManager { return defaultValue; } } + + private static void applyElementTransform(Element el, Node node) { + if (!el.hasAttribute("transform")) return; + String tr = el.getAttribute("transform").trim(); + if (tr.isBlank()) return; + + try { + if (tr.contains("rotate(")) { + int start = tr.indexOf("rotate(") + 7; + int close = tr.indexOf(')', start); + if (close > 0) { + String[] args = tr.substring(start, close).trim().split("[,\\s]+"); + if (args.length >= 3) { + double deg = parseDouble(args[0], 0); + double px = parseDouble(args[1], 0); + double py = parseDouble(args[2], 0); + node.getTransforms().add(new javafx.scene.transform.Rotate(deg, px, py)); + } else if (args.length >= 1) { + double deg = parseDouble(args[0], 0); + node.getTransforms().add(new javafx.scene.transform.Rotate(deg)); + } + } + } + if (tr.contains("translate(")) { + int start = tr.indexOf("translate(") + 10; + int close = tr.indexOf(')', start); + if (close > 0) { + String[] args = tr.substring(start, close).trim().split("[,\\s]+"); + double tx = parseDouble(args[0], 0); + double ty = args.length > 1 ? parseDouble(args[1], 0) : 0; + node.getTransforms().add(new javafx.scene.transform.Translate(tx, ty)); + } + } + if (tr.contains("scale(")) { + int start = tr.indexOf("scale(") + 6; + int close = tr.indexOf(')', start); + if (close > 0) { + String[] args = tr.substring(start, close).trim().split("[,\\s]+"); + double sx = parseDouble(args[0], 1.0); + double sy = args.length > 1 ? parseDouble(args[1], sx) : sx; + node.getTransforms().add(new javafx.scene.transform.Scale(sx, sy)); + } + } + } catch (Exception ignored) { + } + } } + + 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 12061e0..05779c1 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 @@ -709,6 +709,10 @@ public final class SvgIcons { } public static Node closeIcon(double size) { + return AssetManager.getIconOrDefault("close", size, () -> buildCloseIcon(size)); + } + + public static Node buildCloseIcon(double size) { StackPane box = new StackPane(); box.setPrefSize(size, size); box.setMaxSize(size, size); @@ -738,6 +742,10 @@ public final class SvgIcons { } public static Node arrowRightIcon(double size, String colorHex) { + return AssetManager.getIconOrDefault("arrow-right", size, () -> buildArrowRightIcon(size, colorHex)); + } + + public static Node buildArrowRightIcon(double size, String colorHex) { StackPane box = new StackPane(); box.setPrefSize(size, size); box.setMaxSize(size, size); @@ -764,6 +772,10 @@ public final class SvgIcons { * Ícones vetoriais de Zoom In (+), Zoom Out (-) e Ajustar à Tela. */ public static Node zoomInIcon(double size) { + return AssetManager.getIconOrDefault("zoom-in", size, () -> buildZoomInIcon(size)); + } + + public static Node buildZoomInIcon(double size) { StackPane box = new StackPane(); box.setPrefSize(size, size); box.setMaxSize(size, size); @@ -786,6 +798,10 @@ public final class SvgIcons { } public static Node zoomOutIcon(double size) { + return AssetManager.getIconOrDefault("zoom-out", size, () -> buildZoomOutIcon(size)); + } + + public static Node buildZoomOutIcon(double size) { StackPane box = new StackPane(); box.setPrefSize(size, size); box.setMaxSize(size, size); @@ -808,6 +824,10 @@ public final class SvgIcons { } public static Node zoomFitIcon(double size) { + return AssetManager.getIconOrDefault("zoom-fit", size, () -> buildZoomFitIcon(size)); + } + + public static Node buildZoomFitIcon(double size) { StackPane box = new StackPane(); box.setPrefSize(size, size); box.setMaxSize(size, size); @@ -828,4 +848,33 @@ public final class SvgIcons { box.getChildren().add(path); return box; } + + /** + * Ícone de Atualização / Sincronização. + */ + public static Node refreshIcon(double size) { + return AssetManager.getIconOrDefault("refresh", size, () -> buildRefreshIcon(size)); + } + + public static Node buildRefreshIcon(double size) { + StackPane box = new StackPane(); + box.setPrefSize(size, size); + box.setMaxSize(size, size); + box.setMinSize(size, size); + box.setAlignment(Pos.CENTER); + + SVGPath path = new SVGPath(); + path.setContent("M 20 4 L 20 9 L 15 9 M 4 20 L 4 15 L 9 15 M 5.8 9 A 7 7 0 0 1 18.5 7.5 L 20 9 M 4 15 L 5.5 16.5 A 7 7 0 0 0 18.2 15"); + path.setStroke(Color.web("#0284c7")); + path.setStrokeWidth(1.8); + path.setStrokeLineCap(javafx.scene.shape.StrokeLineCap.ROUND); + path.setFill(Color.TRANSPARENT); + + double scale = size / 24.0; + path.setScaleX(scale); + path.setScaleY(scale); + + box.getChildren().add(path); + return box; + } } diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/AboutView.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/AboutView.java index d9ece1c..c46360c 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/AboutView.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/AboutView.java @@ -1,12 +1,15 @@ package br.com.cybercore.signer.ui.view; import br.com.cybercore.signer.ui.CyberCoreUiConstants; +import br.com.cybercore.signer.ui.assets.AssetManager; +import br.com.cybercore.signer.ui.components.SvgIcons; import javafx.geometry.Pos; +import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.layout.VBox; /** - * Painel informativo Sobre o CyberCore Signer. + * Painel informativo Sobre o CyberCore Signer com exibição de identidade visual SVG e dados do agente. */ @SuppressWarnings("this-escape") public final class AboutView extends VBox { @@ -16,13 +19,12 @@ public final class AboutView extends VBox { } private void initView() { - setSpacing(16); + setSpacing(14); setAlignment(Pos.CENTER); getStyleClass().add("content-pane"); - Label brandLabel = new Label(CyberCoreUiConstants.APP_NAME); - brandLabel.getStyleClass().add("brand-title"); - brandLabel.setStyle("-fx-font-size: 24px;"); + // Logotipo oficial vetorial SVG (app-logo.svg) com fallback para cristal 3D + Node logoNode = AssetManager.getLogoOrDefault(320, 80, () -> SvgIcons.createAppCrystalLogo(54)); Label versionLabel = new Label("Versão " + CyberCoreUiConstants.APP_VERSION + " • CCSP/1"); versionLabel.getStyleClass().add("status-badge-active"); @@ -44,9 +46,9 @@ public final class AboutView extends VBox { detailsBox.getChildren().add(lbl); } - Label copyLabel = new Label("© 2026 CyberCore. Todos os direitos reservados."); + Label copyLabel = new Label("© 2026 CyberCore Systems. Todos os direitos reservados."); copyLabel.getStyleClass().add("dialog-subtitle"); - getChildren().addAll(brandLabel, versionLabel, descLabel, detailsBox, copyLabel); + getChildren().addAll(logoNode, versionLabel, descLabel, detailsBox, copyLabel); } } diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/ApplicationApprovalDialog.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/ApplicationApprovalDialog.java index 092333d..151a495 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/ApplicationApprovalDialog.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/ApplicationApprovalDialog.java @@ -39,7 +39,10 @@ public class ApplicationApprovalDialog { root.setPadding(new Insets(24)); root.getStyleClass().add("dialog-container"); - // Cabeçalho + // Cabeçalho com Ícone SVG de Escudo + HBox header = new HBox(14); + header.setAlignment(Pos.CENTER_LEFT); + VBox headerBox = new VBox(4); Label titleLabel = new Label("NOVA APLICAÇÃO WEB SOLICITA ACESSO"); titleLabel.getStyleClass().add("dialog-header"); @@ -48,6 +51,8 @@ public class ApplicationApprovalDialog { subtitleLabel.getStyleClass().add("dialog-subtitle"); headerBox.getChildren().addAll(titleLabel, subtitleLabel); + header.getChildren().addAll(br.com.cybercore.signer.ui.components.SvgIcons.cyberShieldLogo(34), headerBox); + // Painel de Detalhes da Aplicação VBox detailsBox = new VBox(10); detailsBox.getStyleClass().add("dialog-box"); @@ -106,7 +111,7 @@ public class ApplicationApprovalDialog { actionsRow.getChildren().addAll(btnReject, btnAuthorize); - root.getChildren().addAll(headerBox, detailsBox, secWarning, actionsRow); + root.getChildren().addAll(header, detailsBox, secWarning, actionsRow); Scene scene = new Scene(root); ThemeManager.applyTheme(scene); diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/CertificatesManagerDialog.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/CertificatesManagerDialog.java index c568a96..c0968f1 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/CertificatesManagerDialog.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/CertificatesManagerDialog.java @@ -77,7 +77,7 @@ public final class CertificatesManagerDialog { btnAddA1.getStyleClass().add("btn-primary"); btnAddA1.setOnAction(e -> handleImportA1()); - Button btnRefresh = new Button("Atualizar Lista"); + Button btnRefresh = new Button(" Atualizar Lista", SvgIcons.refreshIcon(14)); btnRefresh.getStyleClass().add("btn-secondary"); btnRefresh.setOnAction(e -> refreshList()); @@ -93,7 +93,7 @@ public final class CertificatesManagerDialog { HBox footer = new HBox(); footer.setAlignment(Pos.CENTER_RIGHT); - Button btnClose = new Button("Fechar"); + Button btnClose = new Button(" Fechar", SvgIcons.closeIcon(13)); btnClose.getStyleClass().add("btn-secondary"); btnClose.setOnAction(e -> stage.close()); footer.getChildren().add(btnClose); diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/MainAppView.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/MainAppView.java index 7bf672c..e6c4d4f 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/MainAppView.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/MainAppView.java @@ -13,6 +13,7 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; import javafx.scene.layout.Region; +import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; @@ -204,14 +205,20 @@ public final class MainAppView { private void updateThemeToggleButton() { boolean dark = ThemeManager.isDark(); - HBox content = new HBox(6); + HBox content = new HBox(8); content.setAlignment(Pos.CENTER); Node icon = dark ? SvgIcons.sunIcon(15) : SvgIcons.moonIcon(15); + StackPane iconBox = new StackPane(icon); + iconBox.setPrefSize(18, 18); + iconBox.setMinSize(18, 18); + iconBox.setMaxSize(18, 18); + iconBox.setAlignment(Pos.CENTER); + Label label = new Label(dark ? "Modo Claro" : "Modo Escuro"); label.setStyle("-fx-font-size: 11.5px; -fx-font-weight: bold;"); - content.getChildren().addAll(icon, label); + content.getChildren().addAll(iconBox, label); themeToggleBtn.setGraphic(content); } @@ -223,16 +230,22 @@ public final class MainAppView { btn.setPrefHeight(68); btn.setMinHeight(68); - HBox content = new HBox(10); + HBox content = new HBox(12); content.setAlignment(Pos.CENTER_LEFT); Label lbl = new Label(text); lbl.getStyleClass().addAll("cyber-action-text", "serpro-action-text"); lbl.setWrapText(true); + lbl.setAlignment(Pos.CENTER_LEFT); HBox.setHgrow(lbl, Priority.ALWAYS); if (icon != null) { - content.getChildren().addAll(icon, lbl); + StackPane iconSlot = new StackPane(icon); + iconSlot.setPrefSize(40, 40); + iconSlot.setMinSize(40, 40); + iconSlot.setMaxSize(40, 40); + iconSlot.setAlignment(Pos.CENTER); + content.getChildren().addAll(iconSlot, lbl); } else { content.getChildren().add(lbl); } @@ -251,16 +264,22 @@ public final class MainAppView { btn.setMinHeight(42); btn.setMaxWidth(Double.MAX_VALUE); - HBox content = new HBox(10); + HBox content = new HBox(12); content.setAlignment(Pos.CENTER_LEFT); Label lbl = new Label(text); lbl.getStyleClass().addAll("cyber-side-text", "serpro-side-text"); - lbl.setWrapText(true); + lbl.setWrapText(false); + lbl.setAlignment(Pos.CENTER_LEFT); HBox.setHgrow(lbl, Priority.ALWAYS); if (icon != null) { - content.getChildren().addAll(icon, lbl); + StackPane iconSlot = new StackPane(icon); + iconSlot.setPrefSize(26, 26); + iconSlot.setMinSize(26, 26); + iconSlot.setMaxSize(26, 26); + iconSlot.setAlignment(Pos.CENTER); + content.getChildren().addAll(iconSlot, lbl); } else { content.getChildren().add(lbl); } diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/PdfSignDialog.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/PdfSignDialog.java index c91b0db..07bee99 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/PdfSignDialog.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/PdfSignDialog.java @@ -488,7 +488,7 @@ public final class PdfSignDialog { resizeToolBox.setAlignment(Pos.CENTER_LEFT); resizeToolBox.setStyle("-fx-background-color: -fx-bg-primary; -fx-border-color: -fx-border-light; -fx-border-radius: 6px; -fx-padding: 2px 6px;"); - btnToggleResize = new Button("📏 Redimensionar"); + btnToggleResize = new Button(" Redimensionar", SvgIcons.zoomFitIcon(13)); btnToggleResize.getStyleClass().addAll("btn-secondary", "btn-compact"); btnToggleResize.setTooltip(new Tooltip("Ativar/desativar alça interativa para alterar o tamanho do selo")); btnToggleResize.setOnAction(e -> toggleResizeMode()); @@ -496,7 +496,7 @@ public final class PdfSignDialog { lblSealScaleIndicator = new Label("100%"); lblSealScaleIndicator.setStyle("-fx-font-size: 11px; -fx-font-weight: bold; -fx-min-width: 36px; -fx-alignment: center;"); - btnResetSealScale = new Button("↺ 100%"); + btnResetSealScale = new Button(" 100%", SvgIcons.refreshIcon(12)); btnResetSealScale.getStyleClass().addAll("btn-secondary", "btn-compact"); btnResetSealScale.setTooltip(new Tooltip("Restaurar tamanho padrão original (100%)")); btnResetSealScale.setVisible(false); @@ -507,7 +507,7 @@ public final class PdfSignDialog { Region tbSpacer = new Region(); HBox.setHgrow(tbSpacer, Priority.ALWAYS); - lblPositionFeedback = new Label("👉 Clique na folha para posicionar"); + lblPositionFeedback = new Label("Clique na folha para posicionar"); lblPositionFeedback.setStyle("-fx-font-size: 11.5px; -fx-text-fill: -fx-accent; -fx-font-weight: bold;"); toolbar.getChildren().addAll(pageNavBox, zoomBox, resizeToolBox, tbSpacer, lblPositionFeedback); diff --git a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/SignaturePromptDialog.java b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/SignaturePromptDialog.java index e304a75..5c6dc79 100644 --- a/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/SignaturePromptDialog.java +++ b/modules/cybercore-ui/src/main/java/br/com/cybercore/signer/ui/view/SignaturePromptDialog.java @@ -5,6 +5,7 @@ import br.com.cybercore.signer.core.domain.ManagedCertificate; import br.com.cybercore.signer.core.domain.SigningContext; import br.com.cybercore.signer.core.security.PinSessionManager; import br.com.cybercore.signer.ui.CyberCoreUiConstants; +import br.com.cybercore.signer.ui.components.SvgIcons; import br.com.cybercore.signer.ui.theme.ThemeManager; import javafx.geometry.Insets; import javafx.geometry.Pos; @@ -60,13 +61,23 @@ public class SignaturePromptDialog { root.getStyleClass().add("dialog-container"); root.setPrefWidth(540); - Label header = new Label(isAuthentication ? "🔑 SOLICITAÇÃO DE LOGIN DIGITAL" : "SOLICITAÇÃO DE ASSINATURA"); + HBox headerBox = new HBox(12); + headerBox.setAlignment(Pos.CENTER_LEFT); + + VBox titleBox = new VBox(2); + Label header = new Label(isAuthentication ? "SOLICITAÇÃO DE LOGIN DIGITAL" : "SOLICITAÇÃO DE ASSINATURA"); header.getStyleClass().add("dialog-header"); Label desc = new Label(isAuthentication ? "Uma aplicação web está solicitando autenticação de identidade com seu Certificado Digital ICP-Brasil." : "Uma aplicação web está solicitando a assinatura digital de um documento."); desc.getStyleClass().add("brand-subtitle"); + titleBox.getChildren().addAll(header, desc); + + headerBox.getChildren().addAll( + isAuthentication ? SvgIcons.certificatesIcon() : SvgIcons.cyberShieldLogo(26), + titleBox + ); // Caixa de Detalhes VBox detailsBox = new VBox(12); @@ -231,7 +242,7 @@ public class SignaturePromptDialog { actionsRow.getChildren().addAll(btnCancel, btnConfirm); - root.getChildren().addAll(header, desc, detailsBox, validationLabel, actionsRow); + root.getChildren().addAll(headerBox, detailsBox, validationLabel, actionsRow); Scene scene = new Scene(root); ThemeManager.applyTheme(scene); diff --git a/modules/cybercore-ui/src/main/resources/assets/README.md b/modules/cybercore-ui/src/main/resources/assets/README.md index d77f68b..91f8eef 100644 --- a/modules/cybercore-ui/src/main/resources/assets/README.md +++ b/modules/cybercore-ui/src/main/resources/assets/README.md @@ -1,6 +1,6 @@ -# Pasta de Ícones (SVG) e Imagens (PNG) — CyberCore Signer +# Recursos Visuais (Ícones e Imagens em SVG) — CyberCore Signer -Esta pasta é o repositório oficial onde você pode visualizar, customizar e substituir livremente os **ícones em SVG** e as **imagens em PNG** do **CyberCore Signer**. +Esta pasta é o repositório oficial onde você pode visualizar, customizar e substituir livremente todos os **ícones em SVG** e as **imagens em SVG** do **CyberCore Signer**. --- @@ -31,13 +31,23 @@ assets/ │ ├── seal.svg # Ícone Designer e Gerenciador de Selos Notariais │ ├── check.svg # Ícone Checkmark de sucesso e validação │ ├── error.svg # Ícone de Erro / Alerta em vermelho -│ └── star.svg # Ícone de Estrela notarial / favorita +│ ├── star.svg # Ícone de Estrela notarial / favorita +│ ├── close.svg # Ícone Fechar / Cancelar (cruz geométrica moderna) +│ ├── arrow-right.svg # Ícone Avançar / Seta direcional +│ ├── zoom-in.svg # Ícone Zoom In (+) +│ ├── zoom-out.svg # Ícone Zoom Out (-) +│ ├── zoom-fit.svg # Ícone Ajustar à Tela +│ └── refresh.svg # Ícone Atualizar / Recarregar listas e status │ -└── images/ # Imagens de alta fidelidade em PNG com canal alfa (transparência) - ├── app-icon.png # Ícone oficial do app (256x256 px - Diamante 3D azul Serpro) - ├── app-logo.png # Logotipo horizontal oficial (480x120 px - CyberCore SIGNER) - ├── brand-banner.png # Banner de cabeçalho e marca (600x160 px - Serpro Blue) - └── default-seal.png # Selo de assinatura padrão ICP-Brasil (640x164 px) +└── images/ # Imagens vetoriais SVG editáveis (com cópias PNG de fallback) + ├── app-icon.svg # Ícone oficial do app em SVG (Cristal/Diamante 3D azul) + ├── app-icon.png # Fallback em PNG (256x256 px) + ├── app-logo.svg # Logotipo horizontal oficial em SVG (CyberCore SIGNER) + ├── app-logo.png # Fallback em PNG (480x120 px) + ├── brand-banner.svg # Banner de cabeçalho e marca em SVG (600x160 px) + ├── brand-banner.png # Fallback em PNG (600x160 px) + ├── default-seal.svg # Selo de assinatura padrão ICP-Brasil em SVG (640x164 px) + └── default-seal.png # Fallback em PNG (640x164 px) ``` --- @@ -45,20 +55,21 @@ assets/ ## 🎨 Como Customizar Qualquer Ícone ou Imagem 1. **Ícones:** - - Estão no formato `.svg` padrão. - - Podem ser editados diretamente no seu editor de código (VS Code, etc.) ou em editores vetoriais como **Inkscape, Figma ou Illustrator**. - - Se preferir colocar uma imagem bitmap para um ícone específico, você também pode colocar um `.png` (ex: `pdf.png`). O sistema prioriza `.svg` e aceita `.png` com fallback transparente. + - Todos estão no formato `.svg` padrão da W3C. + - Podem ser abertos e editados diretamente em editores de texto/código (VS Code) ou ferramentas vetoriais como **Inkscape, Figma, Adobe Illustrator**. + - Se preferir usar um arquivo bitmap para algum ícone específico, basta salvar um `.png` correspondente na pasta (ex: `pdf.png`). O sistema detecta e renderiza automaticamente. 2. **Imagens do Sistema:** - - Estão no formato `.png` com canal alfa de 32 bits (fundo transparente). - - Você pode substituir `app-logo.png`, `app-icon.png`, `brand-banner.png` ou `default-seal.png` pelo logotipo e identidade visual da sua instituição ou empresa. + - Tanto o logotipo horizontal (`app-logo.svg`), o ícone do sistema (`app-icon.svg`), o banner institucional (`brand-banner.svg`) e o selo notarial padrão (`default-seal.svg`) agora são arquivos **SVG vetoriais editáveis**. + - Você pode alterar cores, tipografias, brasões e dimensões diretamente nos arquivos SVG. + - O `AssetManager` renderiza os arquivos SVG preservando fidelidade geométrica e suportando gradientes e alinhamentos. -3. **Ordem de Prioridade e Hot-Reloading:** - Quando a aplicação busca um ícone ou imagem, a resolução ocorre na ordem: - 1. **Pasta Física Local (`./assets/icons/` e `./assets/images/`)**: Qualquer alteração feita aqui entra em vigor imediatamente ao abrir a janela ou reiniciar a aplicação, sem necessidade de recompilar! - 2. **Pasta do Usuário (`~/.cybercore/assets/`)**: Configurações específicas por usuário do sistema operacional. - 3. **Resources Empacotados no JAR (`/assets/`)**: Cópia empacotada internamente no `.jar`. - 4. **Fallback Vetorial Nativo (`SvgIcons`)**: Garantia de que a interface nunca fique em branco caso algum arquivo seja excluído. +3. **Ordem de Resolução e Carregamento:** + Ao requisitar qualquer elemento gráfico, a aplicação segue a ordem de prioridade: + 1. **Pasta Física Local (`./assets/icons/` e `./assets/images/`)**: Arquivos `.svg` editados aqui têm prioridade máxima e entram em vigor imediatamente sem necessidade de recompilar. + 2. **Pasta do Usuário (`~/.cybercore/assets/`)**: Para customizações no diretório pessoal do usuário. + 3. **Recursos Empacotados no JAR (`/assets/`)**: SVGs e imagens internas empacotadas no pacote de distribuição. + 4. **Fallback Vetorial Nativo (`SvgIcons`)**: Garantia de que a interface nunca fique desprovida de grafismos caso algum arquivo seja removido. --- diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/about.svg b/modules/cybercore-ui/src/main/resources/assets/icons/about.svg index dd4abb9..f6aac90 100644 --- a/modules/cybercore-ui/src/main/resources/assets/icons/about.svg +++ b/modules/cybercore-ui/src/main/resources/assets/icons/about.svg @@ -1,5 +1,6 @@ - - - - + + + + + \ No newline at end of file diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/arrow-right.svg b/modules/cybercore-ui/src/main/resources/assets/icons/arrow-right.svg new file mode 100644 index 0000000..1db6d0c --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/icons/arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/close.svg b/modules/cybercore-ui/src/main/resources/assets/icons/close.svg new file mode 100644 index 0000000..3f6cc79 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/icons/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/moon.svg b/modules/cybercore-ui/src/main/resources/assets/icons/moon.svg index fd47105..9eb6f1a 100644 --- a/modules/cybercore-ui/src/main/resources/assets/icons/moon.svg +++ b/modules/cybercore-ui/src/main/resources/assets/icons/moon.svg @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/refresh.svg b/modules/cybercore-ui/src/main/resources/assets/icons/refresh.svg new file mode 100644 index 0000000..8ee09d9 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/icons/refresh.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/settings.svg b/modules/cybercore-ui/src/main/resources/assets/icons/settings.svg index e0f4042..0a8dbc2 100644 --- a/modules/cybercore-ui/src/main/resources/assets/icons/settings.svg +++ b/modules/cybercore-ui/src/main/resources/assets/icons/settings.svg @@ -1,8 +1,4 @@ - - - - - - + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/zoom-fit.svg b/modules/cybercore-ui/src/main/resources/assets/icons/zoom-fit.svg new file mode 100644 index 0000000..201271c --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/icons/zoom-fit.svg @@ -0,0 +1,3 @@ + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/zoom-in.svg b/modules/cybercore-ui/src/main/resources/assets/icons/zoom-in.svg new file mode 100644 index 0000000..6783075 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/icons/zoom-in.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/icons/zoom-out.svg b/modules/cybercore-ui/src/main/resources/assets/icons/zoom-out.svg new file mode 100644 index 0000000..3882ea9 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/icons/zoom-out.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/images/app-icon.svg b/modules/cybercore-ui/src/main/resources/assets/images/app-icon.svg new file mode 100644 index 0000000..10d2692 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/images/app-icon.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/cybercore-ui/src/main/resources/assets/images/app-logo.svg b/modules/cybercore-ui/src/main/resources/assets/images/app-logo.svg new file mode 100644 index 0000000..ed887e6 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/images/app-logo.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CyberCore + + + + SIGNER + + + ICP-Brasil • Assinador Digital Seguro + diff --git a/modules/cybercore-ui/src/main/resources/assets/images/brand-banner.svg b/modules/cybercore-ui/src/main/resources/assets/images/brand-banner.svg new file mode 100644 index 0000000..d133d1c --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/images/brand-banner.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CyberCore Signer + Agente de Assinatura Digital ICP-Brasil A1 & A3 + PADES • XADES • CADES • TIMESTAMPS • CCSP/1 + diff --git a/modules/cybercore-ui/src/main/resources/assets/images/default-seal.svg b/modules/cybercore-ui/src/main/resources/assets/images/default-seal.svg new file mode 100644 index 0000000..4b7c026 --- /dev/null +++ b/modules/cybercore-ui/src/main/resources/assets/images/default-seal.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + ASSINADO + DIGITALMENTE + + + + ★ + + ICP-BRASIL + + + + + + DOCUMENTO ASSINADO DIGITALMENTE POR: + NOME DO TITULAR DO CERTIFICADO + CPF: ***.000.000-** + Data e Hora: 11/10/2026 12:00:00 -03:00 + A conformidade com a ICP-Brasil pode ser verificada no ITI. + diff --git a/modules/cybercore-ui/src/test/java/br/com/cybercore/signer/ui/assets/AssetManagerTest.java b/modules/cybercore-ui/src/test/java/br/com/cybercore/signer/ui/assets/AssetManagerTest.java new file mode 100644 index 0000000..0b26b0d --- /dev/null +++ b/modules/cybercore-ui/src/test/java/br/com/cybercore/signer/ui/assets/AssetManagerTest.java @@ -0,0 +1,58 @@ +package br.com.cybercore.signer.ui.assets; + +import br.com.cybercore.signer.ui.components.SvgIcons; +import javafx.scene.Node; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import java.io.InputStream; + +import static org.assertj.core.api.Assertions.assertThat; + +class AssetManagerTest { + + @Test + @DisplayName("Deve carregar imagens institucionais em SVG do classpath ou pasta de assets") + void shouldLoadSvgImages() { + Node logo = AssetManager.getImageOrDefault("app-logo", 480, 120, null); + assertThat(logo).isNotNull(); + + Node banner = AssetManager.getImageOrDefault("brand-banner", 600, 160, null); + assertThat(banner).isNotNull(); + + Node icon = AssetManager.getImageOrDefault("app-icon", 256, 256, null); + assertThat(icon).isNotNull(); + + Node seal = AssetManager.getImageOrDefault("default-seal", 640, 164, null); + assertThat(seal).isNotNull(); + } + + @Test + @DisplayName("Deve carregar ícones SVG dinâmicos através do AssetManager") + void shouldLoadSvgIcons() { + String[] iconNames = { + "pdf", "xml", "file", "batch", "attached", "co-sign", + "timestamp", "ltv", "validate", "validate-timestamp", "exit", + "logs", "settings", "tutorial", "cert", "about", "sun", "moon", + "shield", "seal", "check", "error", "star", "close", "arrow-right", + "zoom-in", "zoom-out", "zoom-fit", "refresh" + }; + + for (String name : iconNames) { + Node iconNode = AssetManager.getIconOrDefault(name, 24, null); + assertThat(iconNode).withFailMessage("Ícone SVG não encontrado ou nulo: %s", name).isNotNull(); + } + } + + @Test + @DisplayName("Deve instanciar nós de ícones via fábrica SvgIcons com fallback") + void shouldCreateNodesViaSvgIcons() { + assertThat(SvgIcons.closeIcon(16)).isNotNull(); + assertThat(SvgIcons.arrowRightIcon(16)).isNotNull(); + assertThat(SvgIcons.zoomInIcon(16)).isNotNull(); + assertThat(SvgIcons.zoomOutIcon(16)).isNotNull(); + assertThat(SvgIcons.zoomFitIcon(16)).isNotNull(); + assertThat(SvgIcons.refreshIcon(16)).isNotNull(); + assertThat(SvgIcons.createAppCrystalLogo(48)).isNotNull(); + } +}