blocGridScreenFileContent constant
String
const blocGridScreenFileContent
Implementation
static const String blocGridScreenFileContent = """import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:<app_name>/App/screens/base_screen/view/base_screen.dart';
import 'package:<app_name>/App/widgets/search_field.dart';
import 'package:bloc_cli_test/App/widgets/empty_view.dart';
import 'package:<app_name>/App/core/enums/enums.dart';
import '../bloc/<screen_name>_bloc.dart';
import 'grid_list_item_view.dart';
import 'loading_view.dart';
class <screen_class_name> extends StatefulWidget {
const <screen_class_name>({super.key});
@override
State<<screen_class_name>> createState() => _<screen_class_name>State();
}
class _<screen_class_name>State extends State<<screen_class_name>> {
final TextEditingController searchController = TextEditingController();
<bloc_instance>
@override
void initState() {
super.initState();
init();
}
@override
void dispose() {
<close_bloc>
super.dispose();
}
void init() {
WidgetsFlutterBinding.ensureInitialized().addPostFrameCallback((timeStamp) {
<bloc_provider_instance>.add(FetchInitialData());
});
}
@override
Widget build(BuildContext context) {
return BaseScreen(
appBar: AppBar(),
body: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12),
child: Column(
children: [
const SizedBox(height: 10),
SearchField(
searchController: searchController,
onTextChange: (text) {
<bloc_provider_instance>.add(SearchData(query: text));
},
),
const SizedBox(height: 10),
Expanded(
child: BlocBuilder<<bloc_name>, <state_name>>(
<bloc__instance>
builder: (context, state) {
if (state.currentState == ActivityState.loading) {
return const LoadingView();
}
if (state.currentState == ActivityState.empty) {
return const EmptyView();
}
return GridView.builder(
itemCount: 20,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: 0.7,
crossAxisSpacing: 5,
mainAxisSpacing: 5,
),
itemBuilder: (context, index) => GridListItem(onTap: () {}),
);
},
),
),
],
),
),
);
}
}""";