mirror of
https://github.com/flutter/samples.git
synced 2025-11-10 14:58:34 +00:00
Dart 3.9 / Flutter 3.35 [first LLM release] (#2714)
I got carried away with Gemini and basically rewrote CI and the release process for the new LLM reality. This work was largely completed by Gemini. - Bump all SDK versions to the current beta (3.9.0-0) - Run `flutter channel beta` - Wrote `ci_script.dart` to replace the bash scripts - Converted repository to pub workspace #2499 - Added llm.md and release.md - Added redirect for deprecated Samples Index ## Pre-launch Checklist - [x] I read the [Flutter Style Guide] _recently_, and have followed its advice. - [x] I signed the [CLA]. - [x] I read the [Contributors Guide]. - [x] I have added sample code updates to the [changelog]. - [x] I updated/added relevant documentation (doc comments with `///`).
This commit is contained in:
@@ -48,17 +48,16 @@ class _AddButton extends StatelessWidget {
|
||||
);
|
||||
|
||||
return TextButton(
|
||||
onPressed:
|
||||
isInCart
|
||||
? null
|
||||
: () {
|
||||
// If the item is not in cart, we let the user add it.
|
||||
// We are using context.read() here because the callback
|
||||
// is executed whenever the user taps the button. In other
|
||||
// words, it is executed outside the build method.
|
||||
var cart = context.read<CartModel>();
|
||||
cart.add(item);
|
||||
},
|
||||
onPressed: isInCart
|
||||
? null
|
||||
: () {
|
||||
// If the item is not in cart, we let the user add it.
|
||||
// We are using context.read() here because the callback
|
||||
// is executed whenever the user taps the button. In other
|
||||
// words, it is executed outside the build method.
|
||||
var cart = context.read<CartModel>();
|
||||
cart.add(item);
|
||||
},
|
||||
style: ButtonStyle(
|
||||
overlayColor: WidgetStateProperty.resolveWith<Color?>((states) {
|
||||
if (states.contains(WidgetState.pressed)) {
|
||||
@@ -67,10 +66,9 @@ class _AddButton extends StatelessWidget {
|
||||
return null; // Defer to the widget's default.
|
||||
}),
|
||||
),
|
||||
child:
|
||||
isInCart
|
||||
? const Icon(Icons.check, semanticLabel: 'ADDED')
|
||||
: const Text('ADD'),
|
||||
child: isInCart
|
||||
? const Icon(Icons.check, semanticLabel: 'ADDED')
|
||||
: const Text('ADD'),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -79,7 +77,10 @@ class _MyAppBar extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SliverAppBar(
|
||||
title: Text('Catalog', style: Theme.of(context).textTheme.displayLarge),
|
||||
title: Text(
|
||||
'Catalog',
|
||||
style: Theme.of(context).textTheme.displayLarge,
|
||||
),
|
||||
floating: true,
|
||||
actions: [
|
||||
IconButton(
|
||||
@@ -111,7 +112,10 @@ class _MyListItem extends StatelessWidget {
|
||||
maxHeight: 48,
|
||||
child: Row(
|
||||
children: [
|
||||
AspectRatio(aspectRatio: 1, child: Container(color: item.color)),
|
||||
AspectRatio(
|
||||
aspectRatio: 1,
|
||||
child: Container(color: item.color),
|
||||
),
|
||||
const SizedBox(width: 24),
|
||||
Expanded(child: Text(item.name, style: textTheme)),
|
||||
const SizedBox(width: 24),
|
||||
|
||||
Reference in New Issue
Block a user