hunk.code_window:             PhotoViewGallery.builder(
                 scaleStateChangedCallback: (state) {
                   isZoomed.value = state != PhotoViewScaleState.initial;
                   ref.read(showControlsProvider.notifier).show = !isZoomed.value;
                 },
                 loadingBuilder: (context, event, index) => ImageFiltered(
                   imageFilter: ui.ImageFilter.blur(
                     sigmaX: 1,
                     sigmaY: 1,
                   ),
                   child: ImmichThumbnail(
                     asset: asset(),
                     fit: BoxFit.contain,
                   ),
                 ),
                 pageController: controller,
  
hunk.labels: keep keep keep keep keep replace replace replace replace replace replace replace replace keep keep keep
hunk.after_edit:               loadingBuilder: (context, event, index) => ClipRect(
                   child: Stack(
                     fit: StackFit.expand,
                     children: [
                       BackdropFilter(
                         filter: ui.ImageFilter.blur(
                           sigmaX: 10,
                           sigmaY: 10,
                         ),
                       ),
                       ImmichThumbnail(
                         asset: asset(),
                         fit: BoxFit.contain,
                       ),
                     ],
  
hunk.file_path: mobile/lib/modules/asset_viewer/views/gallery_viewer.dart
hunk.type: replace
file: //
  // AUTO-GENERATED FILE, DO NOT MODIFY!
  //
  // @dart=2.12
  
  // ignore_for_file: unused_element, unused_import
  // ignore_for_file: always_put_required_named_parameters_first
  // ignore_for_file: constant_identifier_names
  // ignore_for_file: lines_longer_than_80_chars
  
  part of openapi.api;
  
  class FaceDto {
    /// Returns a new [FaceDto] instance.
    FaceDto({
      required this.id,
    });
  
    String id;
  
    @override
    bool operator ==(Object other) => identical(this, other) || other is FaceDto &&
      other.id == id;
  
    @override
    int get hashCode =>
      // ignore: unnecessary_parenthesis
      (id.hashCode);
  
    @override
    String toString() => 'FaceDto[id=$id]';
  
    Map<String, dynamic> toJson() {
      final json = <String, dynamic>{};
        json[r'id'] = this.id;
      return json;
    }
  
    /// Returns a new [FaceDto] instance and imports its values from
    /// [value] if it's a [Map], null otherwise.
    // ignore: prefer_constructors_over_static_methods
    static FaceDto? fromJson(dynamic value) {
      if (value is Map) {
        final json = value.cast<String, dynamic>();
  
        return FaceDto(
          id: mapValueOfType<String>(json, r'id')!,
        );
      }
      return null;
    }
  
    static List<FaceDto> listFromJson(dynamic json, {bool growable = false,}) {
      final result = <FaceDto>[];
      if (json is List && json.isNotEmpty) {
        for (final row in json) {
          final value = FaceDto.fromJson(row);
          if (value != null) {
            result.add(value);
          }
        }
      }
      return result.toList(growable: growable);
    }
  
    static Map<String, FaceDto> mapFromJson(dynamic json) {
      final map = <String, FaceDto>{};
      if (json is Map && json.isNotEmpty) {
        json = json.cast<String, dynamic>(); // ignore: parameter_assignments
        for (final entry in json.entries) {
          final value = FaceDto.fromJson(entry.value);
          if (value != null) {
            map[entry.key] = value;
          }
        }
      }
      return map;
    }
  
    // maps a json object with a list of FaceDto-objects as value to a dart map
    static Map<String, List<FaceDto>> mapListFromJson(dynamic json, {bool growable = false,}) {
      final map = <String, List<FaceDto>>{};
      if (json is Map && json.isNotEmpty) {
        // ignore: parameter_assignments
        json = json.cast<String, dynamic>();
        for (final entry in json.entries) {
          map[entry.key] = FaceDto.listFromJson(entry.value, growable: growable,);
        }
      }
      return map;
    }
  
    /// The list of required keys that must be present in a JSON.
    static const requiredKeys = <String>{
      'id',
    };
  }
  
  