refactor: Improve code formatting and replace print with debugPrint for error logging

This commit is contained in:
2026-07-02 23:47:52 +02:00
parent 9b6d92c372
commit b201da0552
8 changed files with 75 additions and 67 deletions
+16 -14
View File
@@ -101,7 +101,8 @@ class _NotesAppState extends State<NotesApp>
} }
final AppPalette palette = _activePalette(); final AppPalette palette = _activePalette();
final String message = _syncErrorMessage ?? _syncDetailMessage ?? 'Sincronizando...'; final String message =
_syncErrorMessage ?? _syncDetailMessage ?? 'Sincronizando...';
final double? progress = _syncProgress; final double? progress = _syncProgress;
final IconData icon; final IconData icon;
final Color accentColor; final Color accentColor;
@@ -138,7 +139,9 @@ class _NotesAppState extends State<NotesApp>
child: Container( child: Container(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border(top: BorderSide(color: accentColor.withValues(alpha: 0.45))), border: Border(
top: BorderSide(color: accentColor.withValues(alpha: 0.45)),
),
), ),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@@ -591,17 +594,15 @@ class _NotesAppState extends State<NotesApp>
if (available) { if (available) {
bool activated = await _vaultService.enableBiometricProtection(); bool activated = await _vaultService.enableBiometricProtection();
while (!activated) { while (!activated) {
// Ask the user to retry or skip // Ask the user to retry or skip - pass currentContext directly in builder
final BuildContext? dialogCtx = _navigatorKey.currentContext; final NavigatorState? navigator = _navigatorKey.currentState;
if (dialogCtx == null) {
break;
}
final NavigatorState navigator = Navigator.of(dialogCtx); if (navigator == null) break;
if (!mounted) return;
final bool? retry = await showDialog<bool>( final bool? retry = await showDialog<bool>(
context: dialogCtx, context: context,
builder: (BuildContext context) { builder: (BuildContext dialogContext) {
final AppPalette palette = _activePalette(); final AppPalette palette = _activePalette();
return AlertDialog( return AlertDialog(
backgroundColor: palette.cardBackground, backgroundColor: palette.cardBackground,
@@ -1076,10 +1077,11 @@ class _NotesAppState extends State<NotesApp>
switchOutCurve: Curves.easeInCubic, switchOutCurve: Curves.easeInCubic,
transitionBuilder: transitionBuilder:
(Widget child, Animation<double> animation) { (Widget child, Animation<double> animation) {
final Animation<Offset> slideAnimation = Tween<Offset>( final Animation<Offset> slideAnimation =
begin: const Offset(0.0, 0.35), Tween<Offset>(
end: Offset.zero, begin: const Offset(0.0, 0.35),
).animate(animation); end: Offset.zero,
).animate(animation);
return FadeTransition( return FadeTransition(
opacity: animation, opacity: animation,
+1 -1
View File
@@ -676,7 +676,7 @@ Future<List<Map<String, Object?>>> _decryptNoteBatch(
masterKey, masterKey,
); );
} catch (e) { } catch (e) {
print('Failed to decrypt note ${note['id']}: $e'); debugPrint('Failed to decrypt note ${note['id']}: $e');
} }
} else { } else {
decryptedTitle = ''; decryptedTitle = '';
+14 -16
View File
@@ -316,7 +316,7 @@ class _HomeScreenState extends State<HomeScreen> {
), ),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: color.withOpacity(0.18), color: color.withValues(alpha: 0.0),
blurRadius: 10, blurRadius: 10,
offset: const Offset(0, 4), offset: const Offset(0, 4),
), ),
@@ -362,7 +362,7 @@ class _HomeScreenState extends State<HomeScreen> {
height: 50, height: 50,
decoration: BoxDecoration( decoration: BoxDecoration(
color: selectedIconCodePoint == icon.codePoint color: selectedIconCodePoint == icon.codePoint
? previewColor.withOpacity(0.14) ? previewColor.withValues(alpha: 0.14)
: palette.fill, : palette.fill,
borderRadius: BorderRadius.circular(14), borderRadius: BorderRadius.circular(14),
border: Border.all( border: Border.all(
@@ -613,10 +613,10 @@ class _HomeScreenState extends State<HomeScreen> {
duration: const Duration(milliseconds: 160), duration: const Duration(milliseconds: 160),
padding: const EdgeInsets.all(2), padding: const EdgeInsets.all(2),
decoration: BoxDecoration( decoration: BoxDecoration(
color: selected ? color.withOpacity(0.05) : Colors.transparent, color: selected ? color.withValues(alpha: 0.05) : Colors.transparent,
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
border: Border.all( border: Border.all(
color: selected ? color.withOpacity(0.42) : Colors.transparent, color: selected ? color.withValues(alpha: 0.42) : Colors.transparent,
width: selected ? 1 : 1, width: selected ? 1 : 1,
), ),
), ),
@@ -945,7 +945,7 @@ class _HomeScreenState extends State<HomeScreen> {
style: IconButton.styleFrom( style: IconButton.styleFrom(
backgroundColor: _selectedCategoryId == null backgroundColor: _selectedCategoryId == null
? Colors.transparent ? Colors.transparent
: palette.accent.withOpacity(0.08), : palette.accent.withValues(alpha: 0.08),
shape: const CircleBorder(), shape: const CircleBorder(),
), ),
icon: Stack( icon: Stack(
@@ -1067,7 +1067,7 @@ class _HomeScreenState extends State<HomeScreen> {
padding: const EdgeInsets.fromLTRB(10, 10, 10, 14), padding: const EdgeInsets.fromLTRB(10, 10, 10, 14),
buildDefaultDragHandles: false, buildDefaultDragHandles: false,
itemCount: visibleNotes.length, itemCount: visibleNotes.length,
onReorder: _handleReorder, onReorderItem: _handleReorder,
footer: Padding( footer: Padding(
padding: const EdgeInsets.only(top: 4, bottom: 72), padding: const EdgeInsets.only(top: 4, bottom: 72),
child: Center( child: Center(
@@ -1104,16 +1104,14 @@ class _HomeScreenState extends State<HomeScreen> {
Widget _buildEmptyDetailPane(BuildContext context) { Widget _buildEmptyDetailPane(BuildContext context) {
final AppPalette palette = _paletteOf(context); final AppPalette palette = _paletteOf(context);
return Container( return Center(
child: Center( child: Text(
child: Text( 'Selecciona una nota o\ncrea una nueva para empezar.',
'Selecciona una nota o\ncrea una nueva para empezar.', textAlign: TextAlign.center,
textAlign: TextAlign.center, style: TextStyle(
style: TextStyle( color: palette.textSecondary,
color: palette.textSecondary, fontSize: 18,
fontSize: 18, fontWeight: FontWeight.w500,
fontWeight: FontWeight.w500,
),
), ),
), ),
); );
+39 -32
View File
@@ -98,10 +98,11 @@ class _SettingsScreenState extends State<SettingsScreen> {
SnackBar(content: Text('Error al borrar los datos: $error')), SnackBar(content: Text('Error al borrar los datos: $error')),
); );
} finally { } finally {
if (!mounted) return; if (mounted) {
setState(() { setState(() {
_isBusy = false; _isBusy = false;
}); });
}
} }
} }
@@ -168,10 +169,11 @@ class _SettingsScreenState extends State<SettingsScreen> {
SnackBar(content: Text('Error al borrar la info del servidor: $error')), SnackBar(content: Text('Error al borrar la info del servidor: $error')),
); );
} finally { } finally {
if (!mounted) return; if (mounted) {
setState(() { setState(() {
_isServerDeleting = false; _isServerDeleting = false;
}); });
}
} }
} }
@@ -199,11 +201,11 @@ class _SettingsScreenState extends State<SettingsScreen> {
SnackBar(content: Text('Error al forzar la sincronización: $error')), SnackBar(content: Text('Error al forzar la sincronización: $error')),
); );
} finally { } finally {
if (!mounted) return; if (mounted) {
setState(() {
setState(() { _isSyncing = false;
_isSyncing = false; });
}); }
} }
} }
@@ -576,26 +578,31 @@ class _SettingsScreenState extends State<SettingsScreen> {
const SizedBox(height: 8), const SizedBox(height: 8),
Column( Column(
children: [ children: [
RadioListTile<ThemeMode>( RadioGroup<ThemeMode>(
title: const Text('Seguir modo del sistema'),
value: ThemeMode.system,
groupValue: _selectedThemeMode, groupValue: _selectedThemeMode,
onChanged: (ThemeMode? v) => onChanged: (ThemeMode? v) {
_selectThemeMode(ThemeMode.system), if (v != null) {
), _selectThemeMode(v);
RadioListTile<ThemeMode>( }
title: const Text('Modo claro'), },
value: ThemeMode.light, child: Column(
groupValue: _selectedThemeMode, children: [
onChanged: (ThemeMode? v) => RadioListTile<ThemeMode>(
_selectThemeMode(ThemeMode.light), title: const Text(
), 'Seguir modo del sistema',
RadioListTile<ThemeMode>( ),
title: const Text('Modo oscuro'), value: ThemeMode.system,
value: ThemeMode.dark, ),
groupValue: _selectedThemeMode, RadioListTile<ThemeMode>(
onChanged: (ThemeMode? v) => title: const Text('Modo claro'),
_selectThemeMode(ThemeMode.dark), value: ThemeMode.light,
),
RadioListTile<ThemeMode>(
title: const Text('Modo oscuro'),
value: ThemeMode.dark,
),
],
),
), ),
], ],
), ),
+1 -1
View File
@@ -72,7 +72,7 @@ class NoteCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
if (categoryIcon != null) ...[ if (categoryIcon != null) ...[
Container( SizedBox(
width: 18, width: 18,
height: 18, height: 18,
child: Icon( child: Icon(
+1 -1
View File
@@ -359,7 +359,7 @@ packages:
source: hosted source: hosted
version: "6.0.0" version: "6.0.0"
flutter_localizations: flutter_localizations:
dependency: transitive dependency: "direct main"
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
+3
View File
@@ -50,6 +50,9 @@ dependencies:
uuid: ^4.0.0 uuid: ^4.0.0
flutter_quill: ^11.5.1 flutter_quill: ^11.5.1
flutter_localizations:
sdk: flutter
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
-2
View File
@@ -2,8 +2,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import 'package:notas/models/category.dart';
import 'package:notas/models/note.dart'; import 'package:notas/models/note.dart';
import 'package:notas/screens/note_editor_screen.dart'; import 'package:notas/screens/note_editor_screen.dart';