import 'dart:io';

import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:google_fonts/google_fonts.dart';

class AboutPage extends StatefulWidget {
  const AboutPage({Key? key}) : super(key: key);

  @override
  State<AboutPage> createState() => _AboutPageState();
}

class _AboutPageState extends State<AboutPage> {
  bool _isLoadig = true;
  late String _imei;

  @override
  void initState() {
    super.initState();
    initPlatformState().then((imei){
      setState(() {
        _isLoadig = false;
        _imei = imei;
      });
    });
  }

  Future<String> initPlatformState() async{
    String udidIOS = '';
    String udidAndroid = '';
    final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();

    try{
      if(Platform.isAndroid){
        var build = await deviceInfoPlugin.androidInfo;
        udidAndroid = build.id!;
      }else if(Platform.isIOS){
        var data = await deviceInfoPlugin.iosInfo;
        udidIOS = data.identifierForVendor!;
      }
    } on PlatformException {
      return '';
    }

    if(!mounted && Platform.isAndroid) return '';
    if(!mounted && Platform.isIOS) return '';

    if(Platform.isAndroid){
      return udidAndroid;
    }else if(Platform.isIOS){
      return udidIOS;
    }else{
      return '';
    }
  }

  @override
  Widget build(BuildContext context) {
    final _screenSize = MediaQuery.of(context).size;
    return Scaffold(
      appBar: AppBar(),
      body: _isLoadig ? const Center(
        child: CircularProgressIndicator(),
      ) : SingleChildScrollView(
        child: Column(
          children: [
            Container(
              margin: const EdgeInsets.symmetric(vertical: 12.0),
              child: Image.asset(
                'assets/logo.png',
                width: _screenSize.width * 0.15,
              ),
              alignment: Alignment.center,
            ),
            Container(
              margin: const EdgeInsets.symmetric(horizontal: 12.0),
              child: Text(
                'En S&P trabajamos para llegar a ser reconocidos por nuestros clientes y colaboradores como líder mundial en ventilación.'
                  ' En S&P trabajamos para llegar a ser reconocidos por nuestros clientes y colaboradores como líder mundial en ventilación.'
                  ' nuestras raíces. Buscamos ser líderes en el mercado de la ventilación creciendo ordenadamente con el compromiso de'
                  ' nuestro equipo humano.',
                textAlign: TextAlign.justify,
                style: GoogleFonts.roboto(
                  fontWeight: FontWeight.w300,
                  color: Colors.black54,
                  fontSize: 16.0,
                ),
              ),
            ),
            Container(
              margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0),
              child: Text(
                'Copyright © ${DateTime.now().year} S&P México. Todos los derechos reservados. Esta aplicación y su contenido son propiedad de S&P México',
                textAlign: TextAlign.center,
                style: GoogleFonts.roboto(
                  fontWeight: FontWeight.w300,
                  color: Colors.black54,
                  fontSize: 14.0,
                ),
              ),
            ),
            Container(
              margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0),
              child: Text(
                'BUILD ID: $_imei',
                textAlign: TextAlign.center,
                style: GoogleFonts.roboto(
                  fontWeight: FontWeight.w300,
                  color: Colors.black54,
                  fontSize: 18.0,
                ),
              ),
            )
          ],
        ),
      ),
    );
  }
}
