current outlet

This commit is contained in:
efrilm
2025-10-24 13:55:00 +07:00
parent 97c03bcf96
commit 4dbdcadeaf
27 changed files with 2201 additions and 11 deletions
@@ -0,0 +1,27 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import '../../../common/theme/theme.dart';
import '../spaces/space.dart';
class LoaderWithText extends StatelessWidget {
const LoaderWithText({super.key});
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SpinKitFadingCircle(color: AppColor.primary),
SpaceWidth(10),
Text(
'Loading...',
style: AppStyle.md.copyWith(
color: AppColor.primary,
fontWeight: FontWeight.w500,
),
),
],
);
}
}
@@ -1,12 +1,33 @@
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import '../../../../../common/theme/theme.dart';
import 'widgets/home_left_panel.dart';
import 'widgets/home_right_panel.dart';
@RoutePage()
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return const Center(child: Text('Home Page'));
return Hero(
tag: 'confirmation_screen',
child: Scaffold(
backgroundColor: AppColor.white,
body: Column(
children: [
Expanded(
child: Row(
children: [
Expanded(flex: 3, child: HomeLeftPanel()),
Expanded(flex: 2, child: HomeRightPanel()),
],
),
),
],
),
),
);
}
}
@@ -0,0 +1,16 @@
import 'package:flutter/widgets.dart';
import 'home_title.dart';
class HomeLeftPanel extends StatelessWidget {
const HomeLeftPanel({super.key});
@override
Widget build(BuildContext context) {
return Column(
children: [
HomeTitle(controller: TextEditingController(), onChanged: (value) {}),
],
);
}
}
@@ -0,0 +1,10 @@
import 'package:flutter/widgets.dart';
class HomeRightPanel extends StatelessWidget {
const HomeRightPanel({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
@@ -0,0 +1,51 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import '../../../../../../application/auth/auth_bloc.dart';
import '../../../../../../common/extension/extension.dart';
import '../../../../../../common/theme/theme.dart';
import '../../../../../components/spaces/space.dart';
class HomeTitle extends StatelessWidget {
final TextEditingController controller;
final Function(String value)? onChanged;
const HomeTitle({super.key, required this.controller, this.onChanged});
@override
Widget build(BuildContext context) {
return Container(
height: context.deviceHeight * 0.1,
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0),
decoration: BoxDecoration(color: AppColor.white),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
BlocBuilder<AuthBloc, AuthState>(
builder: (context, state) {
return Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
state.outlet.name,
style: AppStyle.xl.copyWith(
color: AppColor.primary,
fontWeight: FontWeight.w600,
),
),
SpaceWidth(2),
Icon(
Icons.keyboard_arrow_down,
color: AppColor.primary,
size: 18,
),
],
);
},
),
],
),
);
}
}