//
//  CommonHomeVC.m
//  smartRhino
//
//  Created by niuzhen on 2020/4/28.
//  Copyright © 2020 tederen. All rights reserved.
//

#import "CommonHomeVC.h"
#import "CommonListCell.h"
#import "MyTDGroupView.h"
#import "GHRefreshCollectionView.h"
#import "CommonBarCell.h"
#import "CommonBarModel.h"
#import "CommonWorkVC.h"
#import "CommonToolVC.h"
#import "MyFavoriteVC.h"
#import "CommonNoteVC.h"
#import "ChatMsgListCell.h"
#import "ChatMsgCollectionCell.h"

@interface CommonHomeVC ()<UITableViewDelegate,UITableViewDataSource,UICollectionViewDelegate,UICollectionViewDataSource>
@property (weak, nonatomic) IBOutlet UIView             *NavBar;
@property (strong, nonatomic)  UIView                   *HeadView;
@property (strong, nonatomic)  UITableView              *tableView;
@property (strong, nonatomic) MyTDGroupView             *SearchView;
@property (strong, nonatomic) GHRefreshCollectionView   *collectionView;
@property (strong, nonatomic) NSMutableArray            *collectionDataSource;
@property (strong, nonatomic) NSMutableArray            *dataArray;

@end

@implementation CommonHomeVC
- (UIView *)HeadView
{
    if (!_HeadView) {
        _HeadView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 46)];
        _HeadView.backgroundColor = [UIColor whiteColor];
    }
    return _HeadView;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    self.fd_prefersNavigationBarHidden = YES;
    self.view.backgroundColor = UIColorHex(0xffffff);
    if (@available(iOS 11.0, *)) {
        self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    } else {
        self.automaticallyAdjustsScrollViewInsets = NO;
    }
    [self.HeadView addSubview:self.SearchView];
    [self.SearchView  mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_offset(5);
        make.left.right.mas_equalTo(self.HeadView);
        make.height.mas_offset(36);
    }];
    [self.view addSubview:self.tableView];
    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.right.mas_equalTo(self.view);
        make.top.mas_equalTo(self.NavBar.mas_bottom);
        if (@available(iOS 11.0, *)) {
            make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);
        } else {
            make.bottom.equalTo(self.view.mas_bottom);
        }
    }];
    self.tableView.tableHeaderView = self.HeadView;
    
    [self setBarData];
    [self.SearchView.button setAction:^{
        NSLog(@"点击搜索");
    }];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.backgroundColor = [UIColor clearColor];
    CommonListModel * model = [[CommonListModel alloc] init];
    model.Title = @"钱颖一:人工智能将使中国教育仅存的优 势荡然无存";
    model.Name = @"钱颖一";
    model.Des = @"中国前沿计算机教育观察周刊";
    [self.dataArray addObject:model];
    [self.dataArray addObject:model];
    [self.dataArray addObject:model];
    [self.dataArray addObject:model];
    [self.dataArray addObject:model];
    CommonListModel * amodel = [[CommonListModel alloc] init];
    amodel.Title = @"钱颖一:人工智能将使中国教育仅存的优 势荡然无存";
    amodel.Name = @"钱颖一";
    amodel.Des = @"中国前沿计算机教育观察周刊";
    [self.dataArray addObject:amodel];
    CommonListModel * bmodel = [[CommonListModel alloc] init];
    bmodel.Title = @"钱颖一:人工智能将使中国教育仅存的优 势荡然无存";
    bmodel.Name = @"钱颖一";
    bmodel.Des = @"中国前沿计算机教育观察周刊";
    [self.dataArray addObject:bmodel];
    CommonListModel * cmodel = [[CommonListModel alloc] init];
    cmodel.Title = @"大脑不擅长思考,那我们应该怎么学习?";
    cmodel.Name = @"周明鑫";
    cmodel.Des = @"北国教育论坛";
    [self.dataArray addObject:cmodel];
    [self.tableView reloadData];
}
- (BOOL)hidesBottomBarWhenPushed{
    return NO;
}
#pragma mark - UITableViewDelegate
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    switch (section) {
        case 0:{
            return 1;
        }break;
        default:{
            return self.dataArray.count;
        }break;
    }
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    switch (indexPath.section) {
        case 0:{
            return 74.f;
        }break;
        default:{
            return UITableViewAutomaticDimension;
        }break;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    switch (section) {
        case 0:{
            return 0.f;
        }break;
        default:{
            return 36.f;
        }break;
    }
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    switch (section) {
        case 0:{
            UIView * view = [UIView new];
            return view;
        }break;
        default:{
            UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)];
            view.backgroundColor = UIColorHex(0xF5F5F5);
            UILabel * label = [UILabel new];
            label.font = [UIFont systemFontOfSize:14];
            label.textColor = UIColorHex(0x888888);
            label.text = @"最新收藏";
            [view addSubview:label];
            [label mas_makeConstraints:^(MASConstraintMaker *make) {
                make.left.mas_offset(15);
                make.centerY.mas_equalTo(view);
            }];
            return view;
        }break;
    }
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    switch (indexPath.section) {
        case 0:
        {
            ChatMsgListCell *cell = [ChatMsgListCell configCell1:tableView indexPath:indexPath];
            [cell.cell1ContentBgView addSubview:self.collectionView];
            self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, cell.cell1ContentBgView.height);
            [self.collectionView reloadData];
            return cell;
        }
            break;
        default:
        {
            CommonListCell *cell = [CommonListCell configCell1:tableView indexPath:indexPath];
            CommonListModel * model = [self.dataArray objectAtIndex:indexPath.row];
            [cell setCell1Data:model];
            return cell;
        }
            break;
    }
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
#pragma mark - load
- (UITableView *)tableView
{
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    }
    return _tableView;
}
- (MyTDGroupView *)SearchView
{
    if (!_SearchView) {
        _SearchView = [[MyTDGroupView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)];
    }
    return _SearchView;
}
-(NSMutableArray *)dataArray{
    if(!_dataArray){
        _dataArray = [[NSMutableArray alloc] init];
    }
    return _dataArray;
}
-(NSMutableArray *)collectionDataSource{
    if(!_collectionDataSource){
        _collectionDataSource = [[NSMutableArray alloc] init];
    }
    return _collectionDataSource;
}
- (GHRefreshCollectionView *)collectionView {
    if (!_collectionView) {
        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
        layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
        layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
        _collectionView = [[GHRefreshCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
        _collectionView.delegate = self;
        _collectionView.dataSource = self;
        _collectionView.showsHorizontalScrollIndicator = NO;
        [_collectionView registerNib:[UINib nibWithNibName:@"ChatMsgCollectionCell" bundle:nil] forCellWithReuseIdentifier:@"ChatMsgCollectionCell"];
        _collectionView.backgroundColor = [UIColor whiteColor];
    }
    return _collectionView;
}
#pragma mark UICollectionView
- (NSInteger)numberOfSectionsInCollectionView:(GHRefreshCollectionView *)collectionView{
    return 1;
}

/**********************************************************************/
#pragma mark -UICollectionViewDataSource
/**********************************************************************/
- (NSInteger)collectionView:(GHRefreshCollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return self.collectionDataSource.count;
}

- (UICollectionViewCell *)collectionView:(GHRefreshCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    MoreAppInfoModel *bean = [self.collectionDataSource objectAtIndex:indexPath.item];
    ChatMsgCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ChatMsgCollectionCell" forIndexPath:indexPath];
    cell.cell0IconImg.image = [UIImage imageNamed:bean.imgName];
    cell.cell0TitleLabel.text = bean.title;
    cell.imagH.constant = 25.f;
    cell.imagW.constant = 25.f;
    cell.titleConstant.constant = 8.f;
    switch (indexPath.item) {
        case 0:
        {
            cell.cell0ReadNumLabel.hidden = YES;
            NSString * count = @"0";
            cell.cell0ReadNumLabel.text = count;
            UILabel * label = [UILabel new];
            label.font = [UIFont systemFontOfSize:12];
            label.text = count;
            CGFloat width = [label sizeThatFits:CGSizeMake(SCREEN_WIDTH, 16)].width;
            if ((width + 5) < 16) {
                cell.constant.constant = 16;
            }else{
                cell.constant.constant = width + 8;
            }
        }
            break;
        case 1:
        {
            cell.cell0ReadNumLabel.hidden = YES;
            NSString * count = @"0";
            cell.cell0ReadNumLabel.text = count;
            UILabel * label = [UILabel new];
            label.font = [UIFont systemFontOfSize:12];
            label.text = count;
            CGFloat width = [label sizeThatFits:CGSizeMake(SCREEN_WIDTH, 16)].width;
            if ((width + 5) < 16) {
                cell.constant.constant = 16;
            }else{
                cell.constant.constant = width + 8;
            }
        }
            break;
        case 2:
        {
            cell.cell0ReadNumLabel.hidden = YES;
            NSString * count = @"0";
            cell.cell0ReadNumLabel.text = count;
            UILabel * label = [UILabel new];
            label.font = [UIFont systemFontOfSize:12];
            label.text = count;
            CGFloat width = [label sizeThatFits:CGSizeMake(SCREEN_WIDTH, 16)].width;
            if ((width + 5) < 16) {
                cell.constant.constant = 16;
            }else{
                cell.constant.constant = width + 8;
            }
        }
            break;
        case 3:
        {
            cell.cell0ReadNumLabel.hidden = YES;
            NSString * count = @"0";
            cell.cell0ReadNumLabel.text = count;
            UILabel * label = [UILabel new];
            label.font = [UIFont systemFontOfSize:12];
            label.text = count;
            CGFloat width = [label sizeThatFits:CGSizeMake(SCREEN_WIDTH, 16)].width;
            if ((width + 5) < 16) {
                cell.constant.constant = 16;
            }else{
                cell.constant.constant = width + 8;
            }
        }
            break;
        default:
        {
            cell.cell0ReadNumLabel.hidden = YES ;
        }
            break;
    }
    cell.cell0MengCengView.hidden = YES;
    return cell;
}

/****************************************************/
#pragma mark --UICollectionViewDelegateFlowLayout
/****************************************************/
- (CGSize)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat width = (SCREEN_WIDTH - 20) / self.collectionDataSource.count;
    CGFloat height = 80;
    return CGSizeMake(width, height);
}

-(UIEdgeInsets)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    CGFloat W = 10;
    return UIEdgeInsetsMake(0,W,0,W);
}

