import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import '../../core/l10n/app_strings.dart'; import '../../core/l10n/locale_provider.dart'; class PaywallScreen extends ConsumerWidget { const PaywallScreen({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final s = AppStrings(ref.watch(localeProvider)); return Scaffold( backgroundColor: Theme.of(context).scaffoldBackgroundColor, appBar: AppBar( backgroundColor: Theme.of(context).scaffoldBackgroundColor, elevation: 0, scrolledUnderElevation: 0, leading: IconButton( icon: const Icon(Icons.arrow_back_rounded), onPressed: () => context.pop(), ), ), body: SafeArea( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 24), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( padding: const EdgeInsets.all(24), decoration: BoxDecoration( color: const Color(0xFF7C6DED).withOpacity(0.12), shape: BoxShape.circle, ), child: const Icon( Icons.workspace_premium_rounded, size: 64, color: const Color(0xFF7C6DED), ), ), const SizedBox(height: 24), Text( s.premium, style: Theme.of(context).textTheme.headlineMedium?.copyWith( fontWeight: FontWeight.w700, ), ), const SizedBox(height: 12), Text( s.premiumDescription, textAlign: TextAlign.center, style: Theme.of(context).textTheme.bodyMedium?.copyWith( color: Theme.of(context) .colorScheme .onSurface .withOpacity(0.6), ), ), const SizedBox(height: 32), _FeatureItem(icon: Icons.palette_rounded, label: s.premiumFeatureColors), _FeatureItem(icon: Icons.height_rounded, label: s.premiumFeatureHeight), _FeatureItem(icon: Icons.account_balance_wallet_rounded, label: s.premiumFeatureAccounts), ], ), ), ), ); } } class _FeatureItem extends StatelessWidget { final IconData icon; final String label; const _FeatureItem({required this.icon, required this.label}); @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Row( children: [ Icon(icon, size: 20, color: const Color(0xFF7C6DED)), const SizedBox(width: 12), Text(label, style: Theme.of(context).textTheme.bodyMedium), ], ), ); } }