Add midnight fallback notice, overnight simulations, and keyboard log filter

This commit is contained in:
dwindown
2026-04-07 11:27:39 +07:00
parent 414450125d
commit c1eade84ab
8 changed files with 1989 additions and 1615 deletions

View File

@@ -13,14 +13,14 @@ class AdzanAlertScreen extends ConsumerWidget {
Widget build(BuildContext context, WidgetRef ref) {
final screenData = ref.watch(screenStateProvider);
final clock = ref.watch(clockProvider).valueOrNull ?? DateTime.now();
final schedule = ref.watch(todayScheduleProvider);
final schedule = ref.watch(runtimeScheduleProvider).schedule;
final settings = ref.watch(settingsProvider);
final size = MediaQuery.of(context).size;
final s = size.width / 1920;
final prayerLabel = screenData.activePrayer
?.displayLabel(isFriday: screenData.isFriday) ??
'';
final prayerLabel =
screenData.activePrayer?.displayLabel(isFriday: screenData.isFriday) ??
'';
final timeStr =
'${clock.hour.toString().padLeft(2, '0')}:${clock.minute.toString().padLeft(2, '0')}';
final secStr = clock.second.toString().padLeft(2, '0');
@@ -54,8 +54,8 @@ class AdzanAlertScreen extends ConsumerWidget {
child: Center(
child: Opacity(
opacity: 0.03,
child: Icon(Icons.mosque, size: 500 * s,
color: SacredColors.onSurface),
child: Icon(Icons.mosque,
size: 500 * s, color: SacredColors.onSurface),
),
),
),
@@ -66,8 +66,8 @@ class AdzanAlertScreen extends ConsumerWidget {
left: 0,
right: 0,
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 64 * s, vertical: 24 * s),
padding:
EdgeInsets.symmetric(horizontal: 64 * s, vertical: 24 * s),
color: SacredColors.background,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@@ -136,7 +136,8 @@ class AdzanAlertScreen extends ConsumerWidget {
.withValues(alpha: 0.4),
borderRadius: BorderRadius.circular(SacredRadii.full),
border: Border.all(
color: SacredColors.outlineVariant.withValues(alpha: 0.15),
color:
SacredColors.outlineVariant.withValues(alpha: 0.15),
),
),
child: Row(
@@ -168,8 +169,8 @@ class AdzanAlertScreen extends ConsumerWidget {
style: GoogleFonts.plusJakartaSans(
fontSize: 48 * s,
fontWeight: FontWeight.w700,
color: SacredColors.onSurface
.withValues(alpha: 0.5),
color:
SacredColors.onSurface.withValues(alpha: 0.5),
),
),
Text(
@@ -253,9 +254,8 @@ class AdzanAlertScreen extends ConsumerWidget {
style: GoogleFonts.plusJakartaSans(
fontSize: isActive ? 32 * fs : 28 * fs,
fontWeight: isActive ? FontWeight.w700 : FontWeight.w600,
color: isActive
? SacredColors.primary
: SacredColors.onSurface,
color:
isActive ? SacredColors.primary : SacredColors.onSurface,
),
),
],
@@ -307,8 +307,8 @@ class _PulsingIconState extends State<_PulsingIcon>
height: 200 * s,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: SacredColors.secondary
.withValues(alpha: 0.1 * _ctrl.value),
color:
SacredColors.secondary.withValues(alpha: 0.1 * _ctrl.value),
boxShadow: [
BoxShadow(
blurRadius: 60 * s * _ctrl.value,