//import 'package:custom_radio_grouped_button/custom_radio_grouped_button.dart';
import 'package:daciapackete/globals.dart' as globals;
import 'package:flutter/material.dart';
import "package:intl/intl.dart";
import 'main.dart';
var datum1 = "Das ist ein Datum";

class CardDatenanzeige extends StatefulWidget {
  const CardDatenanzeige({super.key});

  @override
  State<CardDatenanzeige> createState() => _CardDatenanzeigeState();
}

class _CardDatenanzeigeState extends State<CardDatenanzeige> {
  pluginText(status) {
    switch (status) {
      case 3:
        if (globals.ladeKlimaKonfig.charging) {
          return context.sp.angeschlossen;
        } else if (globals.arbeitsdaten.plugin3Fehler) {
          return context.sp.nichtAngeschlossen;
        } else {
          return context.sp.kannNichtBestimmtWerden;
        }
      case >= 1.0:
        return context.sp.angeschlossen;
      case 0.0:
        return context.sp.nichtAngeschlossen;
      case -1.0:
        return context.sp.fehler;
      default:
        return context.sp.unbekannt;
    }
  }

  chargeText() {
   // print("Charging text:");
   // print(globals.ladeKlimaKonfig.charging);
   // print(globals.arbeitsdaten.befehlLadenStopp);
    /*
if ((globals.autoInfos.batteryStatus.plugStatus >= 1) &&
    (globals.autoInfos.batteryStatus.chargingStatus == 0.3)){
  return "Handbremse anziehen";
    }
     */
    //print("Laden***** ${globals.ladeKlimaKonfig.charging}");
    if (globals.ladeKlimaKonfig.charging == true) {
      if(globals.arbeitsdaten.befehlLadenStopp == 0) {
        return context.sp.wirdGeladen;
      } else {
        return context.sp.ladenStopGesendet(globals.arbeitsdaten.befehlLadenStopp.toString());
      }
    } else {
      if (globals.arbeitsdaten.befehlLadenSart == 0) {
        return context.sp.wirdNichtGeladen;
      } else {
        return context.sp.ladebefehlGesendet(globals.arbeitsdaten.befehlLadenSart.toString());
      }
    }
    if ((globals.autoInfos.batteryStatus.chargingStatus == 1.0) ||
        (globals.ladeKlimaKonfig.letzterBatteriewert <
            globals.autoInfos.batteryStatus.batteryLevel)) {
      return context.sp.wirdGeladen;
    } else {
      return context.sp.wirdNichtGeladen;
    }
    /*
     //0,1 und 0,2 bedeuten beides
    switch (status) {
      case 1.0:
        return "wird geladen";
      case 0.3:
        return "wird geladen";
      case < 0.3 && >= 0.0 :
        return "wird nicht geladen";
      case <=-1.0:
        return "wird nicht geladen";
      default:
        return "wird nicht geladen";
    }
    */
  }

  chargeZahl() {
    if (globals.arbeitsdaten.befehlLadenSart == 0) {
      return globals.autoInfos.batteryStatus.chargingStatus.toString();
    } else {
      return globals.arbeitsdaten.befehlLadenSart.toString();
    }
  }

  letzterKontaktColor() {
    if (globals.arbeitsdaten.batteryHoleFehler == true) {
      return Colors.red;
    } else {
      return Colors.black;
    }
  }

  @override
  Widget build(BuildContext context) {
    //return const Placeholder();
    // final _formKey = GlobalKey<FormState>();
    return Card(
      // key: _formKey,
      child: Padding(
        padding: const EdgeInsets.all(8),
        child: Column(
          children: <Widget>[
             ListTile(
              title: Text(context.sp.daten),
              //subtitle: Text(subheading),
              //trailing: Icon(Icons.favorite_outline),
            ),
/*
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    const Text("Aktuelle Zeit:"),
                    Text(DateFormat("dd.MM.yyyy HH:mm")
                        .format(DateTime.now())),
                  ],
                ),
              ),
            ),


 */
        if (globals.configProxyServer.proxyBenutzen == true) ...[
          Card(
            child: Padding(
              padding: const EdgeInsets.all(8),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: <Widget>[
                  Text(context.sp.letzteAbfrageProxy),
                  Text(DateFormat("dd.MM.yyyy HH:mm")
                      .format(globals.lokaleDaten.letzteProxyAbfrage)),
                ],
              ),
            ),
          ),
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text("Nächste Abfrage DS:"),
                    Text(DateFormat("dd.MM.yyyy HH:mm")
                        .format(globals.ladeKlimaKonfig.NaechsteDaciaAbfrage())),
                  ],
                ),
              ),
            ),
          ],
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                     Text(context.sp.letzteAbfrageDS),
                    Text(DateFormat("dd.MM.yyyy HH:mm")
                        .format(globals.ladeKlimaKonfig.letzteAbfrage)),
                  ],
                ),
              ),
            ),
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(context.sp.letzterKontaktDS),
                    Text(
                      DateFormat("dd.MM.yyyy HH:mm")
                          .format(globals.ladeKlimaKonfig.letzterKontakt),
                      style: TextStyle(color: letzterKontaktColor()),
                    ),
                  ],
                ),
              ),
            ),
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                     Text(context.sp.letzteAenderung),
                    Text(DateFormat("dd.MM.yyyy HH:mm").format(
                        globals.autoInfos.batteryStatus.timestamp.toLocal())),
                  ],
                ),
              ),
            ),
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(context.sp.stecker),
                    Text(
                        pluginText(globals.autoInfos.batteryStatus.plugStatus)),
                    Text(globals.autoInfos.batteryStatus.plugStatus.toString()),
                  ],
                ),
              ),
            ),
            Card(
              child: Padding(
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(context.sp.ladestatus),
                    Text(chargeText()),
                    //Text(chargeZahl()),
                  ],
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
