/* 
 * 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/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'sub_widgets/all_wallets.dart';
import 'sub_widgets/empty_wallets.dart';
import 'sub_widgets/favorite_wallets.dart';
import '../../providers/providers.dart';
import '../../themes/theme_providers.dart';
import '../../wallets/isar/providers/all_wallets_info_provider.dart';

class WalletsView extends ConsumerWidget {
  const WalletsView({super.key});

  static const routeName = "/wallets";

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    debugPrint("BUILD: $runtimeType");
    final hasWallets = ref.watch(pAllWalletsInfo).isNotEmpty;

    final showFavorites = ref.watch(
      prefsChangeNotifierProvider.select((value) => value.showFavoriteWallets),
    );

    return SafeArea(
      child: hasWallets
          ? Padding(
              padding: EdgeInsets.only(
                top:
                    ref.watch(themeProvider).themeId == "fruit_sorbet" ? 6 : 20,
              ),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  if (showFavorites) const FavoriteWallets(),
                  if (showFavorites)
                    const SizedBox(
                      height: 20,
                    ),
                  const Expanded(
                    child: Padding(
                      padding: EdgeInsets.symmetric(
                        horizontal: 16,
                      ),
                      child: AllWallets(),
                    ),
                  ),
                ],
              ),
            )
          : const Padding(
              padding: EdgeInsets.only(
                top: 20,
                left: 16,
                right: 16,
              ),
              child: EmptyWallets(),
            ),
    );
  }
}