Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
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
3 changes: 3 additions & 0 deletions .fvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"flutter": "3.22.0"
}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ app.*.map.json
/android/app/debug
/android/app/profile
/android/app/release

# FVM Version Cache
.fvm/
Binary file modified android/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-all.zip
65 changes: 39 additions & 26 deletions lib/alarm/data/alarm_app_settings_schema.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import 'package:clock_app/alarm/data/alarm_settings_schema.dart';
import 'package:clock_app/alarm/types/notification_action.dart';
import 'package:clock_app/common/types/list_filter.dart';
import 'package:clock_app/icons/flux_icons.dart';
import 'package:clock_app/notifications/widgets/notification_actions/area_notification_action.dart';
import 'package:clock_app/notifications/widgets/notification_actions/buttons_notification_action.dart';
import 'package:clock_app/notifications/widgets/notification_actions/slide_notification_action.dart';
import 'package:clock_app/notifications/widgets/notification_actions/area_fat_snooze_notification_action.dart';
import 'package:clock_app/settings/types/setting.dart';
import 'package:clock_app/settings/types/setting_enable_condition.dart';
import 'package:clock_app/settings/types/setting_group.dart';
Expand Down Expand Up @@ -70,41 +70,54 @@ SettingGroup alarmAppSettingsSchema = SettingGroup(
snoozeLabel: snoozeLabel,
),
),
),
//Fat Snooze Option
SelectSettingOption(
(context) =>
AppLocalizations.of(context)!.dismissActionAreaFatSnoozeButtons,
NotificationAction(
builder: (onDismiss, onSnooze, dismissLabel, snoozeLabel) =>
AreaFatSnoozeNotificationAction(
onDismiss: onDismiss,
onSnooze: onSnooze,
dismissLabel: dismissLabel,
snoozeLabel: snoozeLabel,
),
),
)
]),
SettingGroup("Filters",
(context) => AppLocalizations.of(context)!.filtersSettingGroup, [
// CustomizableListSetting<ListFilter>(
// "Tasks",
// (context) => AppLocalizations.of(context)!.tasksSetting,
// [],
// // kDebugMode
// // ? [AlarmTask(AlarmTaskType.math), AlarmTask(AlarmTaskType.sequence)]
// // : [],
// alarmTaskSchemasMap.keys.map((key) => AlarmTask(key)).toList(),
// addCardBuilder: (item) => AlarmTaskCard(task: item, isAddCard: true),
// cardBuilder: (item, [onDelete, onDuplicate]) => AlarmTaskCard(
// task: item,
// isAddCard: false,
// onPressDelete: onDelete,
// onPressDuplicate: onDuplicate,
// ),
// valueDisplayBuilder: (context, setting) {
// return Text("${setting.value.length} tasks");
// },
// itemPreviewBuilder: (item) => TryAlarmTaskButton(alarmTask: item),
// // onChange: (context, value)async{
// // await appSettings.save();
// // }
// ),
// CustomizableListSetting<ListFilter>(
// "Tasks",
// (context) => AppLocalizations.of(context)!.tasksSetting,
// [],
// // kDebugMode
// // ? [AlarmTask(AlarmTaskType.math), AlarmTask(AlarmTaskType.sequence)]
// // : [],
// alarmTaskSchemasMap.keys.map((key) => AlarmTask(key)).toList(),
// addCardBuilder: (item) => AlarmTaskCard(task: item, isAddCard: true),
// cardBuilder: (item, [onDelete, onDuplicate]) => AlarmTaskCard(
// task: item,
// isAddCard: false,
// onPressDelete: onDelete,
// onPressDuplicate: onDuplicate,
// ),
// valueDisplayBuilder: (context, setting) {
// return Text("${setting.value.length} tasks");
// },
// itemPreviewBuilder: (item) => TryAlarmTaskButton(alarmTask: item),
// // onChange: (context, value)async{
// // await appSettings.save();
// // }
// ),

SwitchSetting("Show Filters",
(context) => AppLocalizations.of(context)!.showFiltersSetting, true),
SwitchSetting("Show Sort",
(context) => AppLocalizations.of(context)!.showSortSetting, true),
SwitchSetting("Show Next Alarm",
SwitchSetting("Show Next Alarm",
(context) => AppLocalizations.of(context)!.showNextAlarm, false),

]),
SettingGroup(
"Notifications",
Expand Down
2 changes: 2 additions & 0 deletions lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,8 @@
"@dismissActionButtons": {},
"dismissActionAreaButtons": "Area Buttons",
"@dismissActionAreaButtons": {},
"dismissActionAreaFatSnoozeButtons": "Area Fat Snooze Buttons",
"@dismissActionAreaFatSnoozeButtons": {},
"stopwatchTimeFormatSettingGroup": "Time Format",
"@stopwatchTimeFormatSettingGroup": {},
"stopwatchShowMillisecondsSetting": "Show Milliseconds",
Expand Down
2 changes: 2 additions & 0 deletions lib/l10n/app_fr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,8 @@
"@dismissActionButtons": {},
"dismissActionAreaButtons": "Boutons larges",
"@dismissActionAreaButtons": {},
"dismissActionAreaFatSnoozeButtons": "Boutons Snooze larges",
"@dismissActionAreaFatSnoozeButtons": {},
"comparisonLapBarsSettingGroup": "Comparaison des tours",
"@comparisonLapBarsSettingGroup": {},
"showPreviousLapSetting": "Afficher le tour précédent",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import 'package:clock_app/common/widgets/card_container.dart';
import 'package:flutter/material.dart';

class AreaFatSnoozeNotificationAction extends StatelessWidget {
const AreaFatSnoozeNotificationAction(
{super.key,
required this.dismissLabel,
required this.snoozeLabel,
required this.onDismiss,
this.onSnooze});

final String dismissLabel;
final String snoozeLabel;
final VoidCallback onDismiss;
final VoidCallback? onSnooze;

@override
Widget build(BuildContext context) {
ThemeData theme = Theme.of(context);
TextTheme textTheme = theme.textTheme;
ColorScheme colorScheme = theme.colorScheme;

return Expanded(
child: SizedBox(
width: double.infinity,
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (onSnooze != null)
Expanded(
flex: 3,
child: SizedBox(
width: double.infinity,
child: CardContainer(
color: colorScheme.primary,
onTap: onSnooze,
child: Center(
child: Text(
snoozeLabel,
style: textTheme.titleMedium?.copyWith(
color: colorScheme.onPrimary,
),
)),
),
),
),
const SizedBox(height: 8),
Expanded(
flex: 1,
child: SizedBox(
width: double.infinity,
child: CardContainer(
color: colorScheme.primary,
onTap: onDismiss,
child: Center(
child: Text(
dismissLabel,
style: textTheme.titleMedium?.copyWith(
color: colorScheme.onPrimary,
),
)),
),
),
)
],
),
),
),
);
}
}