// Flutter imports:
import 'package:flutter/material.dart';

// Package imports:
import 'package:provider/provider.dart';
import 'package:remever/components/notifiers/app_settings.dart';

/// Функция для построения содержимого [AppDebug]
typedef AppDebugBuilder = Widget Function(BuildContext context, bool isDebug);

class AppDebug extends StatelessWidget {
  ///
  /// Вспомогательный виджет для условной отрисовки
  /// если включен дебаг режим в песочнице
  ///
  const AppDebug({required this.builder, super.key});

  /// Построитель
  final AppDebugBuilder builder;

  @override
  Widget build(BuildContext context) {
    return Consumer<AppSettingsNotifier>(
      builder: (
        BuildContext context,
        AppSettingsNotifier value,
        Widget? child,
      ) {
        if (child != null) return child;

        return builder(context, value.debugMode);
      },
    );
  }
}
