feat: enhance UI, branding assets, onboarding flow, and screen layouts

This commit is contained in:
R-Bharathraj
2026-09-18 15:23:30 +05:30
parent cafffd27e0
commit 5122eebc11
68 changed files with 1661 additions and 470 deletions

View File

@@ -12,22 +12,25 @@ import '../state/shifts_controller.dart';
import '../widgets/collapsing_header.dart';
import '../widgets/common.dart';
import '../widgets/glass_segments.dart';
import '../widgets/krow_wordmark.dart';
enum PayRange { week, month, year, all }
/// Declared in the order the segments are shown, which is the prototype's:
/// All first, then narrowing.
enum PayRange { all, week, month, year }
extension on PayRange {
String get label => switch (this) {
PayRange.all => 'All',
PayRange.week => 'Week',
PayRange.month => 'Month',
PayRange.year => 'Year',
PayRange.all => 'All',
};
Duration get window => switch (this) {
PayRange.all => const Duration(days: 3650),
PayRange.week => const Duration(days: 7),
PayRange.month => const Duration(days: 30),
PayRange.year => const Duration(days: 365),
PayRange.all => const Duration(days: 3650),
};
}
@@ -86,16 +89,10 @@ class _PayScreenState extends ConsumerState<PayScreen> {
expanded: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'ESTIMATED GROSS PAY · PRE-TAX',
style: TextStyle(
fontSize: 9.5,
letterSpacing: 1.5,
fontWeight: FontWeight.w600,
color: Colors.white.withValues(alpha: 0.5),
),
const HeaderBrandLine(
trailing: HeaderEyebrow('Gross pay · pre-tax'),
),
const SizedBox(height: 5),
const SizedBox(height: 6),
Text(
Fmt.money(paid + pending),
style: const TextStyle(