feat: badge Infra (amber) pour Portail et Dashboard dans AppsPage et InventairePage
This commit is contained in:
parent
0a378d91ca
commit
312ce634b9
|
|
@ -117,8 +117,19 @@ export default function AppCard({ app, commits, onRefresh }) {
|
||||||
|
|
||||||
const latestCommit = commits && commits.length > 0 ? commits[0] : null;
|
const latestCommit = commits && commits.length > 0 ? commits[0] : null;
|
||||||
|
|
||||||
|
// Apps d'infrastructure : portail et dashboard
|
||||||
|
const isInfra = ['portail-santinova', 'manus-dashboard'].includes(app.id);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="card overflow-hidden">
|
<div className={`card overflow-hidden${isInfra ? ' border border-amber-500/30 bg-amber-950/10' : ''}`}>
|
||||||
|
{/* Badge infra */}
|
||||||
|
{isInfra && (
|
||||||
|
<div className="px-6 pt-3 pb-0">
|
||||||
|
<span className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-semibold bg-amber-500/15 text-amber-400 border border-amber-500/30">
|
||||||
|
⚙ Infrastructure
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="p-6 border-b border-dark-700">
|
<div className="p-6 border-b border-dark-700">
|
||||||
<div className="flex items-start justify-between">
|
<div className="flex items-start justify-between">
|
||||||
|
|
|
||||||
|
|
@ -247,14 +247,21 @@ export default function InventairePage() {
|
||||||
<td key={i} className="px-3 py-3 text-center">
|
<td key={i} className="px-3 py-3 text-center">
|
||||||
<div className="h-5 bg-dark-700 rounded animate-pulse mx-auto w-24" />
|
<div className="h-5 bg-dark-700 rounded animate-pulse mx-auto w-24" />
|
||||||
</td>
|
</td>
|
||||||
))}
|
})}
|
||||||
</tr>
|
</tr>
|
||||||
))
|
))
|
||||||
: inventory.map((app) => (
|
: inventory.map((app) => {
|
||||||
<tr key={app.id} className="hover:bg-dark-800/30 transition-colors">
|
const isInfra = ['portail-santinova', 'manus-dashboard'].includes(app.id);
|
||||||
|
return (
|
||||||
|
<tr key={app.id} className={`hover:bg-dark-800/30 transition-colors${isInfra ? ' bg-amber-950/10 border-l-2 border-amber-500/40' : ''}`}>
|
||||||
<td className="px-4 py-3">
|
<td className="px-4 py-3">
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<span className="text-sm font-medium text-white">{app.name}</span>
|
<div className="flex items-center gap-2">
|
||||||
|
<span className={`text-sm font-medium ${isInfra ? 'text-amber-300' : 'text-white'}`}>{app.name}</span>
|
||||||
|
{isInfra && (
|
||||||
|
<span className="text-xs px-1.5 py-0.5 rounded bg-amber-500/15 text-amber-400 border border-amber-500/25 font-semibold">Infra</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
<span className="text-xs text-gray-500 mt-0.5">{app.repoName}</span>
|
<span className="text-xs text-gray-500 mt-0.5">{app.repoName}</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
@ -289,7 +296,7 @@ export default function InventairePage() {
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
))}
|
})}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue