summaryrefslogtreecommitdiffstats
path: root/lib/presentation/screens/home
diff options
context:
space:
mode:
Diffstat (limited to 'lib/presentation/screens/home')
-rw-r--r--lib/presentation/screens/home/home.dart71
-rw-r--r--lib/presentation/screens/home/widgets/custom_tile.dart50
2 files changed, 121 insertions, 0 deletions
diff --git a/lib/presentation/screens/home/home.dart b/lib/presentation/screens/home/home.dart
new file mode 100644
index 0000000..c132c98
--- /dev/null
+++ b/lib/presentation/screens/home/home.dart
@@ -0,0 +1,71 @@
+import 'package:flutter_ics_homescreen/export.dart';
+// import 'package:media_kit_video/media_kit_video.dart';
+
+class HomeScreen extends ConsumerStatefulWidget {
+ const HomeScreen({
+ super.key,
+ });
+
+ @override
+ HomeScreenState createState() => HomeScreenState();
+}
+
+class HomeScreenState extends ConsumerState<HomeScreen> {
+
+
+
+ @override
+ void initState() {
+ super.initState();
+ }
+
+ @override
+ void dispose() {
+ // player.dispose();
+ super.dispose();
+ }
+
+ @override
+ Widget build(
+ BuildContext context,
+ ) {
+ return Consumer(builder: (context, ref, child) {
+ final state = ref.read(appProvider);
+ return Scaffold(
+ key: homeScaffoldKey,
+ extendBody: true,
+ extendBodyBehindAppBar: true,
+ appBar: const CustomTopBar(),
+ body: Stack(
+ children: [
+ /*
+ Lottie.asset(
+ 'animations/BG-dotwaveform.json',
+ fit: BoxFit.cover,
+ repeat: true,
+ ),
+ */
+ FlowBuilder<AppState>(
+ state: ref.watch(appProvider),
+ onGeneratePages: onGenerateAppViewPages,
+ observers: [
+ HeroController(),
+ ],
+ ),
+ if (state != AppState.splash)
+ Positioned(
+ top: 0,
+ bottom: 0,
+ child: Container(
+ padding: const EdgeInsets.only(left: 8),
+ height: 500,
+ child: const VolumeFanControl()),
+ ),
+ ],
+ ),
+ bottomNavigationBar:
+ state == AppState.splash ? null : const CustomBottomBar(),
+ );
+ });
+ }
+}
diff --git a/lib/presentation/screens/home/widgets/custom_tile.dart b/lib/presentation/screens/home/widgets/custom_tile.dart
new file mode 100644
index 0000000..389a75d
--- /dev/null
+++ b/lib/presentation/screens/home/widgets/custom_tile.dart
@@ -0,0 +1,50 @@
+import 'package:flutter_ics_homescreen/export.dart';
+
+class CustomTile extends StatelessWidget {
+ final String name;
+ final Color color;
+ final VoidCallback callback;
+ const CustomTile({
+ Key? key,
+ required this.name,
+ required this.color,
+ required this.callback,
+ }) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ // Calculate the container size based on the app size
+ //final size = MediaQuery.of(context).size;
+ // final width = size.width * 0.15;
+ // final height = size.height * 0.15;
+ return Expanded(
+ child: GestureDetector(
+ onTap: callback,
+ child: Padding(
+ padding: const EdgeInsets.fromLTRB(0.0, 8.0, 8.0, 8.0),
+ child: Container(
+ padding: const EdgeInsets.symmetric(
+ horizontal: 20,
+ vertical: 10,
+ ),
+ height: 150, //height,
+ width: 150, //width,
+ color: color,
+ child: Center(
+ child: Text(
+ name,
+ textAlign: TextAlign.center,
+ overflow: TextOverflow.fade,
+ style: const TextStyle(
+ color: Colors.white,
+ //fontSize: width * 0.15,
+ fontSize: 18,
+ ),
+ ),
+ ),
+ ),
+ ),
+ ),
+ );
+ }
+}