resolveSideOverlayWidth method

double resolveSideOverlayWidth(
  1. BuildContext context, {
  2. bool isCreateOrEdit = false,
})

Resolves the effective responsive side overlay width for a given context and screen size.

Implementation

double resolveSideOverlayWidth(BuildContext context, {bool isCreateOrEdit = false}) {
  final screenWidth = MediaQuery.of(context).size.width;
  if (screenWidth < kMobileBreakpoint) {
    return screenWidth;
  }

  final ratio = isCreateOrEdit ? (createSideOverlayWidthRatio ?? sideOverlayWidthRatio) : sideOverlayWidthRatio;
  final baseWidth = isCreateOrEdit ? (createSideOverlayWidth ?? sideOverlayWidth) : sideOverlayWidth;
  final minW = isCreateOrEdit ? (createSideOverlayMinWidth ?? sideOverlayMinWidth ?? 320.0) : (sideOverlayMinWidth ?? 320.0);
  final maxW = isCreateOrEdit ? (createSideOverlayMaxWidth ?? sideOverlayMaxWidth) : sideOverlayMaxWidth;

  final targetWidth = ratio != null ? (screenWidth * ratio) : baseWidth;
  final clampedMax = maxW ?? screenWidth;
  return targetWidth.clamp(minW, clampedMax > minW ? clampedMax : minW);
}