close #10: Al crear un plan de manera manual o con IA y redirigirse a planes/{$planId}/datos, sale el confetti. close #21: Los archivos que se adjuntan en el wizard ya no se pueden subir mas que una vez. close #24: El input de número de ciclos ahora solo permite enteros positivos mayores a 0. close #25: Se quitó el botón de generar borrador. Al adjuntar el primer archivo al wizard, se hace scroll hasta el dropzone. Los archivos añadidos se listan desde el más reciente al más antiguo. Se indica claramente el número de archivos adjuntos y el número máximo de archivos que se pueden adjuntar.
49 lines
1.0 KiB
TypeScript
49 lines
1.0 KiB
TypeScript
// src/components/ui/lateral-confetti.tsx
|
|
|
|
import confetti from 'canvas-confetti'
|
|
|
|
export function lateralConfetti() {
|
|
// 1. Reset para limpiar cualquier configuración vieja pegada en memoria
|
|
confetti.reset()
|
|
|
|
const duration = 1500
|
|
const end = Date.now() + duration
|
|
|
|
// 2. Colores vibrantes (cálidos primero)
|
|
const vibrantColors = [
|
|
'#FF0000', // Rojo puro
|
|
'#fcff42', // Amarillo
|
|
'#88ff5a', // Verde
|
|
'#26ccff', // Azul
|
|
'#a25afd', // Morado
|
|
]
|
|
|
|
;(function frame() {
|
|
const commonSettings = {
|
|
particleCount: 5,
|
|
spread: 55,
|
|
// origin: { x: 0.5 }, // No necesario si definimos origin abajo, pero útil en otros contextos
|
|
colors: vibrantColors,
|
|
zIndex: 99999,
|
|
}
|
|
|
|
// Cañón izquierdo
|
|
confetti({
|
|
...commonSettings,
|
|
angle: 60,
|
|
origin: { x: 0, y: 0.6 },
|
|
})
|
|
|
|
// Cañón derecho
|
|
confetti({
|
|
...commonSettings,
|
|
angle: 120,
|
|
origin: { x: 1, y: 0.6 },
|
|
})
|
|
|
|
if (Date.now() < end) {
|
|
requestAnimationFrame(frame)
|
|
}
|
|
})()
|
|
}
|