mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	refactor(mobile): migrate all Hive boxes to Isar database (#2036)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							0616a66b05
						
					
				
				
					commit
					eccde8fa07
				
			@@ -1,7 +1,6 @@
 | 
			
		||||
import 'package:cached_network_image/cached_network_image.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:hive_flutter/hive_flutter.dart';
 | 
			
		||||
import 'package:immich_mobile/constants/hive_box.dart';
 | 
			
		||||
import 'package:immich_mobile/shared/models/store.dart';
 | 
			
		||||
 | 
			
		||||
class ThumbnailWithInfo extends StatelessWidget {
 | 
			
		||||
  const ThumbnailWithInfo({
 | 
			
		||||
@@ -19,7 +18,6 @@ class ThumbnailWithInfo extends StatelessWidget {
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    var box = Hive.box(userInfoBox);
 | 
			
		||||
    var isDarkMode = Theme.of(context).brightness == Brightness.dark;
 | 
			
		||||
    var textAndIconColor = isDarkMode ? Colors.grey[100] : Colors.grey[700];
 | 
			
		||||
    return GestureDetector(
 | 
			
		||||
@@ -51,7 +49,8 @@ class ThumbnailWithInfo extends StatelessWidget {
 | 
			
		||||
                          fit: BoxFit.cover,
 | 
			
		||||
                          imageUrl: imageUrl!,
 | 
			
		||||
                          httpHeaders: {
 | 
			
		||||
                            "Authorization": "Bearer ${box.get(accessTokenKey)}"
 | 
			
		||||
                            "Authorization":
 | 
			
		||||
                                "Bearer ${Store.get(StoreKey.accessToken)}"
 | 
			
		||||
                          },
 | 
			
		||||
                          errorWidget: (context, url, error) =>
 | 
			
		||||
                              const Icon(Icons.image_not_supported_outlined),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,14 @@
 | 
			
		||||
import 'package:auto_route/auto_route.dart';
 | 
			
		||||
import 'package:easy_localization/easy_localization.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter_hooks/flutter_hooks.dart';
 | 
			
		||||
import 'package:hive_flutter/hive_flutter.dart';
 | 
			
		||||
import 'package:flutter_hooks/flutter_hooks.dart' hide Store;
 | 
			
		||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
 | 
			
		||||
import 'package:immich_mobile/constants/hive_box.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/search/providers/search_page_state.provider.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/search/ui/search_bar.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/search/ui/search_suggestion_list.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/search/ui/thumbnail_with_info.dart';
 | 
			
		||||
import 'package:immich_mobile/routing/router.dart';
 | 
			
		||||
import 'package:immich_mobile/shared/models/store.dart';
 | 
			
		||||
import 'package:immich_mobile/shared/ui/immich_loading_indicator.dart';
 | 
			
		||||
import 'package:immich_mobile/utils/capitalize_first_letter.dart';
 | 
			
		||||
import 'package:openapi/api.dart';
 | 
			
		||||
@@ -22,7 +21,6 @@ class SearchPage extends HookConsumerWidget {
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context, WidgetRef ref) {
 | 
			
		||||
    var box = Hive.box(userInfoBox);
 | 
			
		||||
    final isSearchEnabled = ref.watch(searchPageStateProvider).isSearchEnabled;
 | 
			
		||||
    AsyncValue<List<CuratedLocationsResponseDto>> curatedLocation =
 | 
			
		||||
        ref.watch(getCuratedLocationProvider);
 | 
			
		||||
@@ -64,7 +62,7 @@ class SearchPage extends HookConsumerWidget {
 | 
			
		||||
                    itemBuilder: ((context, index) {
 | 
			
		||||
                      var locationInfo = curatedLocations[index];
 | 
			
		||||
                      var thumbnailRequestUrl =
 | 
			
		||||
                          '${box.get(serverEndpointKey)}/asset/thumbnail/${locationInfo.id}';
 | 
			
		||||
                          '${Store.get(StoreKey.serverEndpoint)}/asset/thumbnail/${locationInfo.id}';
 | 
			
		||||
                      return ThumbnailWithInfo(
 | 
			
		||||
                        imageUrl: thumbnailRequestUrl,
 | 
			
		||||
                        textInfo: locationInfo.city,
 | 
			
		||||
@@ -113,7 +111,7 @@ class SearchPage extends HookConsumerWidget {
 | 
			
		||||
                    itemBuilder: ((context, index) {
 | 
			
		||||
                      var curatedObjectInfo = objects[index];
 | 
			
		||||
                      var thumbnailRequestUrl =
 | 
			
		||||
                          '${box.get(serverEndpointKey)}/asset/thumbnail/${curatedObjectInfo.id}';
 | 
			
		||||
                          '${Store.get(StoreKey.serverEndpoint)}/asset/thumbnail/${curatedObjectInfo.id}';
 | 
			
		||||
 | 
			
		||||
                      return ThumbnailWithInfo(
 | 
			
		||||
                        imageUrl: thumbnailRequestUrl,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user