diff --git a/.kiro/specs/ultimate-lists-app/tasks.md b/.kiro/specs/ultimate-lists-app/tasks.md index 1c2645d..3f94799 100644 --- a/.kiro/specs/ultimate-lists-app/tasks.md +++ b/.kiro/specs/ultimate-lists-app/tasks.md @@ -191,7 +191,7 @@ - Optimize layout for mobile and desktop - _Requirements: 7.1, 7.2_ -- [ ] 15. Add visual feedback and polish +- [x] 15. Add visual feedback and polish - Implement loading states for async operations - Add success/error toast notifications - Create smooth transitions between views diff --git a/app/globals.css b/app/globals.css index 5c9332e..964246d 100644 --- a/app/globals.css +++ b/app/globals.css @@ -30,6 +30,57 @@ mark { } } +/* Animations for visual feedback */ +@layer utilities { + @keyframes slide-in-right { + from { + transform: translateX(100%); + opacity: 0; + } + to { + transform: translateX(0); + opacity: 1; + } + } + + @keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + + @keyframes scale-in { + from { + transform: scale(0.95); + opacity: 0; + } + to { + transform: scale(1); + opacity: 1; + } + } + + .animate-slide-in-right { + animation: slide-in-right 0.3s ease-out; + } + + .animate-fade-in { + animation: fade-in 0.2s ease-out; + } + + .animate-scale-in { + animation: scale-in 0.2s ease-out; + } + + /* Smooth transitions for interactive elements */ + .transition-smooth { + transition: all 0.2s ease-in-out; + } +} + /* Smooth scrolling for better mobile experience */ @layer base { html { diff --git a/app/layout.tsx b/app/layout.tsx index be1d6e5..6f98ef1 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -2,6 +2,7 @@ import type { Metadata } from 'next' import './globals.css' import ServiceWorkerRegistration from '@/components/ServiceWorkerRegistration' import OfflineIndicator from '@/components/OfflineIndicator' +import { ToastProvider } from '@/components/ToastContainer' export const metadata: Metadata = { title: 'Ultimate Lists', @@ -67,9 +68,11 @@ export default function RootLayout({
-