#import "TGCameraFlashActiveView.h"

#import "TGCameraInterfaceAssets.h"

@interface TGCameraFlashActiveView ()
{
    UIView *_backgroundView;
    UIImageView *_iconView;
}
@end

@implementation TGCameraFlashActiveView

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self != nil)
    {
        self.userInteractionEnabled = false;
        
        _backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
        _backgroundView.backgroundColor = [TGCameraInterfaceAssets accentColor];
        _backgroundView.layer.cornerRadius = 2.0f;
        [self addSubview:_backgroundView];
        
        _iconView = [[UIImageView alloc] initWithFrame:CGRectMake((frame.size.width - 8) / 2, (frame.size.height - 13) / 2, 8, 13)];
        _iconView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;
        _iconView.image = [UIImage imageNamed:@"CameraFlashActive"];
        [_backgroundView addSubview:_iconView];
        
        [self setActive:false animated:false];
    }
    return self;
}

- (void)setHidden:(bool)hidden animated:(bool)animated
{
    if (animated)
    {
        _backgroundView.hidden = false;
        
        [UIView animateWithDuration:0.25f
                         animations:^
        {
            _backgroundView.alpha = hidden ? 0.0f : 1.0f;
        } completion:^(BOOL finished)
        {
            if (finished)
                _backgroundView.hidden = hidden;
        }];
    }
    else
    {
        _backgroundView.alpha = hidden ? 0.0f : 1.0f;
        _backgroundView.hidden = hidden;
    }
}

- (void)setActive:(bool)active animated:(bool)animated
{
    [self setHidden:!active animated:animated];
}

@end
