diff --git a/app/routers/chave_manual.py b/app/routers/chave_manual.py new file mode 100644 index 0000000..56abdbe --- /dev/null +++ b/app/routers/chave_manual.py @@ -0,0 +1,19 @@ +""" +Calculadora de chave de reativação, para uso manual (reenvio/correção +pontual). 100% client-side (mesmo algoritmo gerarReativacao já usado no +workflow n8n e em Gerar chave WEB/index.html) — esta rota só serve a +página; NUNCA grava em Clientes_Chaves. +""" +from fastapi import APIRouter, Depends, Request +from fastapi.responses import HTMLResponse +from fastapi.templating import Jinja2Templates + +from ..auth import exigir_login + +router = APIRouter() +templates = Jinja2Templates(directory="app/templates") + + +@router.get("/gerador-chave", response_class=HTMLResponse) +def pagina(request: Request, usuario: str = Depends(exigir_login)): + return templates.TemplateResponse(request, "gerador_chave.html", {}) diff --git a/app/static/logo-gti-256x256.png b/app/static/logo-gti-256x256.png new file mode 100644 index 0000000..574db00 Binary files /dev/null and b/app/static/logo-gti-256x256.png differ diff --git a/app/templates/gerador_chave.html b/app/templates/gerador_chave.html new file mode 100644 index 0000000..f6d9042 --- /dev/null +++ b/app/templates/gerador_chave.html @@ -0,0 +1,85 @@ +{% extends "base.html" %} +{% block titulo %}Gerador de Chave de Reativação{% endblock %} +{% block conteudo %} +
+