mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:39:37 -05:00 
			
		
		
		
	* dep(mobile): update flutter and deps * chore: dart analyzer * chore: update flutter workflow version * chore: dart format * fix: gallery_viewer PopScope --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'package:flutter/material.dart';
 | 
						|
import 'package:flutter_hooks/flutter_hooks.dart';
 | 
						|
 | 
						|
/// Creates a [DraggableScrollableController] that will be disposed automatically.
 | 
						|
///
 | 
						|
/// See also:
 | 
						|
/// - [DraggableScrollableController]
 | 
						|
DraggableScrollableController useDraggableScrollController({
 | 
						|
  List<Object?>? keys,
 | 
						|
}) {
 | 
						|
  return use(
 | 
						|
    _DraggableScrollControllerHook(
 | 
						|
      keys: keys,
 | 
						|
    ),
 | 
						|
  );
 | 
						|
}
 | 
						|
 | 
						|
class _DraggableScrollControllerHook
 | 
						|
    extends Hook<DraggableScrollableController> {
 | 
						|
  const _DraggableScrollControllerHook({
 | 
						|
    super.keys,
 | 
						|
  });
 | 
						|
 | 
						|
  @override
 | 
						|
  HookState<DraggableScrollableController, Hook<DraggableScrollableController>>
 | 
						|
      createState() => _DraggableScrollControllerHookState();
 | 
						|
}
 | 
						|
 | 
						|
class _DraggableScrollControllerHookState extends HookState<
 | 
						|
    DraggableScrollableController, _DraggableScrollControllerHook> {
 | 
						|
  late final controller = DraggableScrollableController();
 | 
						|
 | 
						|
  @override
 | 
						|
  DraggableScrollableController build(BuildContext context) => controller;
 | 
						|
 | 
						|
  @override
 | 
						|
  void dispose() => controller.dispose();
 | 
						|
 | 
						|
  @override
 | 
						|
  String get debugLabel => 'useDraggableScrollController';
 | 
						|
}
 |