import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:syncfusion_flutter_datepicker/datepicker.dart';

import '../../view_widget/my_appbar.dart';

class CustomPage extends StatefulWidget {
  final Map<String, dynamic> arguments;

  CustomPage({this.arguments});

  @override
  State<StatefulWidget> createState() {
    return _CustomPage();
  }
}

class _CustomPage extends State<CustomPage>{
  String customDate = '';
  String endCustomDate = '';

  void _onSelectionChanged(DateRangePickerSelectionChangedArgs args) {
    setState(() {
      if (args.value is PickerDateRange) {
        customDate =
            DateFormat('yyyy年MM月dd日 HH:mm:ss').format(args.value.startDate).toString() +
                ' 至 ' +
                DateFormat('yyyy年MM月dd日 23:59:59')
                    .format(args.value.endDate ?? args.value.startDate)
                    .toString();
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: MyAppBar(
          title: "时间选择",
          titleColor: Colors.black,
          leadingColor: Colors.black,
          background: Colors.white,
          actions: [
            TextButton(
              onPressed: () {
                Navigator.pop(context, customDate,);
              },
              child: Text(
                "确定",
                style: TextStyle(
                  color: Colors.black,
                  fontSize: 16,
                ),
              ),
            ),
          ],
        ),
        body: Stack(
          children: <Widget>[
            Positioned(
              left: 0,
              top: 0,
              right: 0,
              bottom: 0,
              child: (widget.arguments["beyondDateRange"]) == "1"?SfDateRangePicker(
                onSelectionChanged: _onSelectionChanged,
                selectionMode: DateRangePickerSelectionMode.range,
                initialSelectedRange: PickerDateRange(
                    DateTime.now().subtract(const Duration(days: 4)),
                    DateTime.now().add(const Duration(days: 3)),),
                startRangeSelectionColor: Color(0xFF30415B),
                endRangeSelectionColor: Color(0xFF30415B),
                todayHighlightColor: Color(0xFF30415B),
              ):SfDateRangePicker(
                onSelectionChanged: _onSelectionChanged,
                maxDate: DateTime.now(),
                selectionMode: DateRangePickerSelectionMode.range,
                initialSelectedRange: PickerDateRange(
                  DateTime.now().subtract(const Duration(days: 4)),
                  DateTime.now().add(const Duration(days: 3)),),
                startRangeSelectionColor: Color(0xFF30415B),
                endRangeSelectionColor: Color(0xFF30415B),
                todayHighlightColor: Color(0xFF30415B),
              ),
            )
          ],
        ));
  }
}