selectFavTeam method

Future<void> selectFavTeam(
  1. dynamic context, {
  2. bool? force,
})

Implementation

Future<void> selectFavTeam(context, {bool? force}) async {
  if (force == null || force == false) {
    if (currentUserAccounts.user.value.favTeam != null) {
      log("Favori Takım seçilmiş");
      return;
    }
    if (currentUserAccounts.favteamRequest) {
      log("Sorulmuş ama seçmek istememiş");
      return;
    }
  }

  await favteamfetch();

  showDialog(
    barrierDismissible: false,
    context: context,
    builder: (BuildContext context) {
      return Center(
        child: SizedBox(
          width: ARMOYU.screenWidth * 0.95,
          child: Card(
            child: Padding(
              padding: const EdgeInsets.all(5.0),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  const Text(
                    'Favori Takımını Seç',
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18,
                    ),
                    textAlign: TextAlign.center,
                  ),
                  const SizedBox(height: 20),
                  SingleChildScrollView(
                    scrollDirection: Axis.horizontal,
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      crossAxisAlignment: CrossAxisAlignment.center,
                      children: List.generate(
                        currentUserAccounts.favoriteteams!.length,
                        (index) => Padding(
                          padding:
                              const EdgeInsets.symmetric(horizontal: 5.0),
                          child: InkWell(
                            onTap: () {
                              Navigator.of(context).pop(
                                  currentUserAccounts.favoriteteams![index]);
                            },
                            child: Column(
                              children: [
                                CachedNetworkImage(
                                  imageUrl: currentUserAccounts
                                      .favoriteteams![index].logo,
                                  height: 60,
                                  width: 60,
                                ),
                                Text(currentUserAccounts
                                    .favoriteteams![index].name),
                              ],
                            ),
                          ),
                        ),
                      ),
                    ),
                  ),
                  const SizedBox(height: 20),
                  Align(
                    alignment: Alignment.center,
                    child: InkWell(
                      onTap: () {
                        Navigator.of(context).pop(null);
                      },
                      child: CustomText.costum1("Bunlardan Hiçbiri"),
                    ),
                  )
                ],
              ),
            ),
          ),
        ),
      );
    },
  ).then((selectedTeam) {
    // Kullanıcının seçtiği takımı işle
    if (selectedTeam != null) {
      log('Seçilen Takım: ${selectedTeam.name}');
      favteamselect(selectedTeam);
    } else {
      favteamselect(null);
    }
    currentUserAccounts.favteamRequest = true;
  });
}