#import "TGSecretTimerValueControllerItemView.h"

#import "LegacyComponentsInternal.h"
#import "TGFont.h"
#import "TGStringUtils.h"

@interface TGSecretTimerValueControllerItemView ()
{
    UILabel *_numberLabel;
    UILabel *_unitLabel;
}

@end

@implementation TGSecretTimerValueControllerItemView

- (instancetype)initWithFrame:(CGRect)frame
{
    return [self initWithFrame:frame dark:false];
}

- (instancetype)initWithFrame:(CGRect)frame dark:(bool)dark
{
    self = [super initWithFrame:frame];
    if (self != nil)
    {
        _numberLabel = [[UILabel alloc] init];
        _numberLabel.backgroundColor = nil;
        _numberLabel.opaque = false;
        _numberLabel.font = TGSystemFontOfSize(24.0f);
        if (dark && iosMajorVersion() > 7)
            _numberLabel.textColor = [UIColor whiteColor];
        [self addSubview:_numberLabel];
        
        _unitLabel = [[UILabel alloc] init];
        _unitLabel.backgroundColor = nil;
        _unitLabel.opaque = false;
        _unitLabel.font = TGMediumSystemFontOfSize(16.0f);
        if (dark && iosMajorVersion() > 7)
            _unitLabel.textColor = [UIColor whiteColor];
        [self addSubview:_unitLabel];
    }
    return self;
}

- (void)setSeconds:(NSUInteger)seconds
{
    _seconds = seconds;
    
    if (_seconds == 0)
    {
        _numberLabel.text = _emptyValue == nil ? TGLocalized(@"Profile.MessageLifetimeForever") : _emptyValue;
        _unitLabel.text = @"";
    }
    else
    {
        NSArray *components = [TGStringUtils stringComponentsForMessageTimerSeconds:seconds];
        _numberLabel.text = components[0];
        _unitLabel.text = components[1];
    }
    
    [self setNeedsLayout];
}

- (void)layoutSubviews
{
    [super layoutSubviews];
    
    [_numberLabel sizeToFit];
    [_unitLabel sizeToFit];
    
    if (_unitLabel.text.length > 0)
    {
        _numberLabel.frame = (CGRect){{self.frame.size.width / 2.0f - 20.0f - _numberLabel.frame.size.width, CGFloor((self.frame.size.height - _numberLabel.frame.size.height) / 2.0f)}, _numberLabel.frame.size};
        _unitLabel.frame = (CGRect){{self.frame.size.width / 2.0f - 12.0f, CGFloor((self.frame.size.height - _unitLabel.frame.size.height) / 2.0f) + 2.0f}, _unitLabel.frame.size};
    }
    else
    {
        _numberLabel.frame = (CGRect){{CGFloor((self.frame.size.width - _numberLabel.frame.size.width) / 2.0f), CGFloor((self.frame.size.height - _numberLabel.frame.size.height) / 2.0f)}, _numberLabel.frame.size};
    }
}

@end