From 0b3a536305c662232aabefa869e586b9491c711d Mon Sep 17 00:00:00 2001 From: Naves <58537948+Navesz@users.noreply.github.com> Date: Mon, 24 Aug 2026 02:22:30 -0300 Subject: [PATCH] feat: expose canonical audit JSON --- README.md | 3 +++ app/globals.css | 17 ++++++++++++++--- app/page.tsx | 8 ++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e096b15..7a43f00 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,9 @@ uma origem externa legítima, como um ambiente local, fica identificada sem vira um link confiável por acidente. A rota `GET /api/audit?login=octocat` expõe o mesmo retrato para integrações. +Cada perfil carregado também oferece um link direto para esse JSON canônico em +uma nova aba, sem reutilizar a chave temporária de atualização nem incluir o +histórico privado do navegador. Respostas bem-sucedidas carregam `schemaVersion: 2` no corpo e o cabeçalho `X-Constellation-Schema-Version: 2`. A versão 2 distingue conquistas ativas, históricas e ainda desconhecidas, além de publicar uma fonte oficial quando diff --git a/app/globals.css b/app/globals.css index 5a4b217..6544c8e 100644 --- a/app/globals.css +++ b/app/globals.css @@ -557,7 +557,8 @@ footer { .share-button, .report-button, .html-report-button, -.data-button { +.data-button, +.api-data-link { min-height: 34px; border: 1px solid var(--ink); padding: 0 12px; @@ -571,9 +572,17 @@ footer { transition: background 160ms ease, color 160ms ease; } +.api-data-link { + display: inline-flex; + align-items: center; + gap: 5px; + text-decoration: none; +} + .report-button, .html-report-button, -.data-button { +.data-button, +.api-data-link { border-color: var(--line-strong); } @@ -585,7 +594,9 @@ footer { .share-button:hover:not(:disabled), .report-button:hover:not(:disabled), .html-report-button:hover:not(:disabled), -.data-button:hover:not(:disabled) { +.data-button:hover:not(:disabled), +.api-data-link:hover, +.api-data-link:focus-visible { color: var(--paper-bright); background: var(--ink); } diff --git a/app/page.tsx b/app/page.tsx index 3d13e15..922cd1f 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1694,6 +1694,14 @@ function Observatory() { > {comparisonLoading ? "Preparando comparação" : "Baixar dados .json"} + + Abrir JSON da API + {activeShareState !== "idle" && activeShareState !== "sharing" ? (