mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-29 15:09:23 +00:00
35 lines
934 B
Dart
35 lines
934 B
Dart
|
import 'package:flutter/material.dart';
|
||
|
|
||
|
class ResponsiveLayoutUtil {
|
||
|
static const double _kMobileThreshold = 900;
|
||
|
static const double kDesktopMaxWidthConstraint = 400;
|
||
|
static const double kPopupWidth = 400;
|
||
|
static const double kPopupSpaceHeight = 100;
|
||
|
|
||
|
|
||
|
const ResponsiveLayoutUtil._();
|
||
|
|
||
|
static final instance = ResponsiveLayoutUtil._();
|
||
|
|
||
|
bool isMobile(BuildContext context) {
|
||
|
final MediaQueryData mediaQueryData = MediaQuery.of(context);
|
||
|
return mediaQueryData.size.width < _kMobileThreshold;
|
||
|
}
|
||
|
|
||
|
/// Returns dynamic size.
|
||
|
///
|
||
|
/// If screen size is mobile, it returns 66% ([scale]) of the [originalValue].
|
||
|
double getDynamicSize(
|
||
|
BuildContext context,
|
||
|
double originalValue, {
|
||
|
double? mobileSize,
|
||
|
double? scale,
|
||
|
}) {
|
||
|
scale ??= 2 / 3;
|
||
|
mobileSize ??= originalValue * scale;
|
||
|
final value = isMobile(context) ? mobileSize : originalValue;
|
||
|
|
||
|
return value.roundToDouble();
|
||
|
}
|
||
|
}
|