//
//  HomeRankContentVC.m
//  keyBoard
//
//  Created by Mac on 2025/11/6.
//

@import UIKit;
#import "HomeRankContentVC.h"
#import "HomeRankDetailPopView.h" // 自定义弹窗内容视图
#import "LSTPopView.h"            // LSTPopView 弹窗框架

// 自定义卡片 Cell
#import "HomeRankCardCell.h"

@interface HomeRankContentVC ()
@property (nonatomic, strong) NSArray<NSDictionary *> *dataSource; // 简单模拟数据
@end

@implementation HomeRankContentVC

- (void)viewDidLoad {
    [super viewDidLoad];

    self.view.backgroundColor = COLOR_WITH_RGB(246/255.0, 253/255.0, 249/255.0, 1.0); // 淡绿色背景

    // 数据
    self.dataSource = @[
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(NO)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(YES)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(NO)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(YES)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(NO)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(YES)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(NO)},
        @{@"title":@"High EQ", @"desc":@"Be Neither Too Close\nNor Too Distant...", @"people":@"Two Million People\nHave Used It", @"added":@(YES)}
    ];


    [self.view addSubview:self.collectionView];
    [self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self.view);
    }];
}

- (UICollectionView *)collectionView{
    if (!_collectionView) {
        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
        layout.sectionInset = UIEdgeInsetsMake(16, 16, 16, 16);
        layout.minimumLineSpacing = 24;
        layout.minimumInteritemSpacing = 16;

        _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
        _collectionView.backgroundColor = [UIColor clearColor];
//        _collectionView.alwaysBounceVertical = YES;
        _collectionView.bounces = false;
        _collectionView.dataSource = self;
        _collectionView.delegate = self;
        [_collectionView registerClass:[HomeRankCardCell class] forCellWithReuseIdentifier:@"HomeRankCardCell"];
//        self.collectionView.translatesAutoresizingMaskIntoConstraints = NO;
    }
    return _collectionView;
}


#pragma mark - UICollectionViewDataSource

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return self.dataSource.count;
}

- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    HomeRankCardCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"HomeRankCardCell" forIndexPath:indexPath];
    NSDictionary *d = self.dataSource[indexPath.item];
    BOOL added = [d[@"added"] boolValue];
    [cell configureWithTitle:d[@"title"]
                        desc:d[@"desc"]
                      people:d[@"people"]
                       added:added];
    KBWeakSelf
    cell.onTapAction = ^{
        // 切换添加/已添加状态并刷新该项
        NSMutableArray *m = [weakSelf.dataSource mutableCopy];
        NSMutableDictionary *md = [m[indexPath.item] mutableCopy];
        BOOL cur = [md[@"added"] boolValue];
        md[@"added"] = @(!cur);
        m[indexPath.item] = md;
        weakSelf.dataSource = [m copy];
        [weakSelf.collectionView reloadItemsAtIndexPaths:@[indexPath]];
    };
    return cell;
}

#pragma mark - UICollectionViewDelegateFlowLayout

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    CGFloat totalHInset = 16 + 16;
    CGFloat spacing = 16;
    CGFloat w = collectionView.bounds.size.width - totalHInset; 
    CGFloat cellWidth = (w - spacing) / 2.0;
    // 固定高度，接近示意图比例
    CGFloat cellHeight = 234.0;
    return CGSizeMake(floor(cellWidth), cellHeight);
}

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
    // 点击卡片 -> 展示弹窗
    NSDictionary *d = self.dataSource[indexPath.item];

    // 自定义内容视图（尺寸可按需调节）
    CGFloat width = MIN(KB_SCREEN_WIDTH - 76, 420);
    HomeRankDetailPopView *content = [[HomeRankDetailPopView alloc] initWithFrame:CGRectMake(0, 0, width, 460)];
    NSString *title = d[@"title"] ?: @"High EQ";
    NSString *people = d[@"people"] ?: @"Download: 1 Million";
    NSString *desc = @"Be Neither Too Close\nNor Too Distant"; // 示例文案
    [content configWithAvatar:nil title:title download:people desc:desc];

    // 创建并弹出
    LSTPopView *pop = [LSTPopView initWithCustomView:content
                                          parentView:nil
                                            popStyle:LSTPopStyleScale
                                        dismissStyle:LSTDismissStyleScale];
    pop.hemStyle = LSTHemStyleCenter;         // 居中
    pop.bgColor = [[UIColor blackColor] colorWithAlphaComponent:0.4];
    pop.isClickBgDismiss = YES;               // 点击背景关闭
    pop.cornerRadius = 0;                     // 自定义 view 自处理圆角

    __weak typeof(pop) weakPop = pop;
    content.saveHandler = ^{ [weakPop dismiss]; };
    content.closeHandler = ^{ [weakPop dismiss]; };

    [pop pop];
}


#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
    return self.view;
}

@end
