Files
noteflow/public/css/animations.css
T
Claude 7dd01f6113 JavaScript: Implémentation complète RSS, OpenRouter et administration
- Admin: Système de tabs pour Users/RSS/OpenRouter
- Admin: Modal de changement de mot de passe (sans prompts navigateur)
- RSS: CRUD complet des flux RSS (ajout, toggle, suppression)
- RSS: Fetch et affichage des 10 derniers articles
- RSS: Click sur article ouvre dans nouvel onglet
- RSS: Bouton résumé IA avec OpenRouter (crée une note)
- OpenRouter: Chargement/sauvegarde des paramètres (API key, modèle, prompt)
- OpenRouter: Sélecteur de modèles avec recherche/filtre
- OpenRouter: Prompt par défaut optimisé pour synthèse d'articles
- Animations: Ajout spinner pour états de chargement
- Event delegation pour toutes les nouvelles interactions
2025-11-11 15:59:38 +00:00

133 lines
1.9 KiB
CSS

/* Animations CSS */
/* Fade in */
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* Backdrop fade */
@keyframes backdropFade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* Modal open animation */
@keyframes modalOpen {
from {
opacity: 0;
transform: scale(0.85) translateY(20px);
}
to {
opacity: 1;
transform: scale(1) translateY(0);
}
}
/* Slide in from bottom */
@keyframes slideInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Slide in from right */
@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
/* Card hover animation */
@keyframes cardHover {
from {
transform: translateY(0);
}
to {
transform: translateY(-4px);
}
}
/* Pulse animation */
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
/* Spin animation */
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
/* Application des animations */
.modal-backdrop {
animation: backdropFade var(--transition-slow) ease;
}
.modal-content {
animation: modalOpen 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.note-card {
animation: slideInUp 0.3s ease;
}
.todo-item {
animation: slideInRight 0.2s ease;
}
.user-dropdown {
animation: slideInUp 0.2s ease;
}
/* Loading state */
.loading {
animation: pulse 1.5s ease-in-out infinite;
}
.spinning {
animation: spin 1s linear infinite;
}
.spinner {
animation: spin 1s linear infinite;
width: 20px;
height: 20px;
}
/* Smooth transitions */
.smooth-transition {
transition: all var(--transition-base);
}
.smooth-transition-slow {
transition: all var(--transition-slow);
}