import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:accessible_terminal/state/terminal_provider.dart'; import 'package:accessible_terminal/ui/views/connection_view.dart'; import 'package:accessible_terminal/ui/views/terminal_view.dart'; class TabletScreen extends ConsumerStatefulWidget { const TabletScreen({super.key}); @override ConsumerState createState() => _TabletScreenState(); } class _TabletScreenState extends ConsumerState { bool _isCreatingNew = false; @override Widget build(BuildContext context) { final isConnected = ref.watch(connectionStateProvider); return Scaffold( body: Row( children: [ // Left Panel: Saved Connections List SizedBox( width: 320, child: SavedConnectionsList( onCreateNew: () { setState(() => _isCreatingNew = true); }, ), ), const VerticalDivider(width: 1), // Right Panel: Dynamic Content Expanded( child: Builder( builder: (context) { if (isConnected) { return const TerminalView(); } else if (_isCreatingNew) { return NewConnectionForm( onCancel: () { setState(() => _isCreatingNew = false); }, ); } else { return const Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.terminal, size: 64, color: Colors.grey), SizedBox(height: 16), Text( 'Select a connection from the list\nor create a new one.', textAlign: TextAlign.center, style: TextStyle(fontSize: 18, color: Colors.grey), ), ], ), ); } }, ), ), ], ), ); } }