fix(admin): make action surfaces tappable and simplify version display

This commit is contained in:
dwindown
2026-04-02 06:13:53 +07:00
parent b190cc51d6
commit 3672cc54e7
2 changed files with 104 additions and 77 deletions

View File

@@ -2357,6 +2357,12 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
scale: isFocused ? 1.01 : 1.0, scale: isFocused ? 1.01 : 1.0,
duration: const Duration(milliseconds: 140), duration: const Duration(milliseconds: 140),
curve: Curves.easeOutCubic, curve: Curves.easeOutCubic,
child: Material(
color: Colors.transparent,
borderRadius: BorderRadius.circular(SacredRadii.lg),
child: InkWell(
onTap: onActivate,
borderRadius: BorderRadius.circular(SacredRadii.lg),
child: AnimatedContainer( child: AnimatedContainer(
duration: const Duration(milliseconds: 140), duration: const Duration(milliseconds: 140),
curve: Curves.easeOutCubic, curve: Curves.easeOutCubic,
@@ -2386,6 +2392,8 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
child: builder?.call(isFocused) ?? child!, child: builder?.call(isFocused) ?? child!,
), ),
), ),
),
),
); );
}, },
), ),
@@ -2420,6 +2428,12 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
scale: isFocused ? 1.01 : 1.0, scale: isFocused ? 1.01 : 1.0,
duration: const Duration(milliseconds: 140), duration: const Duration(milliseconds: 140),
curve: Curves.easeOutCubic, curve: Curves.easeOutCubic,
child: Material(
color: Colors.transparent,
borderRadius: BorderRadius.circular(SacredRadii.lg),
child: InkWell(
onTap: onActivate,
borderRadius: BorderRadius.circular(SacredRadii.lg),
child: AnimatedContainer( child: AnimatedContainer(
duration: const Duration(milliseconds: 140), duration: const Duration(milliseconds: 140),
curve: Curves.easeOutCubic, curve: Curves.easeOutCubic,
@@ -2447,6 +2461,8 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
), ),
child: builder != null ? builder(isFocused) : child!, child: builder != null ? builder(isFocused) : child!,
), ),
),
),
); );
}, },
), ),
@@ -2481,6 +2497,12 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
scale: isFocused ? 1.01 : 1.0, scale: isFocused ? 1.01 : 1.0,
duration: const Duration(milliseconds: 140), duration: const Duration(milliseconds: 140),
curve: Curves.easeOutCubic, curve: Curves.easeOutCubic,
child: Material(
color: Colors.transparent,
borderRadius: BorderRadius.circular(SacredRadii.lg),
child: InkWell(
onTap: onActivate,
borderRadius: BorderRadius.circular(SacredRadii.lg),
child: AnimatedContainer( child: AnimatedContainer(
duration: const Duration(milliseconds: 140), duration: const Duration(milliseconds: 140),
curve: Curves.easeOutCubic, curve: Curves.easeOutCubic,
@@ -2510,6 +2532,8 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
child: builder?.call(isFocused) ?? child!, child: builder?.call(isFocused) ?? child!,
), ),
), ),
),
),
); );
}, },
), ),
@@ -3822,7 +3846,7 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
SizedBox(height: 20 * s), SizedBox(height: 20 * s),
_buildStatusRow( _buildStatusRow(
'Versi Saat Ini', 'Versi Saat Ini',
currentVersion?.displayLabel ?? 'Memuat versi...', currentVersion?.versionName ?? 'Memuat versi...',
HugeIcons.strokeRoundedPackage, HugeIcons.strokeRoundedPackage,
s, s,
), ),
@@ -3850,7 +3874,7 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
SizedBox(height: 20 * s), SizedBox(height: 20 * s),
_buildStatusRow( _buildStatusRow(
'Versi Remote', 'Versi Remote',
'${remote.latestVersion}+${remote.versionCode}', remote.latestVersion,
HugeIcons.strokeRoundedPackage, HugeIcons.strokeRoundedPackage,
s, s,
), ),
@@ -3985,7 +4009,10 @@ class _AdminScreenState extends ConsumerState<AdminScreen> {
if (result.updateAvailable) { if (result.updateAvailable) {
final remote = result.remote; final remote = result.remote;
if (remote == null) return 'Update tersedia'; if (remote == null) return 'Update tersedia';
return 'Update tersedia ke ${remote.latestVersion}+${remote.versionCode}'; if (remote.latestVersion == result.current.versionName) {
return 'Update build tersedia untuk versi ${remote.latestVersion}';
}
return 'Update tersedia ke ${remote.latestVersion}';
} }
return 'Versi ini sudah terbaru'; return 'Versi ini sudah terbaru';
} }

View File

@@ -1,7 +1,7 @@
name: jamshalat_masjid_screen name: jamshalat_masjid_screen
description: Smart Digital Prayer Clock for Android TV Box description: Smart Digital Prayer Clock for Android TV Box
publish_to: 'none' publish_to: 'none'
version: 1.0.1+2 version: 1.0.2+3
environment: environment:
sdk: '>=3.0.0 <4.0.0' sdk: '>=3.0.0 <4.0.0'