import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:io';
import 'package:persistent/log/persistent_log.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    const String platformVersion = "Unknown";

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Column(
            children: [
              TextButton(
                  onPressed: () {
                    PersistentLog.createLogger(logName: "aa_1",formatter: Formatter.raw,echo: false);
                  },
                  child: Container(
                    color: Colors.grey,
                    width: 100,
                    height: 40,
                    child: Center(
                      child: Text("create logger"),
                    ),
                  )),
              TextButton(
                  onPressed: () {
                    PersistentLog.clearLogger(logName: "aa_1");
                  },
                  child: Container(
                    color: Colors.grey,
                    width: 100,
                    height: 40,
                    child: Center(
                      child: Text("clear logger"),
                    ),
                  )),
              TextButton(
                  onPressed: () {
                    PersistentLog.log(logName: "aa_1", message: "message");
                  },
                  child: Container(
                    color: Colors.grey,
                    width: 100,
                    height: 40,
                    child: Center(
                      child: Text(" log"),
                    ),
                  )),
              TextButton(
                  onPressed: ()async{
                   PersistentLog.getLogRootDir().then((file) {
                      final path = file.path;
                      print("path:$path");
                   });

                  },
                  child: Container(
                    color: Colors.grey,
                    width: 100,
                    height: 40,
                    child: Center(
                      child: Text("root dir"),
                    ),
                  )),
            ],
          ),
        ),
      ),
    );
  }
}
