import
'dart:convert'
;
import
'package:flutter/material.dart'
;
import
'package:http/http.dart'
as http;
void
main() {
runApp(
const
RandomQuoteApp());
}
class
RandomQuoteApp extends StatelessWidget {
const
RandomQuoteApp({super.key});
@override
Widget build(BuildContext context) {
return
const
MaterialApp(
title:
'Random Quote Generator'
,
home: RandomQuoteScreen(),
);
}
}
class
RandomQuoteScreen extends StatefulWidget {
const
RandomQuoteScreen({super.key});
@override
State<RandomQuoteScreen> createState() => _RandomQuoteScreenState();
}
class
_RandomQuoteScreenState extends State<RandomQuoteScreen> {
String _quote =
'Tap the button to get a random quote'
;
Future<
void
> _getRandomQuote() async {
if
(response.statusCode == 200) {
final data = jsonDecode(response.body);
setState(() {
_quote = data[
'content'
];
});
}
else
{
setState(() {
_quote =
'Failed to load a quote'
;
});
}
}
@override
Widget build(BuildContext context) {
return
Scaffold(
appBar: AppBar(
title:
const
Text(
'GFG - Flutter Random Quote'
),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Padding(
padding:
const
EdgeInsets.symmetric(horizontal: 20),
child: Text(
_quote,
style:
const
TextStyle(fontSize: 18),
textAlign: TextAlign.center,
),
),
const
SizedBox(height: 20),
ElevatedButton(
onPressed: _getRandomQuote,
child:
const
Text(
'Get Random Quote'
),
),
],
),
),
);
}
}