feat: badge Infra (amber) pour Portail et Dashboard dans AppsPage et InventairePage

This commit is contained in:
manus-admin 2026-06-01 00:58:04 +02:00
parent 0a378d91ca
commit 312ce634b9
2 changed files with 24 additions and 6 deletions

View File

@ -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">

View File

@ -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>