Skip to content

Commit ff0c12e

Browse files
committed
address comments.
1 parent ae3e6ea commit ff0c12e

File tree

3 files changed

+95
-91
lines changed

3 files changed

+95
-91
lines changed

lib/app.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'package:appwrite_flutter_starter_kit/home.dart';
2+
import 'package:flutter/material.dart';
3+
4+
class AppwriteApp extends StatelessWidget {
5+
const AppwriteApp({super.key});
6+
7+
@override
8+
Widget build(BuildContext context) {
9+
return MaterialApp(
10+
title: 'Appwrite StarterKit',
11+
debugShowCheckedModeBanner: false,
12+
theme: ThemeData(
13+
useMaterial3: true,
14+
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
15+
),
16+
home: const AppwriteStarterKit(),
17+
);
18+
}
19+
}

lib/home.dart

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import 'package:appwrite_flutter_starter_kit/data/models/log.dart';
2+
import 'package:appwrite_flutter_starter_kit/data/models/status.dart';
3+
import 'package:appwrite_flutter_starter_kit/data/repository/appwrite_repository.dart';
4+
import 'package:appwrite_flutter_starter_kit/ui/components/checkered_background.dart';
5+
import 'package:appwrite_flutter_starter_kit/ui/components/collapsible_bottomsheet.dart';
6+
import 'package:appwrite_flutter_starter_kit/ui/components/connection_status_view.dart';
7+
import 'package:appwrite_flutter_starter_kit/ui/components/getting_started_cards.dart';
8+
import 'package:appwrite_flutter_starter_kit/ui/components/top_platform_view.dart';
9+
import 'package:appwrite_flutter_starter_kit/utils/extensions/build_context.dart';
10+
import 'package:flutter/material.dart';
11+
12+
class AppwriteStarterKit extends StatefulWidget {
13+
const AppwriteStarterKit({super.key});
14+
15+
@override
16+
State<AppwriteStarterKit> createState() => _AppwriteStarterKit();
17+
}
18+
19+
class _AppwriteStarterKit extends State<AppwriteStarterKit> {
20+
final List<Log> _logs = [];
21+
Status _status = Status.idle;
22+
final AppwriteRepository _repository = AppwriteRepository();
23+
24+
@override
25+
Widget build(BuildContext context) {
26+
return Scaffold(
27+
body: CheckeredBackground(
28+
child: SafeArea(
29+
minimum: EdgeInsets.only(top: context.isLargeScreen ? 24 : 16),
30+
child: Stack(
31+
children: [
32+
SingleChildScrollView(
33+
child: Column(
34+
spacing: 16,
35+
children: [
36+
TopPlatformView(status: _status),
37+
ConnectionStatusView(
38+
status: _status,
39+
onButtonClick: () async {
40+
setState(() => _status = Status.loading);
41+
final log = await _repository.ping();
42+
_logs.add(log);
43+
44+
await Future.delayed(
45+
const Duration(milliseconds: 1250),
46+
);
47+
48+
setState(
49+
() => _status =
50+
(200 <= log.status && log.status <= 399)
51+
? Status.success
52+
: Status.error,
53+
);
54+
},
55+
),
56+
GettingStartedCards()
57+
],
58+
),
59+
),
60+
61+
// bottomsheet
62+
Align(
63+
alignment: Alignment.bottomCenter,
64+
child: CollapsibleBottomSheet(
65+
logs: _logs,
66+
projectInfo: _repository.getProjectInfo(),
67+
),
68+
),
69+
],
70+
),
71+
),
72+
),
73+
);
74+
}
75+
}

lib/main.dart

Lines changed: 1 addition & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,8 @@
1-
import 'package:appwrite_flutter_starter_kit/data/models/log.dart';
2-
import 'package:appwrite_flutter_starter_kit/data/models/status.dart';
3-
import 'package:appwrite_flutter_starter_kit/data/repository/appwrite_repository.dart';
4-
import 'package:appwrite_flutter_starter_kit/ui/components/checkered_background.dart';
5-
import 'package:appwrite_flutter_starter_kit/ui/components/collapsible_bottomsheet.dart';
6-
import 'package:appwrite_flutter_starter_kit/ui/components/connection_status_view.dart';
7-
import 'package:appwrite_flutter_starter_kit/ui/components/getting_started_cards.dart';
8-
import 'package:appwrite_flutter_starter_kit/ui/components/top_platform_view.dart';
1+
import 'package:appwrite_flutter_starter_kit/app.dart';
92
import 'package:appwrite_flutter_starter_kit/utils/app_initializer.dart';
10-
import 'package:appwrite_flutter_starter_kit/utils/extensions/build_context.dart';
113
import 'package:flutter/material.dart';
124

135
void main() async {
146
await AppInitializer.initialize();
157
runApp(AppwriteApp());
168
}
17-
18-
class AppwriteApp extends StatelessWidget {
19-
const AppwriteApp({super.key});
20-
21-
@override
22-
Widget build(BuildContext context) {
23-
return MaterialApp(
24-
title: 'Appwrite StarterKit',
25-
debugShowCheckedModeBanner: false,
26-
theme: ThemeData(
27-
useMaterial3: true,
28-
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
29-
),
30-
home: const AppwriteStarterKit(),
31-
);
32-
}
33-
}
34-
35-
class AppwriteStarterKit extends StatefulWidget {
36-
const AppwriteStarterKit({super.key});
37-
38-
@override
39-
State<AppwriteStarterKit> createState() => _AppwriteStarterKit();
40-
}
41-
42-
class _AppwriteStarterKit extends State<AppwriteStarterKit> {
43-
final List<Log> _logs = [];
44-
Status _status = Status.idle;
45-
final AppwriteRepository _repository = AppwriteRepository();
46-
47-
@override
48-
Widget build(BuildContext context) {
49-
return Scaffold(
50-
body: CheckeredBackground(
51-
child: SafeArea(
52-
minimum: EdgeInsets.only(top: context.isLargeScreen ? 24 : 16),
53-
child: Stack(
54-
children: [
55-
SingleChildScrollView(
56-
child: Column(
57-
spacing: 16,
58-
children: [
59-
TopPlatformView(status: _status),
60-
ConnectionStatusView(
61-
status: _status,
62-
onButtonClick: () async {
63-
setState(() => _status = Status.loading);
64-
final log = await _repository.ping();
65-
_logs.add(log);
66-
67-
await Future.delayed(
68-
const Duration(milliseconds: 1250),
69-
);
70-
71-
setState(
72-
() => _status =
73-
(200 <= log.status && log.status <= 399)
74-
? Status.success
75-
: Status.error,
76-
);
77-
},
78-
),
79-
GettingStartedCards()
80-
],
81-
),
82-
),
83-
84-
// bottomsheet
85-
Align(
86-
alignment: Alignment.bottomCenter,
87-
child: CollapsibleBottomSheet(
88-
logs: _logs,
89-
projectInfo: _repository.getProjectInfo(),
90-
),
91-
),
92-
],
93-
),
94-
),
95-
),
96-
);
97-
}
98-
}

0 commit comments

Comments
 (0)