Skip to content

Instantly share code, notes, and snippets.

@fernando-s97
Last active August 11, 2023 09:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fernando-s97/245f727d37e2ab1f979dfc370779afc4 to your computer and use it in GitHub Desktop.
Save fernando-s97/245f727d37e2ab1f979dfc370779afc4 to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
import 'package:flutter_app/non_working_sample.dart';
import 'package:flutter_app/repository.dart';
import 'package:flutter_app/working_sample.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Samples'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: () => Navigator.push(
context,
MaterialPageRoute(
builder: (_) => RepositoryProvider(
create: (_) => Repository(),
child: WorkingSample(),
),
),
),
child: const Text('Working Sample'),
),
ElevatedButton(
onPressed: () => Navigator.push(
context,
MaterialPageRoute(builder: (_) => NonWorkingSample()),
),
child: const Text('Non Working Sample'),
),
],
),
),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_app/home_page.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: HomePage(),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_app/repository.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class NonWorkingSample extends StatefulWidget {
@override
_NonWorkingSampleState createState() => _NonWorkingSampleState();
}
class _NonWorkingSampleState extends State<NonWorkingSample> {
Repository _repo;
@override
void initState() {
_repo = context.read<Repository>();
super.initState();
}
@override
Widget build(BuildContext context) {
return RepositoryProvider(
create: (_) => Repository(),
child: Builder(
builder: (context) {
return Scaffold(
appBar: AppBar(),
body: SafeArea(
child: Center(
child: Text(_repo.getNonWorkingSample()),
),
),
);
},
),
);
}
}
name: flutter_app
description: A new Flutter application.
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
bloc: ^6.1.0
flutter_bloc: ^6.1.1
cupertino_icons: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
class Repository {
String getWorkingSample() => 'Working sample';
String getNonWorkingSample() => 'Non working sample';
}
import 'package:flutter/material.dart';
import 'package:flutter_app/repository.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class WorkingSample extends StatefulWidget {
@override
_WorkingSampleState createState() => _WorkingSampleState();
}
class _WorkingSampleState extends State<WorkingSample> {
Repository _repo;
@override
void initState() {
_repo = context.read<Repository>();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: SafeArea(
child: Center(
child: Text(_repo.getWorkingSample()),
),
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment