feat:Baskets empty page ui done
This commit is contained in:
@@ -525,6 +525,36 @@ abstract class AppLocalizations {
|
||||
/// In en, this message translates to:
|
||||
/// **'Spend {spend}, save {save}'**
|
||||
String spendAndSave(String spend, String save);
|
||||
|
||||
/// No description provided for @cartsTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Carts'**
|
||||
String get cartsTitle;
|
||||
|
||||
/// No description provided for @addItemsStartBasket.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add items to start a basket'**
|
||||
String get addItemsStartBasket;
|
||||
|
||||
/// No description provided for @basketHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Once you add items from a restaurant or store, your basket will appear here.'**
|
||||
String get basketHint;
|
||||
|
||||
/// No description provided for @startShopping.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Start Shopping'**
|
||||
String get startShopping;
|
||||
|
||||
/// No description provided for @orders.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Orders'**
|
||||
String get orders;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
@@ -231,4 +231,20 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String spendAndSave(String spend, String save) {
|
||||
return 'Spend $spend, save $save';
|
||||
}
|
||||
|
||||
@override
|
||||
String get cartsTitle => 'Carts';
|
||||
|
||||
@override
|
||||
String get addItemsStartBasket => 'Add items to start a basket';
|
||||
|
||||
@override
|
||||
String get basketHint =>
|
||||
'Once you add items from a restaurant or store, your basket will appear here.';
|
||||
|
||||
@override
|
||||
String get startShopping => 'Start Shopping';
|
||||
|
||||
@override
|
||||
String get orders => 'Orders';
|
||||
}
|
||||
|
||||
@@ -232,4 +232,20 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
String spendAndSave(String spend, String save) {
|
||||
return 'Потратьте $spend, сэкономьте $save';
|
||||
}
|
||||
|
||||
@override
|
||||
String get cartsTitle => 'Корзины';
|
||||
|
||||
@override
|
||||
String get addItemsStartBasket => 'Добавьте товары, чтобы создать корзину';
|
||||
|
||||
@override
|
||||
String get basketHint =>
|
||||
'Когда вы добавите товары из ресторана или магазина, ваша корзина появится здесь.';
|
||||
|
||||
@override
|
||||
String get startShopping => 'Начать покупки';
|
||||
|
||||
@override
|
||||
String get orders => 'Заказы';
|
||||
}
|
||||
|
||||
@@ -232,4 +232,20 @@ class AppLocalizationsUz extends AppLocalizations {
|
||||
String spendAndSave(String spend, String save) {
|
||||
return '$spend sarflang, $save tejang';
|
||||
}
|
||||
|
||||
@override
|
||||
String get cartsTitle => 'Savatlar';
|
||||
|
||||
@override
|
||||
String get addItemsStartBasket => 'Savatni boshlash uchun mahsulot qo‘shing';
|
||||
|
||||
@override
|
||||
String get basketHint =>
|
||||
'Restorandan yoki do\'kondan mahsulot qo‘shsangiz, savatingiz shu yerda paydo bo‘ladi.';
|
||||
|
||||
@override
|
||||
String get startShopping => 'Xaridni boshlash';
|
||||
|
||||
@override
|
||||
String get orders => 'Buyurtmalar';
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ abstract class AppIcons {
|
||||
static const String icUber = "$baseUrl/ic_uber.svg";
|
||||
static const String icLocation = "$baseUrl/ic_location.svg";
|
||||
static const String icArrowBottom = "$baseUrl/ic_arrow_btm.svg";
|
||||
static const String icEmptyBasket = "$baseUrl/ic_empty_basket.svg";
|
||||
|
||||
static const String icPicked = "$baseUrl/ic_picked.svg";
|
||||
static const String icMostPopular = "$baseUrl/ic_popular.svg";
|
||||
@@ -44,4 +45,6 @@ abstract class AppIcons {
|
||||
static const String icGlutenFree = "$baseUrl/ic_gluten_free.png";
|
||||
static const String icAllergyFriendly = "$baseUrl/ic_allergy_friendly.png";
|
||||
static const String icClock = "$baseUrl/ic_clock.svg";
|
||||
static const String icOrders= "$baseUrl/ic_orders.png";
|
||||
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
import 'package:food_delivery_client/feature/basket/presentation/pages/basket_page/widgets/w_basket_empty.dart';
|
||||
import 'package:food_delivery_client/feature/basket/presentation/pages/basket_page/widgets/w_basket_header.dart';
|
||||
|
||||
import '../../../../../food_delivery_client.dart';
|
||||
|
||||
class BasketPage extends StatelessWidget {
|
||||
@@ -6,7 +9,9 @@ class BasketPage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return WLayout(
|
||||
child: Scaffold(body: Center(child: Text(context.loc.useYourTAxiAccount))),
|
||||
child: Scaffold(body: Column(children: [
|
||||
WBasketHeader(),
|
||||
WBasketEmpty()])),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import '../../../../../../food_delivery_client.dart';
|
||||
|
||||
class WBasketEmpty extends StatelessWidget {
|
||||
const WBasketEmpty({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<MainBloc, MainState>(
|
||||
builder: (context, state) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
70.verticalSpace,
|
||||
SvgPicture.asset(AppIcons.icEmptyBasket),
|
||||
Text(
|
||||
context.loc.addItemsStartBasket,
|
||||
textAlign: TextAlign.center,
|
||||
style: AppTextStyles.size20Medium,
|
||||
),
|
||||
12.verticalSpace,
|
||||
Text(
|
||||
context.loc.basketHint,
|
||||
textAlign: TextAlign.center,
|
||||
style: AppTextStyles.size16Regular.copyWith(
|
||||
color: AppColors.c545454,
|
||||
height: 24 / 16,
|
||||
),
|
||||
),
|
||||
38.verticalSpace,
|
||||
AppButton(
|
||||
name: context.loc.startShopping,
|
||||
onPressed: () {
|
||||
context.read<MainBloc>().add(MainEvent.loaded(0));
|
||||
},
|
||||
height: 45,
|
||||
width: 250,
|
||||
|
||||
borderRadius: 99,
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
).paddingSymmetric(horizontal: 35);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
import '../../../../../../food_delivery_client.dart';
|
||||
|
||||
class WBasketHeader extends StatelessWidget {
|
||||
const WBasketHeader({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Align(
|
||||
alignment: AlignmentGeometry.centerRight,
|
||||
child: InkWell(
|
||||
borderRadius: BorderRadius.circular(99),
|
||||
onTap: () {},
|
||||
child: Ink(
|
||||
decoration: BoxDecoration(
|
||||
color: AppColors.cEEEEEE,
|
||||
borderRadius: BorderRadius.circular(99),
|
||||
),
|
||||
child: Row(
|
||||
spacing: 10,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Image.asset(
|
||||
AppIcons.icOrders,
|
||||
height: 20,
|
||||
width: 20,
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
Text(context.loc.orders, style: AppTextStyles.size14Medium),
|
||||
],
|
||||
).paddingSymmetric(vertical: 10, horizontal: 16),
|
||||
),
|
||||
),
|
||||
),
|
||||
Align(
|
||||
alignment: AlignmentGeometry.centerLeft,
|
||||
child: Text(context.loc.cartsTitle, style: AppTextStyles.size36Bold),
|
||||
),
|
||||
],
|
||||
).paddingSymmetric(horizontal: 15);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user