Przeglądaj źródła

fix(mobile): Do not show version announcement if user is not admin. (#3703)

Skyler Mäntysaari 1 rok temu
rodzic
commit
19bbdebdf7

+ 7 - 0
mobile/lib/shared/providers/admin_provider.dart

@@ -0,0 +1,7 @@
+import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/shared/providers/user.provider.dart';
+
+final isAdminProvider = Provider<bool>((ref) {
+  final currentUser = ref.watch(currentUserProvider);
+  return currentUser?.isAdmin ?? false;  // Default to non-admin if no user
+});

+ 7 - 0
mobile/lib/shared/views/version_announcement_overlay.dart

@@ -3,6 +3,7 @@ import 'package:flutter/gestures.dart';
 import 'package:flutter/material.dart';
 import 'package:hooks_riverpod/hooks_riverpod.dart';
 import 'package:immich_mobile/shared/providers/release_info.provider.dart';
+import 'package:immich_mobile/shared/providers/admin_provider.dart';
 import 'package:url_launcher/url_launcher.dart';
 
 class VersionAnnouncementOverlay extends HookConsumerWidget {
@@ -12,6 +13,12 @@ class VersionAnnouncementOverlay extends HookConsumerWidget {
 
   @override
   Widget build(BuildContext context, WidgetRef ref) {
+    final bool isAdmin = ref.watch(isAdminProvider);
+
+    if (!isAdmin) {
+      return const SizedBox.shrink();  // Don't show anything for non-admins
+    }
+
     void goToReleaseNote() async {
       final Uri url =
           Uri.parse('https://github.com/immich-app/immich/releases/latest');