mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05:00 
			
		
		
		
	* Remove toggle fullscreen button * Implement custom video player controls * Move Padding into Container
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'package:flutter/material.dart';
 | 
						|
import 'package:immich_mobile/modules/asset_viewer/ui/animated_play_pause.dart';
 | 
						|
 | 
						|
class CenterPlayButton extends StatelessWidget {
 | 
						|
  const CenterPlayButton({
 | 
						|
    Key? key,
 | 
						|
    required this.backgroundColor,
 | 
						|
    this.iconColor,
 | 
						|
    required this.show,
 | 
						|
    required this.isPlaying,
 | 
						|
    required this.isFinished,
 | 
						|
    this.onPressed,
 | 
						|
  }) : super(key: key);
 | 
						|
 | 
						|
  final Color backgroundColor;
 | 
						|
  final Color? iconColor;
 | 
						|
  final bool show;
 | 
						|
  final bool isPlaying;
 | 
						|
  final bool isFinished;
 | 
						|
  final VoidCallback? onPressed;
 | 
						|
 | 
						|
  @override
 | 
						|
  Widget build(BuildContext context) {
 | 
						|
    return ColoredBox(
 | 
						|
      color: Colors.transparent,
 | 
						|
      child: Center(
 | 
						|
        child: UnconstrainedBox(
 | 
						|
          child: AnimatedOpacity(
 | 
						|
            opacity: show ? 1.0 : 0.0,
 | 
						|
            duration: const Duration(milliseconds: 100),
 | 
						|
            child: DecoratedBox(
 | 
						|
              decoration: BoxDecoration(
 | 
						|
                color: backgroundColor,
 | 
						|
                shape: BoxShape.circle,
 | 
						|
              ),
 | 
						|
              child: IconButton(
 | 
						|
                iconSize: 32,
 | 
						|
                padding: const EdgeInsets.all(12.0),
 | 
						|
                icon: isFinished
 | 
						|
                    ? Icon(Icons.replay, color: iconColor)
 | 
						|
                    : AnimatedPlayPause(
 | 
						|
                        color: iconColor,
 | 
						|
                        playing: isPlaying,
 | 
						|
                      ),
 | 
						|
                onPressed: onPressed,
 | 
						|
              ),
 | 
						|
            ),
 | 
						|
          ),
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 |