Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions scripts/format.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash

echo "🔧 Fixing Dart code issues..."
cd src && fvm dart fix --apply

echo "📝 Formatting Dart files..."
cd src && fvm dart format . -l 120

echo "🎨 Formatting YAML, JSON, and Markdown files..."
prettier --write "src/**/*.{yaml,yml,json,md}" "!src/android/fdroid/**" "../**/*.md"

echo "🐚 Formatting shell scripts..."
shfmt -w -i 4 ./*.sh src/scripts/*.sh

echo "✅ Code formatting completed successfully!"
2 changes: 1 addition & 1 deletion src/lib/corePackages/acore
Submodule acore updated 70 files
+2 −0 .gitignore
+14 −7 README.md
+270 −0 docs/ACORE_COMPREHENSIVE_DOCUMENTATION.md
+452 −0 docs/CONTRIBUTING.md
+342 −0 docs/DOCUMENTATION_INDEX.md
+327 −0 docs/QUICK_REFERENCE.md
+65 −0 docs/README.md
+1,153 −0 docs/components/date_time_picker/README.md
+549 −0 docs/components/numeric_input/README.md
+416 −0 docs/dependency_injection/README.md
+561 −0 docs/errors/README.md
+619 −0 docs/extensions/README.md
+719 −0 docs/file/README.md
+684 −0 docs/logging/README.md
+761 −0 docs/mapper/README.md
+705 −0 docs/queries/README.md
+630 −0 docs/repository/README.md
+872 −0 docs/sounds/README.md
+721 −0 docs/storage/README.md
+598 −0 docs/time/README.md
+550 −0 docs/utils/ASYNC_UTILS.md
+725 −0 docs/utils/COLLECTION_UTILS.md
+445 −0 docs/utils/DIALOG_SIZE.md
+462 −0 docs/utils/HAPTIC_FEEDBACK_UTIL.md
+164 −0 docs/utils/LRU_CACHE.md
+436 −0 docs/utils/README.md
+442 −0 docs/utils/RESPONSIVE_DIALOG_HELPER.md
+331 −0 docs/utils/RESPONSIVE_UTIL.md
+349 −0 docs/utils/TIME_FORMATTING_UTIL.md
+0 −14 lib/acore.dart
+0 −3 lib/async/async_utils.dart
+150 −0 lib/components/border_fade_overlay.dart
+10 −2 lib/components/components.dart
+373 −0 lib/components/date_time_picker/calendar_date_picker.dart
+996 −0 lib/components/date_time_picker/date_picker_content.dart
+523 −840 lib/components/date_time_picker/date_picker_dialog.dart
+243 −0 lib/components/date_time_picker/date_picker_mobile_content.dart
+135 −0 lib/components/date_time_picker/date_picker_types.dart
+404 −0 lib/components/date_time_picker/date_selection_dialog.dart
+24 −0 lib/components/date_time_picker/date_time_picker_constants.dart
+61 −53 lib/components/date_time_picker/date_time_picker_field.dart
+51 −0 lib/components/date_time_picker/date_time_picker_translation_keys.dart
+226 −0 lib/components/date_time_picker/date_validation_display.dart
+359 −0 lib/components/date_time_picker/error_boundary.dart
+418 −0 lib/components/date_time_picker/quick_range_selector.dart
+107 −0 lib/components/date_time_picker/safe_calendar_date_picker.dart
+74 −0 lib/components/date_time_picker/time_picker_mobile_content.dart
+373 −0 lib/components/date_time_picker/time_selection_dialog.dart
+338 −0 lib/components/date_time_picker/time_selector.dart
+275 −0 lib/components/date_time_picker/wheel_time_picker.dart
+82 −0 lib/components/mobile_action_button.dart
+0 −194 lib/components/numeric_input.dart
+275 −0 lib/components/numeric_input/numeric_input.dart
+20 −0 lib/components/numeric_input/numeric_input_translation_keys.dart
+3 −0 lib/dependency_injection/abstraction/i_container.dart
+5 −0 lib/dependency_injection/container.dart
+0 −8 lib/logging/composite_logger.dart
+0 −1 lib/mapper/core_mapper.dart
+0 −2 lib/repository/models/base_entity.dart
+0 −4 lib/utils/collection_utils.dart
+0 −22 lib/utils/color_contrast_helper.dart
+158 −0 lib/utils/dialog_size.dart
+112 −0 lib/utils/haptic_feedback_util.dart
+70 −0 lib/utils/lru_cache.dart
+225 −0 lib/utils/responsive_dialog_helper.dart
+472 −0 lib/utils/responsive_util.dart
+34 −0 lib/utils/time_formatting_util.dart
+2 −0 lib/utils/utils.dart
+8 −0 pubspec.lock
+3 −0 pubspec.yaml
218 changes: 119 additions & 99 deletions src/lib/main.mapper.g.dart

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import 'package:whph/presentation/ui/features/app_usages/components/app_usage_ig
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/features/app_usages/constants/app_usage_translation_keys.dart';
import 'package:whph/presentation/ui/shared/components/border_fade_overlay.dart';
import 'package:acore/acore.dart' as acore;

class AppUsageRulesPage extends StatefulWidget {
static const String route = '/app-usages/rules';
Expand Down Expand Up @@ -56,8 +56,8 @@ class _AppUsageRulesPageState extends State<AppUsageRulesPage> with SingleTicker
padding: const EdgeInsets.all(AppTheme.sizeLarge),
child: Column(
children: [
BorderFadeOverlay(
fadeBorders: {FadeBorder.right},
acore.BorderFadeOverlay(
fadeBorders: {acore.FadeBorder.right},
child: TabBar(
controller: _tabController,
isScrollable: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'dart:async';

import 'package:flutter/material.dart';
import 'package:mediatr/mediatr.dart';
import 'package:acore/acore.dart' show NumericInput, DateTimeHelper, ISoundPlayer;
import 'package:acore/acore.dart' show NumericInput, DateTimeHelper, ISoundPlayer, NumericInputTranslationKey;
import 'package:whph/presentation/ui/shared/components/markdown_editor.dart';
import 'package:whph/core/application/features/habits/commands/toggle_habit_completion_command.dart';
import 'package:whph/core/application/features/habits/commands/save_habit_command.dart';
Expand Down Expand Up @@ -982,8 +982,12 @@ class _HabitDetailsContentState extends State<HabitDetailsContent> {
_saveHabit();
});
},
decrementTooltip: _translationService.translate(HabitTranslationKeys.decreaseEstimatedTime),
incrementTooltip: _translationService.translate(HabitTranslationKeys.increaseEstimatedTime),
translations: {
NumericInputTranslationKey.decrementTooltip:
_translationService.translate(HabitTranslationKeys.decreaseEstimatedTime),
NumericInputTranslationKey.incrementTooltip:
_translationService.translate(HabitTranslationKeys.increaseEstimatedTime),
},
iconColor: AppTheme.secondaryTextColor,
iconSize: AppTheme.iconSizeSmall,
valueSuffix: _translationService.translate(SharedTranslationKeys.minutesShort),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import 'package:whph/presentation/ui/features/habits/pages/habit_details_page.da
import 'package:whph/presentation/ui/features/habits/services/habits_service.dart';
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/presentation/ui/shared/constants/shared_translation_keys.dart';
import 'package:whph/presentation/ui/shared/enums/dialog_size.dart';
import 'package:whph/presentation/ui/shared/models/sort_config.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_theme_service.dart';
Expand All @@ -22,7 +21,6 @@ import 'package:whph/presentation/ui/shared/components/responsive_scaffold_layou
import 'package:whph/presentation/ui/shared/models/dropdown_option.dart';
import 'package:whph/presentation/ui/shared/components/kebab_menu.dart';
import 'package:whph/presentation/ui/features/habits/constants/habit_translation_keys.dart';
import 'package:whph/presentation/ui/shared/utils/responsive_dialog_helper.dart';
import 'package:whph/presentation/ui/shared/components/tour_overlay.dart';
import 'package:whph/presentation/ui/shared/services/tour_navigation_service.dart';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@ import 'package:whph/presentation/ui/features/notes/services/notes_service.dart'
import 'package:whph/presentation/ui/shared/components/icon_overlay.dart';
import 'package:whph/presentation/ui/shared/components/load_more_button.dart';
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/presentation/ui/shared/enums/dialog_size.dart';
import 'package:whph/presentation/ui/shared/models/sort_config.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/shared/utils/app_theme_helper.dart';
import 'package:whph/presentation/ui/shared/utils/async_error_handler.dart';
import 'package:whph/presentation/ui/shared/utils/responsive_dialog_helper.dart';
import 'package:acore/acore.dart';

class NotesList extends StatefulWidget {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import 'package:whph/core/application/features/settings/commands/import_data_com
import 'package:whph/main.dart';
import 'package:whph/core/shared/utils/logger.dart';
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/presentation/ui/shared/enums/dialog_size.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_theme_service.dart';
import 'package:whph/presentation/ui/features/settings/constants/settings_translation_keys.dart';
Expand All @@ -13,7 +12,6 @@ import 'package:whph/presentation/ui/shared/utils/overlay_notification_helper.da
import 'package:mediatr/mediatr.dart';
import 'package:whph/presentation/ui/shared/utils/async_error_handler.dart';
import 'package:acore/acore.dart';
import 'package:whph/presentation/ui/shared/utils/responsive_dialog_helper.dart';
import 'package:whph/presentation/ui/shared/utils/error_helper.dart';
import 'dart:typed_data';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import 'package:whph/core/domain/features/settings/setting.dart';
import 'package:whph/core/domain/features/tasks/task_constants.dart';
import 'package:whph/main.dart';
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/corePackages/acore/lib/components/numeric_input.dart';
import 'package:acore/acore.dart';
import 'package:whph/presentation/ui/shared/constants/setting_keys.dart';
import 'package:whph/core/shared/utils/logger.dart';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ import 'package:whph/core/application/features/settings/services/abstraction/i_s
import 'package:whph/core/domain/features/settings/setting.dart';
import 'package:whph/presentation/ui/features/sync/components/firewall_permission_card.dart';
import 'package:whph/presentation/ui/features/sync/pages/add_sync_device_page.dart';
import 'package:whph/presentation/ui/shared/utils/responsive_dialog_helper.dart';
import 'package:whph/presentation/ui/shared/enums/dialog_size.dart';
import 'package:whph/core/domain/features/sync/models/desktop_sync_mode.dart';
import 'package:whph/infrastructure/desktop/features/sync/desktop_sync_service.dart';
import 'package:whph/presentation/ui/features/sync/components/manual_connection_dialog.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class TagSelectDropdown extends StatefulWidget {
final bool initialNoneSelected;
final bool initialShowNoTagsFilter;
final Function(List<DropdownOption<String>>, bool isNoneSelected) onTagsSelected;
final ButtonStyle? buttonStyle;

const TagSelectDropdown({
super.key,
Expand All @@ -52,6 +53,7 @@ class TagSelectDropdown extends StatefulWidget {
this.showNoneOption = false,
this.initialNoneSelected = false,
this.initialShowNoTagsFilter = false,
this.buttonStyle,
});

@override
Expand Down Expand Up @@ -213,7 +215,7 @@ class _TagSelectDropdownState extends State<TagSelectDropdown> {
appBar: AppBar(
backgroundColor: Theme.of(context).cardColor,
title: Text(_translationService.translate(TagTranslationKeys.selectTooltip)),
automaticallyImplyLeading: false,
automaticallyImplyLeading: true,
actions: [
if (tempSelectedTags.isNotEmpty || _hasExplicitlySelectedNone)
IconButton(
Expand Down Expand Up @@ -501,6 +503,7 @@ class _TagSelectDropdownState extends State<TagSelectDropdown> {
iconSize: widget.iconSize ?? AppTheme.iconSizeSmall,
onPressed: () => _showTagSelectionModal(context),
tooltip: displayTooltip,
style: widget.buttonStyle,
);
if (selectedTagNames.isNotEmpty) {
displayTooltip = selectedTagNames.join(', ');
Expand All @@ -522,6 +525,7 @@ class _TagSelectDropdownState extends State<TagSelectDropdown> {
iconSize: widget.iconSize ?? AppTheme.iconSizeSmall,
onPressed: () => _showTagSelectionModal(context),
tooltip: displayTooltip,
style: widget.buttonStyle,
);
}

Expand Down Expand Up @@ -554,6 +558,7 @@ class _TagSelectDropdownState extends State<TagSelectDropdown> {
iconSize: widget.iconSize ?? AppTheme.iconSizeSmall,
onPressed: () => _showTagSelectionModal(context),
tooltip: displayTooltip ?? '',
style: widget.buttonStyle,
),
),
if (widget.showSelectedInDropdown && _selectedTags.isNotEmpty && _tags != null)
Expand All @@ -569,6 +574,7 @@ class _TagSelectDropdownState extends State<TagSelectDropdown> {
iconSize: widget.iconSize ?? AppTheme.iconSizeSmall,
onPressed: () => _showTagSelectionModal(context),
tooltip: _translationService.translate(TagTranslationKeys.selectTooltip),
style: widget.buttonStyle,
),
),
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,8 @@ import 'package:whph/presentation/ui/shared/components/bar_chart.dart';
import 'package:whph/presentation/ui/shared/components/icon_overlay.dart';
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/presentation/ui/shared/constants/shared_ui_constants.dart';
import 'package:whph/presentation/ui/shared/enums/dialog_size.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_theme_service.dart';
import 'package:whph/presentation/ui/shared/utils/responsive_dialog_helper.dart';
import 'package:whph/core/shared/utils/logger.dart';

class TagTimeBarChart extends StatefulWidget {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import 'package:whph/presentation/ui/features/tags/components/tag_details_conten
import 'package:whph/presentation/ui/features/tags/components/tag_time_bar_chart.dart';
import 'package:whph/presentation/ui/features/tags/components/tag_time_chart_options.dart';
import 'package:whph/presentation/ui/features/tags/constants/tag_translation_keys.dart';
import 'package:whph/presentation/ui/shared/components/border_fade_overlay.dart';
import 'package:acore/acore.dart' as acore;
import 'package:whph/presentation/ui/shared/constants/app_theme.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_theme_service.dart';
Expand Down Expand Up @@ -125,8 +125,8 @@ class _TagDetailsPageState extends State<TagDetailsPage> with AutomaticKeepAlive
length: 3,
child: Column(
children: [
BorderFadeOverlay(
fadeBorders: {FadeBorder.right},
acore.BorderFadeOverlay(
fadeBorders: {acore.FadeBorder.right},
child: TabBar(
isScrollable: true,
tabAlignment: TabAlignment.start,
Expand Down
2 changes: 0 additions & 2 deletions src/lib/presentation/ui/features/tags/pages/tags_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import 'package:whph/presentation/ui/features/tags/components/tag_add_button.dar
import 'package:whph/presentation/ui/features/tags/components/tag_list_options.dart';
import 'package:whph/presentation/ui/features/tags/components/tag_time_chart.dart';
import 'package:whph/presentation/ui/features/tags/components/tags_list.dart';
import 'package:whph/presentation/ui/shared/enums/dialog_size.dart';
import 'package:whph/presentation/ui/shared/models/sort_config.dart';
import 'package:whph/presentation/ui/features/tags/pages/tag_details_page.dart';
import 'package:whph/presentation/ui/shared/components/responsive_scaffold_layout.dart';
Expand All @@ -20,7 +19,6 @@ import 'package:whph/presentation/ui/features/tags/constants/tag_translation_key
import 'package:acore/acore.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_translation_service.dart';
import 'package:whph/presentation/ui/shared/services/abstraction/i_theme_service.dart';
import 'package:whph/presentation/ui/shared/utils/responsive_dialog_helper.dart';
import 'package:whph/presentation/ui/shared/components/tour_overlay.dart';
import 'package:whph/presentation/ui/shared/services/tour_navigation_service.dart';
import 'package:whph/presentation/ui/shared/models/date_filter_setting.dart';
Expand Down
15 changes: 13 additions & 2 deletions src/lib/presentation/ui/features/tasks/assets/locales/cs.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
tasks:
add_button:
tooltip: Přidat nový úkol
date_picker:
quick_selection:
today: Dnes
tomorrow: Zítra
this_weekend: Tento víkend
weekend: Víkend
next_week: Příští týden
next_weekend: Příští víkend
all_tasks_done: Všechny úkoly dokončeny!
card:
schedule:
Expand All @@ -23,10 +31,9 @@ tasks:
description:
hint: Přidejte popis...
label: Popis
context: Přidejte podrobné informace o svém úkolu, které vám pomohou pamatovat si klíčové detaily a sledovat pokrok.
elapsed_time:
label: Uplynulý čas
estimated_time:
label: Odhadovaný čas
is_completed: Dokončeno
parent_task:
label: Nadřazený úkol
Expand All @@ -44,6 +51,9 @@ tasks:
title:
label: Titulek
total_elapsed_time: Celkový uplynulý čas
estimated_time:
label: Odhadovaný čas
description: Stanovte realistický odhad času pro efektivní plánování úkolu a sledování produktivity.
errors:
add_tag: Neočekávaná chyba při přidávání štítku
adding_tag: Selhání přidání štítku
Expand Down Expand Up @@ -232,6 +242,7 @@ tasks:
priority:
selection:
title: Vybrat prioritu
description: Nastavte prioritu úkolu pomocí Eisenhowerovy matice - klasifikace Naléhavé/Důležité pro efektivní správu úkolů
tooltips:
none: Žádná priorita
not_urgent_important: Ne naléhavé, ale důležité
Expand Down
15 changes: 13 additions & 2 deletions src/lib/presentation/ui/features/tasks/assets/locales/da.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
tasks:
add_button:
tooltip: Tilføj ny opgave
date_picker:
quick_selection:
today: I dag
tomorrow: I morgen
this_weekend: Denne weekend
weekend: Weekend
next_week: Næste uge
next_weekend: Næste weekend
all_tasks_done: Alle opgaver færdige!
card:
schedule:
Expand All @@ -23,10 +31,9 @@ tasks:
description:
hint: Tilføj beskrivelse...
label: Beskrivelse
context: Tilføj detaljerede oplysninger om din opgave for at hjælpe dig med at huske nøgleoplysninger og spore fremskridt.
elapsed_time:
label: Forløbet tid
estimated_time:
label: Estimeret tid
is_completed: Færdig
parent_task:
label: Overordnet opgave
Expand All @@ -44,6 +51,9 @@ tasks:
title:
label: Titel
total_elapsed_time: Total forløbet tid
estimated_time:
label: Estimeret tid
description: Sæt en realistisk tidsvurdering for at planere din opgave effektivt og spore produktivitet.
errors:
add_tag: Uventet fejl opstod under tilføjelse af tag
adding_tag: Kunne ikke tilføje tag
Expand Down Expand Up @@ -232,6 +242,7 @@ tasks:
priority:
selection:
title: Vælg prioritet
description: Indstil opgaveprioritet ved hjælp af Eisenhowers Matrix - Presserende/Vigtig klassifikation for effektiv opgavestyring
tooltips:
none: Ingen prioritet
not_urgent_important: Ikke presserende men vigtig
Expand Down
38 changes: 24 additions & 14 deletions src/lib/presentation/ui/features/tasks/assets/locales/de.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
tasks:
add_button:
tooltip: Neue Aufgabe hinzufügen
date_picker:
quick_selection:
today: Heute
tomorrow: Morgen
this_weekend: Dieses Wochenende
weekend: Wochenende
next_week: Nächste Woche
next_weekend: Nächstes Wochenende
all_tasks_done: Alle Aufgaben erledigt!
card:
schedule:
Expand All @@ -18,32 +26,33 @@ tasks:
message: Sind Sie sicher, dass Sie diese Aufgabe löschen möchten?
title: Aufgabe löschen
details:
title:
label: Titel
tags:
hint: Tags auswählen
label: Tags
priority:
label: Priorität
planned_date:
label: Geplantes Datum
deadline_date:
label: Fälligkeitsdatum
description:
hint: Beschreibung hinzufügen...
label: Beschreibung
context: Fügen Sie detaillierte Informationen über Ihre Aufgabe hinzu, um Ihnen zu helfen, wichtige Details zu merken und den Fortschritt zu verfolgen.
elapsed_time:
label: Verstrichene Zeit
estimated_time:
label: Geschätzte Zeit
is_completed: Erledigt
parent_task:
label: Übergeordnete Aufgabe
tooltip: Klicken, um zur übergeordneten Aufgabe zu navigieren
planned_date:
label: Geplantes Datum
priority:
label: Priorität
tooltip: Zur übergeordneten Aufgabe navigieren
sub_tasks:
label: Unteraufgaben
tags:
hint: Tags zum Verknüpfen auswählen
label: Tags
tags_hint: Tags für Aufgabe auswählen
title:
label: Titel
total_elapsed_time: Gesamte verstrichene Zeit
total_elapsed_time: Gesamt verstrichene Zeit
estimated_time:
label: Geschätzte Zeit
description: Legen Sie realistische Zeitschätzungen fest, um Ihre Aufgabe effektiv zu planen und die Produktivität zu verfolgen.
errors:
add_tag: Unerwarteter Fehler beim Hinzufügen des Tags
adding_tag: Tag konnte nicht hinzugefügt werden
Expand Down Expand Up @@ -232,6 +241,7 @@ tasks:
priority:
selection:
title: Priorität auswählen
description: Legen Sie Task-Priorität mithilfe der Eisenhower-Matrix fest - Dringend/Wichtig-Klassifizierung für effektives Task-Management
tooltips:
none: Keine Priorität
not_urgent_important: Nicht dringend aber wichtig
Expand Down
Loading