36 lines
853 B
Dart
36 lines
853 B
Dart
// Flutter imports:
|
|
import 'package:flutter/material.dart';
|
|
|
|
///
|
|
/// Виджет условной отрисовки
|
|
///
|
|
class Wif extends StatelessWidget {
|
|
/// Условие по которому будет происходить отрисовка
|
|
final bool condition;
|
|
|
|
/// Построение содержимого
|
|
final WidgetBuilder builder;
|
|
|
|
/// Виджет если условие не удовлетворительно
|
|
final WidgetBuilder? fallback;
|
|
|
|
///
|
|
/// Виджет условной отрисовки
|
|
///
|
|
const Wif({
|
|
required this.condition,
|
|
required this.builder,
|
|
this.fallback,
|
|
super.key,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return condition
|
|
? builder(context)
|
|
: fallback != null
|
|
? fallback!(context)
|
|
: const Offstage();
|
|
}
|
|
}
|