import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:velocity_x/velocity_x.dart';

class LoggerCard extends StatelessWidget {
  final dynamic data;
  const LoggerCard({Key key, this.data}) : super(key: key);
  Widget _buildDioErr() {
    DioError error = data;
    return VxBox(
      child: Column(
        children: [
          Row(
            children: [
              Spacer(),
              Chip(
                backgroundColor: Colors.greenAccent,
                label: Text(error.request.method),
              ),
            ],
          ),
          Text(error.message),
          Text(error.request.path),
          Text(error.request.method),
        ],
      ),
    )
        .height(200)
        .p4
        .red200
        .margin(EdgeInsets.all(5))
        .shadowSm
        .make()
        .material(color: Colors.transparent);
  }

  Widget _buildResponse() {
    Response response = data;
    return Card(
      child: Column(
        children: [
          Text(response.statusCode.toString()),
        ],
      ),
    );
  }

  Widget _getLoggerView() {
    switch (data.runtimeType) {
      case DioError:
        return _buildDioErr();
      case Response:
        return _buildResponse();
      default:
        return Text("UNKNOW");
    }
  }

  @override
  Widget build(BuildContext context) => _getLoggerView();
}