mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
chore(mobile): refactor detail panel (#11662)
* date time component * rename to info_sheet * simplify map info * Edit datetime sheet * fix janking when scroll on info sheet * Location refactor * refactor name * Update date time after editing * localize rebuild to smaller component * restore advanced bottom sheet * reassign EXIF back to local database * remove print statements
This commit is contained in:
parent
a144a1bec3
commit
d346985457
25 changed files with 580 additions and 609 deletions
|
|
@ -6,6 +6,7 @@ import 'package:immich_mobile/entities/exif_info.entity.dart';
|
|||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||
import 'package:immich_mobile/entities/asset.entity.dart';
|
||||
import 'package:immich_mobile/extensions/theme_extensions.dart';
|
||||
import 'package:immich_mobile/providers/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/user.provider.dart';
|
||||
import 'package:immich_mobile/services/asset_description.service.dart';
|
||||
import 'package:immich_mobile/widgets/common/immich_toast.dart';
|
||||
|
|
@ -29,17 +30,16 @@ class DescriptionInput extends HookConsumerWidget {
|
|||
final isFocus = useState(false);
|
||||
final isTextEmpty = useState(controller.text.isEmpty);
|
||||
final descriptionProvider = ref.watch(assetDescriptionServiceProvider);
|
||||
|
||||
final owner = ref.watch(currentUserProvider);
|
||||
final hasError = useState(false);
|
||||
final assetWithExif = ref.watch(assetDetailProvider(asset));
|
||||
|
||||
useEffect(
|
||||
() {
|
||||
controller.text = exifInfo?.description ?? '';
|
||||
isTextEmpty.value = exifInfo?.description?.isEmpty ?? true;
|
||||
controller.text = descriptionProvider.getAssetDescription(asset);
|
||||
return null;
|
||||
},
|
||||
[exifInfo?.description],
|
||||
[assetWithExif.value],
|
||||
);
|
||||
|
||||
submitDescription(String description) async {
|
||||
|
|
@ -49,6 +49,7 @@ class DescriptionInput extends HookConsumerWidget {
|
|||
asset,
|
||||
description,
|
||||
);
|
||||
controller.text = description;
|
||||
} catch (error, stack) {
|
||||
hasError.value = true;
|
||||
_log.severe("Error updating description", error, stack);
|
||||
|
|
@ -101,6 +102,11 @@ class DescriptionInput extends HookConsumerWidget {
|
|||
hintText: 'description_input_hint_text'.tr(),
|
||||
border: InputBorder.none,
|
||||
suffixIcon: suffixIcon,
|
||||
enabledBorder: InputBorder.none,
|
||||
focusedBorder: InputBorder.none,
|
||||
disabledBorder: InputBorder.none,
|
||||
errorBorder: InputBorder.none,
|
||||
focusedErrorBorder: InputBorder.none,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue