builder method

Widget builder(
  1. Widget? widget, {
  2. String? title,
  3. String? subtitle,
  4. String? buttonText,
  5. TextStyle? titleStyle,
  6. TextStyle? subtitleStyle,
  7. bool isDev = false,
  8. Function? beforeExit,
})

Implementation

Widget builder(Widget? widget,
    {String? title,
    String? subtitle,
    String? buttonText,
    TextStyle? titleStyle,
    TextStyle? subtitleStyle,
    bool isDev = false,
    Function? beforeExit}) {
  ErrorWidget.builder = (FlutterErrorDetails errorDetails) {
    StackTrace stackTrace = errorDetails.stack!;
    List<String> filteredStack = [];
    stackTrace.toString().split("\n").forEach((e) {
      if (!(e.contains("package:flutter/") || e.contains("(dart:"))) {
        filteredStack.add(e);
      }
    });
    return TkfScaffold(
      onWillPop: () => exit(1),
      useSafeAre: true,
      appBar: isDev
          ? TkfAppBar(
              backColor: Colors.red,
              onPop: () => exit(1),
              isLeading: false,
              titleWidget: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    const Text("App crashed"),
                    IconButton(
                        onPressed: () => exit(1),
                        icon: const Icon(Icons.exit_to_app))
                  ]),
              centerTitle: true,
            )
          : null,
      disableScrollView: !isDev,
      body: Padding(
          padding: EdgeInsets.only(
              left: 24.0, right: 24, top: isDev ? 10 : 0, bottom: 40),
          child: isDev
              ? dev(filteredStack, errorDetails)
              : release(filteredStack, errorDetails)),
    );
  };
  return widget!;
}