// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/painting.dart';
import 'package:flutter/widgets.dart';

import 'constants.dart';
import 'theme.dart';
import 'typography.dart';

class CircleAvatar extends StatelessComponent {
  CircleAvatar({
    Key key,
    this.label,
    this.backgroundColor,
    this.textTheme
  }) : super(key: key);

  final String label;
  final Color backgroundColor;
  final TextTheme textTheme;

  Widget build(BuildContext context) {
    Color color = backgroundColor;
    TextStyle style = textTheme?.title;

    if (color == null || style == null) {
      ThemeData themeData = Theme.of(context);
      color ??= themeData.primaryColor;
      style ??= themeData.primaryTextTheme.title;
    }

    return new AnimatedContainer(
      duration: kThemeChangeDuration,
      decoration: new BoxDecoration(
        backgroundColor: color,
        shape: Shape.circle
      ),
      width: 40.0,
      height: 40.0,
      child: new Center(
        child: new Text(label, style: style)
      )
    );
  }
}
