Merge pull request 'responsive_home' (#20) from responsive_home into main

Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/20
This commit is contained in:
a.ghabeli
2025-08-09 08:32:53 +03:30
18 changed files with 666 additions and 213 deletions
+1 -1
View File
@@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:tm_app/views/detail/detail_screen.dart';
import 'package:tm_app/views/home/pages/home_screen.dart';
import 'package:tm_app/views/login/login_screen.dart';
import '../../views/home/home_screen.dart';
import '../../views/profile/profile_screen.dart';
import '../../views/tenders/tenders_screen.dart';
import '../../views/your_tenders/your_tenders_screen.dart';
+35
View File
@@ -0,0 +1,35 @@
import 'package:flutter/material.dart';
enum DisplaySize {
extraSmall, //mobile
small, //tablet
medium, //laptop
large, //desktop
}
extension DisplaySizeDetector on Size {
DisplaySize get displaySize {
if (width < 600) {
return DisplaySize.extraSmall;
} else if (width < 1024) {
return DisplaySize.small;
} else if (width < 1440) {
return DisplaySize.medium;
} else {
return DisplaySize.large;
}
}
String get displaySizeName {
switch (displaySize) {
case DisplaySize.extraSmall:
return 'Mobile';
case DisplaySize.small:
return 'Tablet';
case DisplaySize.medium:
return 'Laptop';
case DisplaySize.large:
return 'Desktop';
}
}
}
+19 -2
View File
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:tm_app/core/utils/breakpoints.dart';
class SizeConfig {
static double screenWidth = 0.0;
@@ -14,15 +15,31 @@ class SizeConfig {
extension SizeDoubleExt on double {
double h() {
final displaySize =
Size(SizeConfig.screenWidth, SizeConfig.screenHeight).displaySize;
final double screenHeight = SizeConfig.screenHeight;
final double res = (this / 917.0) * screenHeight;
return res;
if (displaySize == DisplaySize.extraSmall
// displaySize == DisplaySize.small
) {
return res;
} else {
return this;
}
}
double w() {
final displaySize =
Size(SizeConfig.screenWidth, SizeConfig.screenHeight).displaySize;
final double screenWidth = SizeConfig.screenWidth;
final double res = (this / 412.0) * screenWidth;
return res;
if (displaySize == DisplaySize.extraSmall
// displaySize == DisplaySize.small
) {
return res;
} else {
return this;
}
}
double sp() {