import 'package:external_repos/external_repos.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/domain/use_cases/preferences_use_case.dart'; import 'package:uae_stat/infrastructure/services/packages/go_router.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; class LangToggle extends ConsumerWidget { const LangToggle({super.key}); @override Widget build(BuildContext context, ref) { final isOn = context.language == LanguageLocale.enUS; return MyToggle( isOn: isOn, onTap: () { final languageAfter = isOn ? LanguageLocale.arAE : LanguageLocale.enUS; final grs = GoRouterState.of(context); grs.pathParameters['locale'] = languageAfter.toString(); context.go(grs.pathWithParameters); ref .read( preferencesUseCaseProvider.notifier, ) .updatePreferences( (prefs) => prefs.copyWith( language: languageAfter, ), ); }, knobTextWhenOn: 'ع', paddingWhenOn: EdgeInsets.zero, knobTextWhenOff: 'EN', pathColorWhenOn: Color(0xFFD9D9D9), pathColorWhenOff: Color(0xFFD9D9D9), knobTextStyleWhenOn: TextStyle( color: Color(0xFF010101), fontWeight: FontWeight.bold, ), knobTextStyleWhenOff: TextStyle( color: Color(0xFF010101), fontWeight: FontWeight.bold, ), ); } }