1
0
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:
Eric Windmill
2025-08-14 12:26:24 -07:00
committed by GitHub
parent 0aa5415d5e
commit 2999d738b8
410 changed files with 28166 additions and 27661 deletions

View File

@@ -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),