first commit
This commit is contained in:
35
lib/common/widgets/w_if.dart
Normal file
35
lib/common/widgets/w_if.dart
Normal file
@@ -0,0 +1,35 @@
|
||||
// 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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user