- (CGFloat)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{
    return 0;
}

- (CGFloat)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section{
    return 0;
}


- (void)collectionView:(GHRefreshCollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
    [collectionView deselectItemAtIndexPath:indexPath animated:YES];
    switch (indexPath.item) {
        case 0:
        {
            MyFavoriteVC *vc = [MyFavoriteVC initMyFavoriteVC];
            vc.listType = MyFavoriteListLevelTypeA;
            vc.FolderId = 0;
            vc.operationStateEnum = OperationStateEnum0;
            vc.myTitle = @"我的收藏";
            vc.hidesBottomBarWhenPushed = YES;
            [self.navigationController pushViewController:vc animated:YES];
        }
            break;
        case 1:
        {
            CommonNoteVC * vc = [CommonNoteVC initCommonNoteVC];
            vc.hidesBottomBarWhenPushed = YES;
            [self.navigationController pushViewController:vc animated:YES];
        }
            break;
        case 2:
        {
            CommonToolVC * vc = [CommonToolVC initCommonToolVC];
            vc.hidesBottomBarWhenPushed = YES;
            [self.navigationController pushViewController:vc animated:YES];
        }
            break;
        default:
        {
            CommonWorkVC * vc = [CommonWorkVC initCommonWorkVC];
            vc.hidesBottomBarWhenPushed = YES;
            [self.navigationController pushViewController:vc animated:YES];
        }
            break;
    }
}
- (void)setBarData
{
    [self.collectionDataSource removeAllObjects];
    NSArray * titleArray = @[@"收藏",@"笔记",@"工具箱",@"工作台"];
    NSArray * imageArray = @[@"Common_collect",@"Common_note",@"Common_gjxiang",@"Common_gztai"];
    for (NSInteger i = 0; i < titleArray.count; i ++) {
        MoreAppInfoModel * model = [[MoreAppInfoModel alloc] init];
        model.title = titleArray[i];
        model.imgName = imageArray[i];
        [self.collectionDataSource addObject:model];
    }
}

@end