mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
- 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
133 lines
1.9 KiB
CSS
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);
|
|
}
|