This commit is contained in:
2026-06-29 20:43:13 +03:00
parent 19db4fe688
commit 64a3f4e34e
24 changed files with 1154 additions and 152 deletions
+15 -14
View File
@@ -117,22 +117,23 @@ class SettingsScreen extends ConsumerWidget {
padding: const EdgeInsets.fromLTRB(20, 16, 20, 40),
children: [
const ProSubscriptionCard(),
const SizedBox(height: 16),
const ThemeSection(),
const SizedBox(height: 16),
const CardTextColorSection(),
const SizedBox(height: 16),
const HapticSection(),
const SizedBox(height: 16),
const CurrencyConversionsSection(),
const SizedBox(height: 16),
const _BiometricSection(),
const LanguageSection(),
const SizedBox(height: 16),
const SizedBox(height: 12),
const CurrencySection(),
const SizedBox(height: 16),
const SizedBox(height: 12),
const ThemeSection(),
const SizedBox(height: 12),
const LanguageSection(),
const SizedBox(height: 12),
const _BiometricSection(),
const SizedBox(height: 12),
const CardTextColorSection(),
const SizedBox(height: 12),
const HapticSection(),
const SizedBox(height: 12),
const AmountFormatSection(),
const SizedBox(height: 16),
const SizedBox(height: 12),
const CurrencyConversionsSection(),
const SizedBox(height: 12),
const CategoriesSection(),
const SizedBox(height: 24),
Text(
@@ -14,7 +14,7 @@ class CardTextColorSection extends ConsumerWidget {
final isDark = Theme.of(context).brightness == Brightness.dark;
return Container(
padding: const EdgeInsets.all(20),
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.surface,
borderRadius: BorderRadius.circular(16),
@@ -49,7 +49,7 @@ class CardTextColorSection extends ConsumerWidget {
),
],
),
const SizedBox(height: 16),
const SizedBox(height: 12),
Row(
children: [
Expanded(
@@ -113,7 +113,7 @@ class _CardTextColorOption extends StatelessWidget {
onTap: onTap,
child: AnimatedContainer(
duration: const Duration(milliseconds: 200),
padding: const EdgeInsets.symmetric(vertical: 12),
padding: const EdgeInsets.symmetric(vertical: 10),
decoration: BoxDecoration(
color: isSelected
? AppColors.accent.withOpacity(0.15)
@@ -15,7 +15,7 @@ class CurrencySection extends ConsumerWidget {
final isDark = Theme.of(context).brightness == Brightness.dark;
return Container(
padding: const EdgeInsets.all(20),
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.surface,
borderRadius: BorderRadius.circular(16),
@@ -52,7 +52,7 @@ class CurrencySection extends ConsumerWidget {
),
],
),
const SizedBox(height: 16),
const SizedBox(height: 12),
Row(
children: ['USD', 'EUR', 'BYN', 'RUB'].map((code) {
final info = currencyMap[code]!;
@@ -65,7 +65,7 @@ class CurrencySection extends ConsumerWidget {
ref.read(currencyProvider.notifier).setCurrency(code);
},
child: Container(
padding: const EdgeInsets.symmetric(vertical: 12),
padding: const EdgeInsets.symmetric(vertical: 10),
decoration: BoxDecoration(
color: isSelected
? AppColors.accent.withOpacity(0.2)
@@ -83,12 +83,18 @@ class CurrencySection extends ConsumerWidget {
child: Column(
children: [
code == 'BYN'
? BynSign(
fontSize: 28,
color: isSelected
? AppColors.accent
: Theme.of(context).colorScheme.onSurface
.withOpacity(0.6),
? SizedBox(
height: 28,
child: Align(
alignment: Alignment.center,
child: BynSign(
fontSize: 24,
color: isSelected
? AppColors.accent
: Theme.of(context).colorScheme.onSurface
.withOpacity(0.6),
),
),
)
: Text(
info.symbol,
@@ -14,7 +14,7 @@ class ThemeSection extends ConsumerWidget {
final isDark = Theme.of(context).brightness == Brightness.dark;
return Container(
padding: const EdgeInsets.all(20),
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.surface,
borderRadius: BorderRadius.circular(16),
@@ -51,7 +51,7 @@ class ThemeSection extends ConsumerWidget {
),
],
),
const SizedBox(height: 16),
const SizedBox(height: 12),
Row(
children: [
Expanded(
@@ -109,7 +109,7 @@ class _ThemeOption extends StatelessWidget {
onTap: onTap,
child: AnimatedContainer(
duration: const Duration(milliseconds: 200),
padding: const EdgeInsets.symmetric(vertical: 12),
padding: const EdgeInsets.symmetric(vertical: 10),
decoration: BoxDecoration(
color: isSelected
? AppColors.accent.withOpacity(0.15)