import 'package:flutter/material.dart'; class AuthScreen extends StatefulWidget { const AuthScreen({super.key}); @override State createState() => _AuthScreenState(); } class _AuthScreenState extends State { bool _isLoading = false; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Authentication'), elevation: 0, backgroundColor: Theme.of(context).colorScheme.surface, ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Icon( Icons.music_note, size: 80, color: Colors.blue, ), const SizedBox(height: 24), const Text( 'SwingMusic', style: TextStyle( fontSize: 24, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 8), const Text( 'Connect to your music library', style: TextStyle( fontSize: 16, color: Colors.grey, ), textAlign: TextAlign.center, ), const SizedBox(height: 32), ElevatedButton( onPressed: _isLoading ? null : _handleLogin, style: ElevatedButton.styleFrom( backgroundColor: Colors.blue, foregroundColor: Colors.white, ), child: _isLoading ? const SizedBox( width: 20, height: 20, child: CircularProgressIndicator( strokeWidth: 2, valueColor: AlwaysStoppedAnimation(Colors.white), ), ) : const Text('Login'), ), ], ), ), ); } void _handleLogin() async { setState(() { _isLoading = true; }); await Future.delayed(const Duration(seconds: 2)); setState(() { _isLoading = false; }); ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('Login successful!')), ); Navigator.of(context).pushNamedAndRemoveUntil('/', (route) => false); } }