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/)
1 line
721 B
JavaScript
1 line
721 B
JavaScript
import{a as o,j as x}from"./vendor-react-yWUy5XPk.js";import{c as A}from"./index-CYK_b1Uz.js";function R({end:t,duration:r=1e3,enabled:n=!0,decimals:e=0}){const[s,u]=o.useState(0),c=o.useRef(),a=o.useRef();return o.useEffect(()=>{if(!n||t===0){u(t);return}const i=m=>{a.current||(a.current=m);const f=Math.min((m-a.current)/r,1),p=(1-Math.pow(1-f,3))*t;u(Number(p.toFixed(e))),f<1&&(c.current=requestAnimationFrame(i))};return c.current=requestAnimationFrame(i),()=>{c.current&&cancelAnimationFrame(c.current)}},[t,r,n,e]),s}function j({value:t,duration:r=1e3,className:n,format:e}){const s=R({end:t,duration:r}),u=e?e(s):s.toLocaleString();return x.jsx("span",{className:A("tabular-nums",n),children:u})}export{j as A};
|