home_pk_view.dart 1.72 KB
import '../../controllers/home_controller.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../pk/controllers/pk_controller.dart';
import '../../../pk/views/pk_view.dart';

class HomePkView extends GetView<PkController> {
  const HomePkView({super.key});
  @override
  Widget build(BuildContext context) => Obx(() {
        if (controller.selectedFriend.value == null) {
          return ColoredBox(
            color: const Color(0xFFF5F2FF),
            child: Center(
              child: controller.isLoading.value
                  ? const CircularProgressIndicator()
                  : Column(
                      mainAxisSize: MainAxisSize.min,
                      children: [
                        Text(
                          controller.loadFailed.value
                              ? '加载失败,请重试'
                              : '添加好友后即可查看健康PK',
                        ),
                        const SizedBox(height: 12),
                        TextButton(
                          onPressed: controller.refreshData,
                          child: const Text('刷新'),
                        ),
                      ],
                    ),
            ),
          );
        }
        return PkView(
          data: controller.data,
          friendUserId: controller.selectedFriend.value?.friendUserId,
          loadFailed: controller.loadFailed.value ||
              (controller.isPartnerSelected && controller.pkLoadFailed.value),
          onBack: () => Get.find<HomeController>().selectTab(HomeTab.today),
          onRefresh: controller.refreshData,
          onSwitchFriend: controller.showFriendListBottomSheet,
        );
      });
}