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

#import "HomeMainVC.h"
#import "HomeHeadView.h"
#import "KBPanModalView.h"
#import "KBGuideVC.h" // 首次安装指引页

@interface HomeMainVC ()
@property (nonatomic, strong) HomeHeadView *headView;
@property (nonatomic, strong) KBPanModalView *simplePanModalView;

@end

@implementation HomeMainVC

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIImageView *bgImageView = [[UIImageView alloc] init];
    bgImageView.image = [UIImage imageNamed:@"home_bg_image"];
    [self.view addSubview:bgImageView];
    [bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self.view);
    }];
//    CGFloat topV = (500);

    [self.view addSubview:self.headView];
    [self setupMas];
    // 创建sheetVC
    self.simplePanModalView = [[KBPanModalView alloc] init];
    // 使用宏，避免误写成函数指针判断导致恒为 true
    if (KB_DEVICE_HAS_NOTCH) {
        self.simplePanModalView.minHeight = 473 - 44 + KB_NAV_TOTAL_HEIGHT;
    }else{
        self.simplePanModalView.minHeight = 473 - 44 + KB_NAV_TOTAL_HEIGHT;
//
    }
    self.simplePanModalView.topInset = 100;
    [self.simplePanModalView presentInView:self.view];
}

// 在界面可见后做“首次安装”检查，避免在 viewDidLoad 期间 push 引起的转场警告
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self kb_showGuideIfFirstLaunch];
}

/// 首次安装进入首页时，跳转到 KBGuideVC
- (void)kb_showGuideIfFirstLaunch {
    static NSString *const kKBHasLaunchedOnce = @"KBHasLaunchedOnce";
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
    if (![ud boolForKey:kKBHasLaunchedOnce]) {
        [ud setBool:YES forKey:kKBHasLaunchedOnce];
        [ud synchronize];

        // 避免重复 push；同时确保在主线程执行
        if (self.navigationController && self.presentedViewController == nil) {
            KBGuideVC *vc = [KBGuideVC new];
            vc.hidesBottomBarWhenPushed = YES;
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.navigationController pushViewController:vc animated:YES];
            });
        }
    }
}

- (void)setupMas{
    [self.headView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.right.equalTo(self.view);
        make.top.equalTo(self.view).offset(KB_NAV_TOTAL_HEIGHT);
        make.height.mas_equalTo(473 - 44);
    }];
}


#pragma mark - lazy
- (HomeHeadView *)headView{
    if (!_headView) {
        _headView = [[HomeHeadView alloc] init];
    }
    return _headView;
}


@end
