import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:table_calendar/table_calendar.dart'; class UserCalendarScreen extends StatefulWidget { const UserCalendarScreen({super.key}); @override State createState() => UserCalendarScreenState(); } class UserCalendarScreenState extends State { DateTime today = DateTime.now(); DateTime now = DateTime.now(); late int numDay; CalendarFormat _calendarFormat = CalendarFormat.month; @override void initState() { super.initState(); today = DateTime.utc(today.year, today.month, today.day); numDay = today.weekday; } void _onDaySelected(DateTime day, DateTime focusedDay) { setState(() { today = day; numDay = today.weekday; }); } void _onFormatChange(CalendarFormat format) { setState(() { _calendarFormat = format; }); } @override Widget build(BuildContext context) { DateTime lastDay = today.add(const Duration(days: 365)); return Scaffold( appBar: AppBar( title: const Text('Calendario'), ), floatingActionButtonLocation: kIsWeb ? FloatingActionButtonLocation.startFloat : FloatingActionButtonLocation.endFloat, resizeToAvoidBottomInset: false, body: Column( children: [ Container( color: const Color.fromARGB(255, 224, 247, 255), child: TableCalendar( // locale: 'es_MX', firstDay: DateTime.now(), lastDay: lastDay, focusedDay: today, availableGestures: AvailableGestures.all, onDaySelected: _onDaySelected, selectedDayPredicate: (day) => isSameDay(day, today), calendarFormat: _calendarFormat, onFormatChanged: _onFormatChange, availableCalendarFormats: const { CalendarFormat.month: 'Mes', CalendarFormat.week: 'Semana', CalendarFormat.twoWeeks: '2 Semanas', }, ), ), SizedBox( width: double.infinity, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 8), child: Text( 'adwa', // DateFormat('dd MMMM yyyy', 'es').format(today), style: const TextStyle( color: Colors.black, fontSize: 16, fontWeight: FontWeight.w600, ), ), ), ), const Divider( height: 0, ), Expanded( child: SingleChildScrollView( padding: const EdgeInsets.only(bottom: 15), child: Column( children: [ Text('Hola'), ], ), ), ) ], ), ); } }