mirror of
https://github.com/flutter/samples.git
synced 2025-11-10 23:08:59 +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:
@@ -86,11 +86,14 @@ class ShareButton extends _DetailPageButton {
|
||||
|
||||
/// A favorite button that invokes a callback when pressed.
|
||||
class FavoriteButton extends _DetailPageButton {
|
||||
const FavoriteButton(VoidCallback onPressed, bool isFavorite, {super.key})
|
||||
: super(
|
||||
onPressed,
|
||||
isFavorite ? CupertinoIcons.heart_fill : CupertinoIcons.heart,
|
||||
);
|
||||
const FavoriteButton(
|
||||
VoidCallback onPressed,
|
||||
bool isFavorite, {
|
||||
super.key,
|
||||
}) : super(
|
||||
onPressed,
|
||||
isFavorite ? CupertinoIcons.heart_fill : CupertinoIcons.heart,
|
||||
);
|
||||
}
|
||||
|
||||
class _DetailPageButton extends StatefulWidget {
|
||||
@@ -124,15 +127,16 @@ class _DetailPageButtonState extends State<_DetailPageButton> {
|
||||
child: Container(
|
||||
width: 30,
|
||||
height: 30,
|
||||
decoration: BoxDecoration(borderRadius: BorderRadius.circular(15)),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
),
|
||||
child: Center(
|
||||
child: ColorChangingIcon(
|
||||
widget.icon,
|
||||
duration: const Duration(milliseconds: 300),
|
||||
color:
|
||||
tapInProgress
|
||||
? Styles.closeButtonPressed
|
||||
: Styles.closeButtonUnpressed,
|
||||
color: tapInProgress
|
||||
? Styles.closeButtonPressed
|
||||
: Styles.closeButtonUnpressed,
|
||||
size: 20,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -93,8 +93,9 @@ class VeggieCard extends StatelessWidget {
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
fit: BoxFit.cover,
|
||||
colorFilter:
|
||||
isInSeason ? null : Styles.desaturatedColorFilter,
|
||||
colorFilter: isInSeason
|
||||
? null
|
||||
: Styles.desaturatedColorFilter,
|
||||
image: AssetImage(veggie.imageAssetPath),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -67,6 +67,9 @@ class VeggieHeadline extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final themeData = CupertinoTheme.of(context);
|
||||
final String location = GoRouter.of(
|
||||
context,
|
||||
).routerDelegate.currentConfiguration.uri.toString();
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
@@ -74,7 +77,7 @@ class VeggieHeadline extends StatelessWidget {
|
||||
// so navigate to the absolute route, which can be either
|
||||
// `/favorites/details/${veggie.id}` or `/search/details/${veggie.id}`
|
||||
// see https://github.com/flutter/flutter/issues/108177
|
||||
context.go('${GoRouter.of(context).location}/details/${veggie.id}');
|
||||
context.go('$location/details/${veggie.id}');
|
||||
},
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -93,7 +96,10 @@ class VeggieHeadline extends StatelessWidget {
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Text(veggie.name, style: Styles.headlineName(themeData)),
|
||||
Text(
|
||||
veggie.name,
|
||||
style: Styles.headlineName(themeData),
|
||||
),
|
||||
..._buildSeasonDots(veggie.seasons),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -19,7 +19,8 @@ class VeggieSeasonsPage<T> extends Page<T> {
|
||||
}
|
||||
|
||||
class VeggieSeasonsPageRoute<T> extends PageRoute<T> {
|
||||
VeggieSeasonsPageRoute(VeggieSeasonsPage<T> page) : super(settings: page);
|
||||
VeggieSeasonsPageRoute(VeggieSeasonsPage<T> page)
|
||||
: super(settings: page);
|
||||
|
||||
VeggieSeasonsPage<T> get _page => settings as VeggieSeasonsPage<T>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user