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

@@ -28,7 +28,8 @@ class MainScreen extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final clock = ref.watch(clockProvider).valueOrNull ?? DateTime.now();
final schedule = ref.watch(todayScheduleProvider);
final runtimeSchedule = ref.watch(runtimeScheduleProvider);
final schedule = runtimeSchedule.schedule;
final settings = ref.watch(settingsProvider);
final screenData = ref.watch(screenStateProvider);
final size = MediaQuery.of(context).size;
@@ -118,6 +119,8 @@ class MainScreen extends ConsumerWidget {
settings,
dateGregorian,
dateHijri,
showWaitingUpdateNotice:
runtimeSchedule.isFallbackFromPreviousDay,
inlineClockText:
centerSlide.isPrimary ? null : '$timeStr$secStr',
),
@@ -166,7 +169,7 @@ class MainScreen extends ConsumerWidget {
Widget _buildHeader(BuildContext context, double s, double fs,
AppSettings settings, String dateGregorian, String dateHijri,
{String? inlineClockText}) {
{required bool showWaitingUpdateNotice, String? inlineClockText}) {
final hScale = settings.scaleTopHeader;
final showInlineClock =
inlineClockText != null && inlineClockText.isNotEmpty;
@@ -252,6 +255,37 @@ class MainScreen extends ConsumerWidget {
),
),
if (showWaitingUpdateNotice)
Expanded(
flex: 2,
child: Align(
alignment: Alignment.centerRight,
child: Container(
margin: EdgeInsets.only(right: 16 * s),
padding: EdgeInsets.symmetric(
horizontal: 18 * s,
vertical: 9 * s,
),
decoration: BoxDecoration(
color: SacredColors.secondary.withValues(alpha: 0.2),
borderRadius: BorderRadius.circular(SacredRadii.full),
border: Border.all(
color: SacredColors.secondary.withValues(alpha: 0.7),
),
),
child: Text(
'Menunggu Update Data',
style: GoogleFonts.plusJakartaSans(
fontSize: 16 * s * hScale,
fontWeight: FontWeight.w700,
color: SacredColors.secondary,
letterSpacing: 0.3 * s,
),
),
),
),
),
// Right: Hijri date + mosque icon
Expanded(
flex: 3,