flashcards-app/lib/components/saved_cards_page/bottom_button.dart

59 lines
1.6 KiB
Dart

import 'package:fiszki_projekt/configs/constants.dart';
import 'package:fiszki_projekt/notifiers/saved_cards_notifier.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../enums/language_type_enum.dart';
class BottomButton extends StatelessWidget {
const BottomButton({
required this.languageType,
this.isDisabled = false,
Key? key,
}) : super(key: key);
final LanguageTypeEnum languageType;
final bool isDisabled;
@override
Widget build(BuildContext context) {
return Expanded(
child: Padding(
padding: const EdgeInsets.all(5.0),
child: SizedBox(
width: double.infinity,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: constMainColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.0),
),
),
onPressed: isDisabled
? null
: () {
Provider.of<SavedCardsNotifier>(context, listen: false)
.updateShowLanguage(language: languageType);
},
child: Text(
languageType.toSymbol(),
style: const TextStyle(fontSize: 16.0),
),
),
),
),
);
}
}
extension LanguageSymbol on LanguageTypeEnum {
String toSymbol() {
switch (this) {
case LanguageTypeEnum.polish:
return 'Angielski';
case LanguageTypeEnum.german:
return 'Niemiecki';
}
}
}