/// UI 관련 상수 정의
/// 하드코딩된 패딩, 마진, 크기 값들을 중앙 집중화
class AppDimensions {
  AppDimensions._();

  // Padding & Margin
  static const double paddingXs = 4.0;
  static const double paddingSm = 8.0;
  static const double paddingMd = 12.0;
  static const double paddingDefault = 16.0;
  static const double paddingLg = 20.0;
  static const double paddingXl = 24.0;

  // Border Radius
  static const double radiusSm = 8.0;
  static const double radiusMd = 12.0;
  static const double radiusLg = 16.0;
  static const double radiusXl = 20.0;
  static const double radiusRound = 999.0;

  // Icon Sizes
  static const double iconSm = 16.0;
  static const double iconMd = 24.0;
  static const double iconLg = 32.0;
  static const double iconXl = 48.0;
  static const double iconXxl = 64.0;
  static const double iconHuge = 80.0;

  // Card Sizes
  static const double cardIconSize = 48.0;
  static const double cardMinHeight = 80.0;

  // Ad Settings
  static const int adInterval = 6; // 5리스트 후 1광고
  static const int adOffset = 5; // 광고 시작 위치
  static const double adHeightSmall = 100.0;
  static const double adHeightMedium = 320.0;

  // Distance Settings
  static const double maxSearchDistance = 2000.0; // meters
  static const int distanceSliderDivisions = 19;

  // List Settings
  static const double listItemSpacing = 8.0;
  static const double sectionSpacing = 16.0;

  // Bottom Sheet
  static const double bottomSheetHandleWidth = 40.0;
  static const double bottomSheetHandleHeight = 4.0;

  // Avatar/Profile
  static const double avatarSm = 32.0;
  static const double avatarMd = 48.0;
  static const double avatarLg = 64.0;
}
