Files
plezy/lib/constants/layout_constants.dart
T
edde746 0c23de9ede feat: library overhaul
add collections, library specific home screen, and more
2025-11-16 20:53:59 +01:00

99 lines
2.5 KiB
Dart

/// Layout and sizing constants used throughout the application
/// Screen width breakpoints for responsive design
class ScreenBreakpoints {
/// Breakpoint for tablet devices (600px)
static const double tablet = 600;
/// Breakpoint for desktop devices (1200px)
static const double desktop = 1200;
/// Breakpoint for large desktop devices (1600px)
static const double largeDesktop = 1600;
}
/// Pagination constants
class PaginationConstants {
/// Default page size for library items
static const int defaultPageSize = 1000;
/// Page size for search results
static const int searchPageSize = 50;
}
/// Grid layout constants
class GridLayoutConstants {
/// Maximum cross-axis extent for grid items in comfortable density mode
static const double comfortableDesktop = 280;
static const double comfortableTablet = 240;
static const double comfortableMobile = 200;
/// Maximum cross-axis extent for grid items in compact density mode
static const double compactDesktop = 200;
static const double compactTablet = 170;
static const double compactMobile = 140;
/// Maximum cross-axis extent for grid items in normal density mode
static const double normalDesktop = 240;
static const double normalTablet = 200;
static const double normalMobile = 170;
/// Default aspect ratio for media cards (poster)
static const double posterAspectRatio = 2 / 3.3;
/// Grid spacing
static const double crossAxisSpacing = 0;
static const double mainAxisSpacing = 0;
}
/// Padding and spacing constants
class SpacingConstants {
/// Extra small spacing (4px)
static const double xs = 4;
/// Small spacing (8px)
static const double sm = 8;
/// Medium spacing (12px)
static const double md = 12;
/// Large spacing (16px)
static const double lg = 16;
/// Extra large spacing (24px)
static const double xl = 24;
/// Double extra large spacing (32px)
static const double xxl = 32;
}
/// Icon size constants
class IconSizeConstants {
/// Small icon size (16px)
static const double sm = 16;
/// Medium icon size (24px)
static const double md = 24;
/// Large icon size (32px)
static const double lg = 32;
/// Extra large icon size (48px)
static const double xl = 48;
}
/// Border radius constants
class BorderRadiusConstants {
/// Small border radius (4px)
static const double sm = 4;
/// Medium border radius (8px)
static const double md = 8;
/// Large border radius (12px)
static const double lg = 12;
/// Extra large border radius (16px)
static const double xl = 16;
}