import 'package:design/design.dart';
part 'dialog_daily_reward_gift_design_model.g.dart';

@DesignSpec(width: 750, height: 1624)
abstract class DialogDailyRewardDesignSpec implements BasicDesignSpec {
  @NestedAspectSpec(654.0 / 765.0, 654.0 / 750.0, widthUpperLimit: 400)
  DialogDailyRewardContentDesignSpec get contentSpec;

  static DialogDailyRewardDesignSpec get() => _DialogDailyRewardDesignSpec.get();
}

@DesignSpec(width: 654.0, height: 765.0, nestedSpec: true)
abstract class DialogDailyRewardContentDesignSpec implements BasicDesignSpec {

  @SpecRadius.circular(SpecHeight(40))
  BorderRadius get cardRadius;

  @SpecRadius.circular(SpecHeight(30))
  BorderRadius get contentRadius;

  @SpecWidth(12)
  double get borderWidth;

  @SpecEdgeInsets.only(top: SpecVertical(28), start: SpecHorizontal(20))
  EdgeInsets get closeIconInsets;

  @SpecSize(SpecHeight(48), SpecHeight(48))
  Size get closeIconSize;

  @SpecEdgeInsets.only(top: SpecVertical(68),start: SpecHorizontal(76),end: SpecHorizontal(76))
  EdgeInsets get titleInsets;

  @SpecFontSize(36)
  double get titleFontSize;

  @SpecHeight(76)
  double get firstGiftTopSpace;
  
  @SpecWidth(200)
  double get giftHeight;

  @SpecWidth(260)
  double get giftWidth;

  @SpecHeight(24)
  double get secondGiftTopSpace;
  
  @SpecWidth(38)
  double get giftsSpace;

  @SpecHeight(48)
  double get guideTextTopSpace;

  @SpecHeight(80)
  double get guideTextBottomSpace;

  @SpecWidth(72)
  double get watchAdImageWidth;

  @SpecWidth(48)
  double get watchAdImageHeight;

  @SpecWidth(30)
  double get watchAdImageRightSpace;

  @SpecHeight(8)
  double get watchAdImageBottomSpace;

  @SpecAbsoluteFontSize(28)
  double get guideTextFontSize;



  static DialogDailyRewardContentDesignSpec create(Size measuredSize, {Offset offset = Offset.zero}) => _DialogDailyRewardContentDesignSpec._create(measuredSize);
}
