veza/apps/web/dist_verification/assets/alert-FT0GWKW4.js
senke 04c25aa24f Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy
Bloc A - Code mort:
- Suppression Studio (components, views, features)
- Suppression gamification + services mock (projectService, storageService, gamificationService)
- Mise à jour Sidebar, Navbar, locales

Bloc B - Frontend:
- Suppression modal.tsx deprecated, Modal.stories (doublon Dialog)
- Feature flags: PLAYLIST_SEARCH, PLAYLIST_RECOMMENDATIONS, ROLE_MANAGEMENT = true
- Suppression 19 tests orphelins, retrait exclusions vitest.config

Bloc C - Backend:
- Extraction routes_auth.go depuis router.go

Bloc D - Rust:
- Suppression security_legacy.rs (code mort, patterns déjà dans security/)
2026-02-14 17:23:32 +01:00

1 line
1.6 KiB
JavaScript

import{a as t,j as e}from"./vendor-react-yWUy5XPk.js";import{c as i}from"./index-CYK_b1Uz.js";import{X as p,e as u,b as g,d as h,I as b}from"./vendor-icons-DJFb1Tiw.js";const N=t.forwardRef(({variant:s="default",title:r,onClose:a,className:l,children:d,...x},m)=>{const f={destructive:"error",default:"info"}[s]||s,o={info:"bg-muted/10 border-border/30 text-muted-foreground",success:"bg-success/10 border-success/30 text-success",warning:"bg-warning/10 border-warning/30 text-warning",error:"bg-destructive/10 border-destructive/30 text-destructive"},c={info:e.jsx(b,{className:"w-5 h-5 flex-shrink-0"}),success:e.jsx(h,{className:"w-5 h-5 flex-shrink-0"}),warning:e.jsx(g,{className:"w-5 h-5 flex-shrink-0"}),error:e.jsx(u,{className:"w-5 h-5 flex-shrink-0"})},n=f;return e.jsxs("div",{ref:m,role:"alert",className:i("p-4 rounded-lg border flex gap-4",o[n]||o.info,l),...x,children:[c[n]||c.info,e.jsxs("div",{className:"flex-1",children:[r&&e.jsx("h5",{className:"font-bold mb-1",children:r}),e.jsx("div",{className:"text-sm opacity-90",children:d})]}),a&&e.jsx("button",{onClick:a,className:"opacity-70 hover:opacity-100 transition-opacity","aria-label":"Fermer l'alerte",children:e.jsx(p,{className:"w-4 h-4"})})]})});N.displayName="Alert";const j=t.forwardRef(({className:s,...r},a)=>e.jsx("h5",{ref:a,className:i("mb-1 font-bold leading-none tracking-tight text-foreground",s),...r}));j.displayName="AlertTitle";const w=t.forwardRef(({className:s,...r},a)=>e.jsx("div",{ref:a,className:i("text-sm opacity-90 [&_p]:leading-relaxed",s),...r}));w.displayName="AlertDescription";export{N as A,w as a};