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

#import "EMMsgExtSmartBubbleView.h"

@implementation EMMsgExtSmartBubbleView
- (instancetype)initWithDirection:(EMMessageDirection)aDirection
                             type:(EMMessageType)aType
{
    self = [super initWithDirection:aDirection type:aType];
    if (self) {
        [self _setupSubviews];
    }
    
    return self;
}

#pragma mark - Subviews

- (void)_setupSubviews
{
    [self setupAppBackgroundImage];

    self.iconView = [[UIImageView alloc] init];
    self.iconView.contentMode = UIViewContentModeScaleAspectFill;
    self.iconView.layer.cornerRadius = 4.f;
    self.iconView.layer.masksToBounds = YES;
    self.iconView.clipsToBounds = YES;
    [self addSubview:self.iconView];
    
    self.textLabel = [[UILabel alloc] init];
    self.textLabel.font = [UIFont systemFontOfSize:18];
    self.textLabel.numberOfLines = 1;
    self.textLabel.textColor = UIColorHex(0x0A0A0A);
    [self addSubview:self.textLabel];
    
    self.detailLabel = [[UILabel alloc] init];
    self.detailLabel.font = [UIFont systemFontOfSize:12];
    self.detailLabel.numberOfLines = 2;
    self.detailLabel.textColor = UIColorHex(0x999999);
    [self addSubview:self.detailLabel];
    [self.detailLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.textLabel.mas_bottom).offset(5);
        make.bottom.equalTo(self).offset(-10);
        make.left.equalTo(self.textLabel);
        make.right.equalTo(self.textLabel);
    }];
    if (self.direction == EMMessageDirectionSend) {
        [self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self).offset(10);
            make.centerY.equalTo(self);
            make.width.equalTo(@40);
            make.height.equalTo(@40);
        }];
        [self.textLabel mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(self).offset(10);
            make.left.equalTo(self.iconView.mas_right).offset(5);
            make.right.equalTo(self).offset(-15);
        }];
    } else {
        [self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self).offset(13);
            make.centerY.equalTo(self);
            make.width.equalTo(@40);
            make.height.equalTo(@40);
        }];
        [self.textLabel mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(self).offset(10);
            make.left.equalTo(self.iconView.mas_right).offset(5);
            make.right.equalTo(self).offset(-10);
        }];
        
    }
}

#pragma mark - Setter

- (void)setModel:(EMMessageModel *)model
{
    if (model.type != EMMessageTypeExtApp) {
        return;
    }
    WS(weakSelf);
    NSDictionary * extDcit = model.emModel.ext;
    NSString * imageStr = [ZYCTool getFileNameImage:[extDcit objectForKey:@"app_title"]];
    self.textLabel.text = [extDcit objectForKey:@"app_title"];
    NSString * detail = [extDcit objectForKey:@"app_content"];
    self.detailLabel.text = detail;
    [self.iconView removeAllSubviews];
    switch ([[extDcit objectForKey:@"app_type"] integerValue]) {
        case CollectModel_Aritle:
        {
            self.iconView.image = IMG(@"文章");
        }
            break;
        case CollectModel_Text:
        {
            self.iconView.image = IMG(@"文章");
        }
            break;
        case CollectModel_Notice:
        {
            self.iconView.image = IMG(@"通知图标");
        }
            break;
        case CollectModel_NoteBook:
        {
            self.iconView.image = IMG(@"noteBook_icon");
        }
            break;
        case CollectModel_NewTopic:
        {
            self.iconView.image = IMG(@"话题");
        }
            break;
        case CollectModel_Toipc:
        {
            detail = [NSString stringWithFormat:@"%@ 来自-%@",[extDcit objectForKey:@"app_content"],[extDcit objectForKey:@"app_groupname"]];
            self.detailLabel.attributedText = [ZYCTool checkOfString:detail withSearchText:[extDcit objectForKey:@"app_groupname"] withColor:UIColorHex(0x1F87DB)];
            self.iconView.image = IMG(@"话题");
        }
            break;
        case CollectModel_InterMail:
        {
            self.iconView.image = IMG(@"站内信");
        }
            break;
        case CollectModel_NoSignMail:
        {
            self.iconView.image = IMG(@"站内信");
        }
            break;
        case CollectModel_CollectFile:
        {
            self.iconView.image = IMG(@"find_1");
        }
            break;
        case CollectModel_NoteFile:
        {
            self.iconView.image = IMG(@"find_1");
        }
            break;
        case CollectModel_meetMian:
        {
            self.iconView.image = IMG(@"会议纪要");
        }
            break;
        case CollectModel_meetDetail:
        {
            self.iconView.image = IMG(@"会议");
        }
            break;
        case CollectModel_Image:
        {
            [self.iconView setImageWithURL:[NSURL URLWithString:[extDcit objectForKey:@"app_min_url"]] placeholder:nil];
        }
            break;
        case CollectModel_file:
        {
            if(imageStr.length > 0){
                self.iconView.image = IMG(imageStr);
            }else{
                [self.iconView setImageWithURL:[NSURL URLWithString:[extDcit objectForKey:@"app_min_url"]] placeholder:nil];
            }
        }
            break;
        case CollectModel_work:
        {
            self.iconView.image = IMG(@"审批");
        }
            break;
        case CollectModel_StoreSound:
        {
            
            [self.iconView sd_setImageWithURL:[NSURL URLWithString:[extDcit objectForKey:@"app_min_url"]] placeholderImage:IMG(@"default_audio")];
            if ([[extDcit objectForKey:@"app_min_url"] length] > 0) {
                UIImageView * clearV = [UIImageView new];
                [self.iconView addSubview:clearV];
                clearV.image = IMG(@"clear_audio");
                [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
                    make.edges.mas_equalTo(self.iconView);
                }];
            }
        }
            break;
        case CollectModel_StoreVideo:
        {
            [self.iconView sd_setImageWithURL:[NSURL URLWithString:[extDcit objectForKey:@"app_min_url"]] placeholderImage:IMG(@"default_video")];
            if ([[extDcit objectForKey:@"app_min_url"] length] > 0) {
                UIImageView * clearV = [UIImageView new];
                [self.iconView addSubview:clearV];
                clearV.image = IMG(@"clear_video");
                [clearV mas_makeConstraints:^(MASConstraintMaker *make) {
                    make.edges.mas_equalTo(self.iconView);
                }];
            }
        }
            break;
        case CollectModel_financeCount:
        {
            self.iconView.image = IMG(@"报表");
        }
            break;
        case CollectModel_affairsCount:
        {
            self.iconView.image = IMG(@"报表");
        }
            break;
        case CollectModel_publishCount:
        {
            self.iconView.image = IMG(@"报表");
        }
            break;
        case CollectModel_TopicBooK:
        {
            self.iconView.image = IMG(@"topicBook");
        }
            break;
        case CollectModel_TopicSubBooK:
        {
            self.iconView.image = IMG(@"find_1");
        }
            break;
        default:
            break;
    }
}

@end