/* 
 * This file is part of Stack Wallet.
 * 
 * Copyright (c) 2023 Cypher Stack
 * All Rights Reserved.
 * The code is distributed under GPLv3 license, see LICENSE file for details.
 * Generated by Cypher Stack on 2023-05-26
 *
 */

import 'package:flutter/material.dart';

class ConditionalParent extends StatelessWidget {
  const ConditionalParent({
    super.key,
    required this.condition,
    required this.builder,
    required this.child,
  });

  final bool condition;
  final Widget Function(Widget) builder;
  final Widget child;

  @override
  Widget build(BuildContext context) {
    if (condition) {
      return builder(child);
    } else {
      return child;
    }
  }
}

class BranchedParent extends StatelessWidget {
  const BranchedParent({
    super.key,
    required this.condition,
    required this.conditionBranchBuilder,
    required this.otherBranchBuilder,
    required this.children,
  });

  final bool condition;
  final Widget Function(List<Widget>) conditionBranchBuilder;
  final Widget Function(List<Widget>) otherBranchBuilder;
  final List<Widget> children;

  @override
  Widget build(BuildContext context) {
    if (condition) {
      return conditionBranchBuilder(children);
    } else {
      return otherBranchBuilder(children);
    }
  }
}