diff --git a/firka/lib/ui/components/common_bottom_sheets.dart b/firka/lib/ui/components/common_bottom_sheets.dart index dbf1dc2..d976d2c 100644 --- a/firka/lib/ui/components/common_bottom_sheets.dart +++ b/firka/lib/ui/components/common_bottom_sheets.dart @@ -1048,9 +1048,13 @@ class _GradeCalculatorSheetContent extends StatefulWidget { class _GradeCalculatorSheetContentState extends State<_GradeCalculatorSheetContent> { int selectedGrade = 3; - int weightPercent = 100; + int weightIndex = 1; // 0-based index into _snapPoints final List<(int grade, int weight)> entries = []; + static const _snapPoints = [50, 100, 200, 300, 500]; + + int get weightPercent => _snapPoints[weightIndex]; + @override Widget build(BuildContext context) { return Column( @@ -1184,11 +1188,12 @@ class _GradeCalculatorSheetContentState trackHeight: 8, ), child: Slider( - value: weightPercent.toDouble(), - min: 1, - max: 500, - divisions: 499, - onChanged: (v) => setState(() => weightPercent = v.round()), + value: weightIndex.toDouble(), + min: 0, + max: (_snapPoints.length - 1).toDouble(), + divisions: _snapPoints.length - 1, + label: '${weightPercent}%', + onChanged: (v) => setState(() => weightIndex = v.round()), ), ), ),