feat: adjust text width for web
parent
0cdab96552
commit
686657628a
|
@ -124,7 +124,7 @@ class _CardComponentState extends State<CardComponent> {
|
|||
return Padding(
|
||||
padding: const EdgeInsets.only(top: 10.0), // Adjust the padding as needed
|
||||
child: Text(
|
||||
"${i+1}. ${getFoodListStringByFood(foodName, values[0], values[1])}",
|
||||
"${i+1}. ${getFoodListStringByFood(foodName, values[0], values[1], context)}",
|
||||
),
|
||||
);
|
||||
}),
|
||||
|
|
|
@ -20,7 +20,7 @@ class SearchedFoodComponent extends StatefulWidget {
|
|||
|
||||
class _SearchFoodComponentState extends State<SearchedFoodComponent> {
|
||||
int counter = 1;
|
||||
void storeFood(int counter) async {
|
||||
void storeFood(int counter, BuildContext context) async {
|
||||
final mealplanBox = Hive.box(dotenv.env['MEALPLAN_BOX']!);
|
||||
if (!mealplanBox.isOpen){
|
||||
Hive.openBox(dotenv.env['MEALPLAN_BOX']!);
|
||||
|
@ -29,12 +29,12 @@ class _SearchFoodComponentState extends State<SearchedFoodComponent> {
|
|||
StatisticsService.instance.addItemToMainBox(widget.food, widget.cardName);
|
||||
addValuesToList(mealplanBox, widget.cardName, [widget.food]);
|
||||
}
|
||||
showSuccessToast();
|
||||
showSuccessToast(context);
|
||||
}
|
||||
|
||||
void showSuccessToast(){
|
||||
void showSuccessToast(BuildContext context){
|
||||
Fluttertoast.showToast(
|
||||
msg: "${getToastFoodNameString(widget.food)} erfolgreich zu ${StringUtils.capitalize(widget.cardName)} hinzugefügt",
|
||||
msg: "${getToastFoodNameString(widget.food,context)} erfolgreich zu ${StringUtils.capitalize(widget.cardName)} hinzugefügt",
|
||||
toastLength: Toast.LENGTH_SHORT,
|
||||
gravity: ToastGravity.BOTTOM,
|
||||
timeInSecForIosWeb: 5,
|
||||
|
@ -172,7 +172,7 @@ class _SearchFoodComponentState extends State<SearchedFoodComponent> {
|
|||
padding: const EdgeInsets.only(top:12),
|
||||
child: ElevatedButton(
|
||||
onPressed: () async {
|
||||
storeFood(counter);
|
||||
storeFood(counter,context);
|
||||
},
|
||||
style: ElevatedButton.styleFrom(
|
||||
foregroundColor: Colors.white,
|
||||
|
|
|
@ -1,19 +1,36 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
import '../models/food.dart';
|
||||
|
||||
String getFoodListStringByFood(String foodName, int count, int calories){
|
||||
String getFoodListStringByFood(String foodName, int count, int calories, BuildContext? context){
|
||||
int maxWidth = 35;
|
||||
if(context != null){
|
||||
maxWidth = isScreenWidthAbove1000(context) ? 100 : 35;
|
||||
}
|
||||
String limitedText = foodName.length > maxWidth ? "${foodName.substring(0, maxWidth - 3)} ... $count x $calories kcal" : "$foodName $count x $calories kcal";
|
||||
return limitedText;
|
||||
}
|
||||
|
||||
String getWeeklyRankingString(String foodName){
|
||||
|
||||
bool isScreenWidthAbove1000(BuildContext context) {
|
||||
double screenWidth = MediaQuery.of(context).size.width;
|
||||
return screenWidth > 400;
|
||||
}
|
||||
|
||||
String getWeeklyRankingString(String foodName,BuildContext? context){
|
||||
int maxWidth = 40;
|
||||
if(context != null){
|
||||
maxWidth = isScreenWidthAbove1000(context) ? 100 : 40;
|
||||
}
|
||||
String limitedText = foodName.length > maxWidth ? "${foodName.substring(0, maxWidth - 3)} ..." : foodName;
|
||||
return limitedText;
|
||||
}
|
||||
|
||||
String getToastFoodNameString(Food food){
|
||||
String getToastFoodNameString(Food food,BuildContext? context){
|
||||
int maxWidth = 25;
|
||||
if(context != null){
|
||||
maxWidth = isScreenWidthAbove1000(context) ? 100 : 25;
|
||||
}
|
||||
String limitedText = food.name.length > maxWidth ? "${food.name.substring(0, maxWidth - 3)} ..." : food.name;
|
||||
return limitedText;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ class ProgressPage extends StatelessWidget {
|
|||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
SecondaryTextComponent(
|
||||
getWeeklyRankingString(item.name),
|
||||
getWeeklyRankingString(item.name,context),
|
||||
value.indexOf(item)+1
|
||||
),
|
||||
SecondaryTextComponent(
|
||||
|
|
|
@ -89,10 +89,10 @@ Future<void> main() async {
|
|||
test('check if format helper are working right',() {
|
||||
expect(2,getListOfDistinctElements(getFoodListValid()).length);
|
||||
expect(3,getMapOfDistinctElementsWithCounterAndCalories(getFoodListValid()).keys.length);
|
||||
expect("Testfood",getToastFoodNameString(getFoodListValid()[0]));
|
||||
expect("TestfoodTestfoodTestfo ...",getToastFoodNameString(getFoodListValid()[1]));
|
||||
expect("Testfood",getToastFoodNameString(getFoodListValid()[0],null));
|
||||
expect("TestfoodTestfoodTestfo ...",getToastFoodNameString(getFoodListValid()[1],null));
|
||||
Food food = getFoodListValid()[0];
|
||||
expect("Testfood 2 x 600 kcal", getFoodListStringByFood(food.name, 2, 600));
|
||||
expect("Testfood 2 x 600 kcal", getFoodListStringByFood(food.name, 2, 600,null));
|
||||
});
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue