added new feature badge and unseen new feature list to settings

This commit is contained in:
Kima
2024-06-17 22:19:43 +02:00
parent c40026e594
commit 9470c848bf
7 changed files with 86 additions and 2 deletions

View File

@@ -0,0 +1,42 @@
import 'package:refilc/theme/colors/colors.dart';
import 'package:flutter/material.dart';
import 'chips.i18n.dart';
class BetaChip extends StatelessWidget {
const BetaChip({super.key, this.disabled = false});
final bool disabled;
@override
Widget build(BuildContext context) {
return SizedBox(
height: 25,
child: AnimatedContainer(
duration: const Duration(milliseconds: 200),
decoration: BoxDecoration(
color: !disabled
? Theme.of(context).colorScheme.secondary
: AppColors.of(context).text.withOpacity(.25),
borderRadius: BorderRadius.circular(40),
),
child: Padding(
padding: const EdgeInsets.only(left: 8, right: 8),
child: Center(
child: Text(
"beta".i18n,
softWrap: true,
style: TextStyle(
fontSize: 10,
color: disabled
? AppColors.of(context).text.withOpacity(.5)
: Colors.white,
fontWeight: FontWeight.w600,
overflow: TextOverflow.ellipsis,
),
),
),
),
),
);
}
}

View File

@@ -0,0 +1,24 @@
import 'package:i18n_extension/i18n_extension.dart';
extension ScreensLocalization on String {
static final _t = Translations.byLocale("hu_hu") +
{
"en_en": {
"new": "NEW",
"beta": "BETA",
},
"hu_hu": {
"new": "ÚJ",
"beta": "BÉTA",
},
"de_de": {
"new": "NEU",
"beta": "BETA",
},
};
String get i18n => localize(this, _t);
String fill(List<Object> params) => localizeFill(this, params);
String plural(int value) => localizePlural(value, this, _t);
String version(Object modifier) => localizeVersion(modifier, this, _t);
}

View File

@@ -0,0 +1,45 @@
import 'package:flutter/material.dart';
import 'package:refilc/theme/colors/colors.dart';
import 'chips.i18n.dart';
class NewChip extends StatelessWidget {
const NewChip({super.key, this.disabled = false});
final bool disabled;
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
color:
disabled ? AppColors.of(context).text.withOpacity(.25) : Colors.red,
borderRadius: BorderRadius.circular(12.0),
),
padding:
const EdgeInsets.only(left: 6.0, right: 8.0, top: 4.0, bottom: 4.0),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.hotel_class_rounded,
color: disabled
? AppColors.of(context).text.withOpacity(.5)
: Colors.white,
size: 14.0,
),
const SizedBox(width: 2.0),
Text(
'new'.i18n,
style: TextStyle(
color: disabled
? AppColors.of(context).text.withOpacity(.5)
: Colors.white,
fontSize: 12.0,
fontWeight: FontWeight.bold,
),
),
],
),
);
}
}