mirror of
https://github.com/koloideal/Casha.git
synced 2026-08-08 17:51:14 +03:00
39 lines
1.1 KiB
Dart
39 lines
1.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class OnboardingPageIndicator extends StatelessWidget {
|
|
final int current;
|
|
final int count;
|
|
|
|
const OnboardingPageIndicator({
|
|
required this.current,
|
|
required this.count,
|
|
super.key,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final color = Theme.of(context).colorScheme.primary;
|
|
final outlineColor = Theme.of(context).colorScheme.secondary;
|
|
return Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: List.generate(count, (i) {
|
|
final isActive = i == current;
|
|
final isLast = i == count - 1;
|
|
return AnimatedContainer(
|
|
duration: const Duration(milliseconds: 200),
|
|
margin: const EdgeInsets.symmetric(horizontal: 4),
|
|
width: isActive ? 24 : 8,
|
|
height: 8,
|
|
decoration: BoxDecoration(
|
|
color: isActive ? color : color.withOpacity(0.3),
|
|
borderRadius: BorderRadius.circular(4),
|
|
border: isLast && !isActive
|
|
? Border.all(color: outlineColor, width: 1.5)
|
|
: null,
|
|
),
|
|
);
|
|
}),
|
|
);
|
|
}
|
|
}
|