mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
CW-342 Enable Mac Layout on iPad (#958)
* Add iPad responsive layout * Set magic number to position input field on wider screens * Adjust screen resolution * Update target device family for ios * Add icons for iPad * Revert width adjustment for ipad * Fix overflowing balance * Fix overflowing balance * Fix PR issues * Remove unused icons [skip ci] --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
This commit is contained in:
co-authored by
OmarHatem
parent
e84d02f661
commit
affc35f335
@@ -130,17 +130,16 @@ class ExceptionHandler {
|
||||
_ignoredErrors.any((element) => error.contains(element));
|
||||
|
||||
static const List<String> _ignoredErrors = const [
|
||||
"errno = 9", // SocketException: Bad file descriptor
|
||||
"errno = 28", // OS Error: No space left on device
|
||||
"errno = 32", // SocketException: Write failed (OS Error: Broken pipe)
|
||||
"errno = 49", // SocketException: Can't assign requested address
|
||||
"errno = 54", // SocketException: Connection reset by peer
|
||||
"errno = 57", // SocketException: Read failed (OS Error: Socket is not connected)
|
||||
"errno = 60", // SocketException: Operation timed out
|
||||
"errno = 65", // SocketException: No route to host
|
||||
"errno = 103", // SocketException: Software caused connection abort
|
||||
"errno = 104", // SocketException: Connection reset by peer
|
||||
"errno = 110", // SocketException: Connection timed out
|
||||
"Bad file descriptor",
|
||||
"No space left on device",
|
||||
"Write failed (OS Error: Broken pipe)",
|
||||
"Can't assign requested address",
|
||||
"Read failed (OS Error: Socket is not connected)",
|
||||
"Operation timed out",
|
||||
"No route to host",
|
||||
"Software caused connection abort",
|
||||
"Connection reset by peer",
|
||||
"Connection timed out",
|
||||
"Connection reset by peer",
|
||||
"Connection closed before full header was received",
|
||||
"Connection terminated during handshake",
|
||||
|
||||
@@ -1,33 +1,35 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ResponsiveLayoutUtil {
|
||||
static const double _kMobileThreshold = 900;
|
||||
static const double _kMobileThreshold = 768;
|
||||
static const double kDesktopMaxWidthConstraint = 400;
|
||||
static const double kPopupWidth = 400;
|
||||
static const double kPopupSpaceHeight = 100;
|
||||
|
||||
static const _kIpadMaxWidth = 2560.0;
|
||||
|
||||
const ResponsiveLayoutUtil._();
|
||||
|
||||
static final instance = ResponsiveLayoutUtil._();
|
||||
|
||||
bool isMobile(BuildContext context) {
|
||||
final MediaQueryData mediaQueryData = MediaQuery.of(context);
|
||||
return mediaQueryData.size.width < _kMobileThreshold;
|
||||
bool get isMobile =>
|
||||
WidgetsBinding.instance.platformDispatcher.views.first.physicalSize.width < _kMobileThreshold;
|
||||
|
||||
bool get isIpad {
|
||||
final width = WidgetsBinding.instance.platformDispatcher.views.first.physicalSize.width;
|
||||
return width >= _kMobileThreshold && !(width > _kIpadMaxWidth);
|
||||
}
|
||||
|
||||
/// 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;
|
||||
final value = isMobile ? mobileSize : originalValue;
|
||||
|
||||
return value.roundToDouble();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user