From ff0c12e23d7ee400de22cce864f2d6be969295da Mon Sep 17 00:00:00 2001 From: Darshan Date: Tue, 25 Feb 2025 09:24:01 +0530 Subject: [PATCH] address comments. --- lib/app.dart | 19 +++++++++++ lib/home.dart | 75 +++++++++++++++++++++++++++++++++++++++++ lib/main.dart | 92 +-------------------------------------------------- 3 files changed, 95 insertions(+), 91 deletions(-) create mode 100644 lib/app.dart create mode 100644 lib/home.dart diff --git a/lib/app.dart b/lib/app.dart new file mode 100644 index 0000000..db99e3f --- /dev/null +++ b/lib/app.dart @@ -0,0 +1,19 @@ +import 'package:appwrite_flutter_starter_kit/home.dart'; +import 'package:flutter/material.dart'; + +class AppwriteApp extends StatelessWidget { + const AppwriteApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Appwrite StarterKit', + debugShowCheckedModeBanner: false, + theme: ThemeData( + useMaterial3: true, + colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + ), + home: const AppwriteStarterKit(), + ); + } +} diff --git a/lib/home.dart b/lib/home.dart new file mode 100644 index 0000000..6cd2e5b --- /dev/null +++ b/lib/home.dart @@ -0,0 +1,75 @@ +import 'package:appwrite_flutter_starter_kit/data/models/log.dart'; +import 'package:appwrite_flutter_starter_kit/data/models/status.dart'; +import 'package:appwrite_flutter_starter_kit/data/repository/appwrite_repository.dart'; +import 'package:appwrite_flutter_starter_kit/ui/components/checkered_background.dart'; +import 'package:appwrite_flutter_starter_kit/ui/components/collapsible_bottomsheet.dart'; +import 'package:appwrite_flutter_starter_kit/ui/components/connection_status_view.dart'; +import 'package:appwrite_flutter_starter_kit/ui/components/getting_started_cards.dart'; +import 'package:appwrite_flutter_starter_kit/ui/components/top_platform_view.dart'; +import 'package:appwrite_flutter_starter_kit/utils/extensions/build_context.dart'; +import 'package:flutter/material.dart'; + +class AppwriteStarterKit extends StatefulWidget { + const AppwriteStarterKit({super.key}); + + @override + State createState() => _AppwriteStarterKit(); +} + +class _AppwriteStarterKit extends State { + final List _logs = []; + Status _status = Status.idle; + final AppwriteRepository _repository = AppwriteRepository(); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: CheckeredBackground( + child: SafeArea( + minimum: EdgeInsets.only(top: context.isLargeScreen ? 24 : 16), + child: Stack( + children: [ + SingleChildScrollView( + child: Column( + spacing: 16, + children: [ + TopPlatformView(status: _status), + ConnectionStatusView( + status: _status, + onButtonClick: () async { + setState(() => _status = Status.loading); + final log = await _repository.ping(); + _logs.add(log); + + await Future.delayed( + const Duration(milliseconds: 1250), + ); + + setState( + () => _status = + (200 <= log.status && log.status <= 399) + ? Status.success + : Status.error, + ); + }, + ), + GettingStartedCards() + ], + ), + ), + + // bottomsheet + Align( + alignment: Alignment.bottomCenter, + child: CollapsibleBottomSheet( + logs: _logs, + projectInfo: _repository.getProjectInfo(), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/main.dart b/lib/main.dart index b9d58b2..5abb847 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,98 +1,8 @@ -import 'package:appwrite_flutter_starter_kit/data/models/log.dart'; -import 'package:appwrite_flutter_starter_kit/data/models/status.dart'; -import 'package:appwrite_flutter_starter_kit/data/repository/appwrite_repository.dart'; -import 'package:appwrite_flutter_starter_kit/ui/components/checkered_background.dart'; -import 'package:appwrite_flutter_starter_kit/ui/components/collapsible_bottomsheet.dart'; -import 'package:appwrite_flutter_starter_kit/ui/components/connection_status_view.dart'; -import 'package:appwrite_flutter_starter_kit/ui/components/getting_started_cards.dart'; -import 'package:appwrite_flutter_starter_kit/ui/components/top_platform_view.dart'; +import 'package:appwrite_flutter_starter_kit/app.dart'; import 'package:appwrite_flutter_starter_kit/utils/app_initializer.dart'; -import 'package:appwrite_flutter_starter_kit/utils/extensions/build_context.dart'; import 'package:flutter/material.dart'; void main() async { await AppInitializer.initialize(); runApp(AppwriteApp()); } - -class AppwriteApp extends StatelessWidget { - const AppwriteApp({super.key}); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Appwrite StarterKit', - debugShowCheckedModeBanner: false, - theme: ThemeData( - useMaterial3: true, - colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), - ), - home: const AppwriteStarterKit(), - ); - } -} - -class AppwriteStarterKit extends StatefulWidget { - const AppwriteStarterKit({super.key}); - - @override - State createState() => _AppwriteStarterKit(); -} - -class _AppwriteStarterKit extends State { - final List _logs = []; - Status _status = Status.idle; - final AppwriteRepository _repository = AppwriteRepository(); - - @override - Widget build(BuildContext context) { - return Scaffold( - body: CheckeredBackground( - child: SafeArea( - minimum: EdgeInsets.only(top: context.isLargeScreen ? 24 : 16), - child: Stack( - children: [ - SingleChildScrollView( - child: Column( - spacing: 16, - children: [ - TopPlatformView(status: _status), - ConnectionStatusView( - status: _status, - onButtonClick: () async { - setState(() => _status = Status.loading); - final log = await _repository.ping(); - _logs.add(log); - - await Future.delayed( - const Duration(milliseconds: 1250), - ); - - setState( - () => _status = - (200 <= log.status && log.status <= 399) - ? Status.success - : Status.error, - ); - }, - ), - GettingStartedCards() - ], - ), - ), - - // bottomsheet - Align( - alignment: Alignment.bottomCenter, - child: CollapsibleBottomSheet( - logs: _logs, - projectInfo: _repository.getProjectInfo(), - ), - ), - ], - ), - ), - ), - ); - } -}