Deploy Inicial do SteelCheck com Docker Build Automatizado

This commit is contained in:
2026-06-23 00:05:22 +00:00
parent a0855ab2e2
commit 8fc62aeb0f
2 changed files with 52 additions and 305 deletions
+25 -25
View File
@@ -118,20 +118,20 @@ export const ReportDisplay: React.FC<ReportDisplayProps> = ({ report }) => {
<section className="grid grid-cols-1 md:grid-cols-12 gap-5 mb-5">
{/* Propriedades Mecânicas (Esquerda) */}
<div className="col-span-1 md:col-span-7 flex flex-col">
<div className="col-span-1 md:col-span-6 flex flex-col">
<h3 className="text-[10px] uppercase font-bold tracking-wider text-slate-400 dark:text-slate-500 mb-2.5 flex items-center gap-1.5">
<span className="w-1.5 h-1.5 bg-slate-400 dark:bg-slate-500 rounded-full"></span>
2. Propriedades Mecânicas
</h3>
<div className="flex-grow border border-slate-100 dark:border-slate-800 rounded-xl overflow-hidden bg-white dark:bg-slate-900 shadow-sm flex flex-col justify-between">
<div className="overflow-x-auto">
<table className="w-full text-left border-collapse text-xs">
<div className="overflow-hidden">
<table className="w-full table-fixed text-left border-collapse text-xs">
<thead>
<tr className="bg-slate-50 dark:bg-slate-800/50 border-b border-slate-100 dark:border-slate-800 text-[9px] text-slate-400 dark:text-slate-500 font-bold uppercase tracking-wider">
<th className="py-2.5 px-3">Propriedade</th>
<th className="py-2.5 px-2">Certificado</th>
<th className="py-2.5 px-2 text-center">% Rel.</th>
<th className="py-2.5 px-3 text-right">Status</th>
<th className="py-2.5 px-2 w-[35%] truncate">Propriedade</th>
<th className="py-2.5 px-1 w-[25%] truncate">Certif.</th>
<th className="py-2.5 px-1 w-[15%] text-center truncate">% Rel.</th>
<th className="py-2.5 px-1 w-[25%] text-right truncate">Status</th>
</tr>
</thead>
<tbody className="divide-y divide-slate-50 dark:divide-slate-800/50">
@@ -140,17 +140,17 @@ export const ReportDisplay: React.FC<ReportDisplayProps> = ({ report }) => {
const diffColor = isPositive ? 'text-emerald-600 dark:text-emerald-400' : 'text-rose-600 dark:text-rose-400';
return (
<tr key={i}>
<td className="py-2.5 px-3">
<span className="font-semibold block text-slate-800 dark:text-slate-200">{item.property}</span>
<td className="py-2.5 px-2 truncate">
<span className="font-semibold block text-slate-800 dark:text-slate-200" title={item.property}>{item.property}</span>
</td>
<td className="py-2.5 px-2 font-mono font-bold text-slate-700 dark:text-slate-300">{item.certificate}</td>
<td className="py-2.5 px-2 text-center">
<td className="py-2.5 px-1 font-mono font-bold text-slate-700 dark:text-slate-300 truncate" title={item.certificate}>{item.certificate}</td>
<td className="py-2.5 px-1 text-center truncate">
{item.differencePercentage ? (
<span className={`text-[9px] font-bold ${diffColor}`}>{item.differencePercentage}</span>
) : <span className="text-slate-300 dark:text-slate-600">-</span>}
</td>
<td className="py-2.5 px-3 text-right">
<span className={`inline-flex items-center gap-1 text-[10px] font-bold px-2 py-0.5 rounded ${statusClass(item.status)}`}>
<td className="py-2.5 px-1 text-right">
<span className={`inline-flex items-center gap-1 text-[9px] font-bold px-1.5 py-0.5 rounded ${statusClass(item.status)}`}>
{statusIcon(item.status)} {item.status}
</span>
</td>
@@ -172,30 +172,30 @@ export const ReportDisplay: React.FC<ReportDisplayProps> = ({ report }) => {
</div>
{/* Composição Química (Direita) */}
<div className="col-span-1 md:col-span-5 flex flex-col">
<div className="col-span-1 md:col-span-6 flex flex-col">
<h3 className="text-[10px] uppercase font-bold tracking-wider text-slate-400 dark:text-slate-500 mb-2.5 flex items-center gap-1.5">
<span className="w-1.5 h-1.5 bg-slate-400 dark:bg-slate-500 rounded-full"></span>
3. Composição Química (%)
</h3>
<div className="flex-grow border border-slate-100 dark:border-slate-800 rounded-xl overflow-hidden bg-white dark:bg-slate-900 shadow-sm flex flex-col justify-start">
<div className="overflow-x-auto">
<table className="w-full text-left border-collapse text-xs">
<div className="overflow-hidden">
<table className="w-full table-fixed text-left border-collapse text-xs">
<thead>
<tr className="bg-slate-50 dark:bg-slate-800/50 border-b border-slate-100 dark:border-slate-800 text-[9px] text-slate-400 dark:text-slate-500 font-bold uppercase tracking-wider">
<th className="py-2 px-3">Elem.</th>
<th className="py-2 px-2">Norma de Referência</th>
<th className="py-2 px-2">Valor Certificado</th>
<th className="py-2 px-3 text-right">Status</th>
<th className="py-2 px-2 w-[15%] truncate">Elem.</th>
<th className="py-2 px-1 w-[40%] truncate">Norma Referência</th>
<th className="py-2 px-1 w-[25%] truncate">Certificado</th>
<th className="py-2 px-1 w-[20%] text-right truncate">Status</th>
</tr>
</thead>
<tbody className="divide-y divide-slate-50 dark:divide-slate-800/50 font-mono">
{compliance.chemical.map((item, i) => (
<tr key={i}>
<td className="py-2 px-3 font-sans font-semibold text-slate-800 dark:text-slate-200">{item.element}</td>
<td className="py-2 px-2 text-slate-400 dark:text-slate-500 text-[10px]">{item.norm}</td>
<td className="py-2 px-2 font-bold text-slate-700 dark:text-slate-300">{item.certificate}</td>
<td className="py-2 px-3 text-right">
<span className={`inline-flex items-center text-[10px] font-bold px-1.5 py-0.5 rounded ${statusClass(item.status)}`}>
<td className="py-2 px-2 font-sans font-semibold text-slate-800 dark:text-slate-200 truncate" title={item.element}>{item.element}</td>
<td className="py-2 px-1 text-slate-400 dark:text-slate-500 text-[9px] leading-tight truncate" title={item.norm}>{item.norm}</td>
<td className="py-2 px-1 font-bold text-slate-700 dark:text-slate-300 truncate" title={item.certificate}>{item.certificate}</td>
<td className="py-2 px-1 text-right">
<span className={`inline-flex items-center text-[9px] font-bold px-1.5 py-0.5 rounded ${statusClass(item.status)}`}>
{item.status}
</span>
</td>