aves/lib/widgets/common/app_bar/rate_button.dart
2022-11-30 12:51:31 +01:00

43 lines
1.1 KiB
Dart

import 'package:aves/model/actions/entry_actions.dart';
import 'package:aves/widgets/common/app_bar/quick_choosers/chooser_button.dart';
import 'package:aves/widgets/common/app_bar/quick_choosers/rate_chooser.dart';
import 'package:flutter/material.dart';
class RateButton extends ChooserQuickButton<int> {
const RateButton({
super.key,
super.chooserPosition,
super.onChooserValue,
required super.onPressed,
});
@override
State<RateButton> createState() => _RateQuickButtonState();
}
class _RateQuickButtonState extends ChooserQuickButtonState<RateButton, int> {
static const _action = EntryAction.editRating;
@override
Widget get icon => _action.getIcon();
@override
String get tooltip => _action.getText(context);
@override
int? get defaultValue => 3;
@override
Widget buildChooser(Animation<double> animation) {
return FadeTransition(
opacity: animation,
child: ScaleTransition(
scale: animation,
child: RateQuickChooser(
valueNotifier: chooserValueNotifier,
pointerGlobalPosition: pointerGlobalPosition,
),
),
);
}
}