This commit is contained in:
		
							
								
								
									
										65
									
								
								lib/utils/animatedtransition.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								lib/utils/animatedtransition.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
import 'package:f0ckapp/controller/media_controller.dart';
 | 
			
		||||
 | 
			
		||||
enum PageTransition { opacity, scale, slide, rotate, flip }
 | 
			
		||||
 | 
			
		||||
Widget buildAnimatedTransition({
 | 
			
		||||
    required BuildContext context,
 | 
			
		||||
    required Widget child,
 | 
			
		||||
    required PageController pageController,
 | 
			
		||||
    required int index,
 | 
			
		||||
    required MediaController controller,
 | 
			
		||||
  }) {
 | 
			
		||||
    final double value = pageController.position.haveDimensions
 | 
			
		||||
        ? pageController.page! - index
 | 
			
		||||
        : 0;
 | 
			
		||||
 | 
			
		||||
    switch (controller.transitionType.value) {
 | 
			
		||||
      case PageTransition.opacity:
 | 
			
		||||
        return Opacity(
 | 
			
		||||
          opacity: Curves.easeOut.transform(1 - value.abs().clamp(0.0, 500.0)),
 | 
			
		||||
          child: Transform(transform: Matrix4.identity(), child: child),
 | 
			
		||||
        );
 | 
			
		||||
      case PageTransition.scale:
 | 
			
		||||
        return Transform.scale(
 | 
			
		||||
          scale:
 | 
			
		||||
              0.8 +
 | 
			
		||||
              Curves.easeOut.transform(1 - value.abs().clamp(0.0, 1.0)) * 0.2,
 | 
			
		||||
          child: child,
 | 
			
		||||
        );
 | 
			
		||||
      case PageTransition.slide:
 | 
			
		||||
        return Transform.translate(
 | 
			
		||||
          offset: Offset(300 * value.abs(), 0),
 | 
			
		||||
          child: child,
 | 
			
		||||
        );
 | 
			
		||||
      case PageTransition.rotate:
 | 
			
		||||
        return Opacity(
 | 
			
		||||
          opacity: (1 - value.abs()).clamp(0.0, 1.0),
 | 
			
		||||
          child: Transform.rotate(angle: value.abs() * 0.5, child: child),
 | 
			
		||||
        );
 | 
			
		||||
      case PageTransition.flip:
 | 
			
		||||
        return Transform(
 | 
			
		||||
          transform: Matrix4.identity()
 | 
			
		||||
            ..setEntry(3, 2, 0.001)
 | 
			
		||||
            ..rotateY(value.abs()),
 | 
			
		||||
          alignment: Alignment.center,
 | 
			
		||||
          child: child,
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
    /*int blah = 1;
 | 
			
		||||
 | 
			
		||||
    if (blah == 0) {
 | 
			
		||||
      return Opacity(
 | 
			
		||||
        opacity: Curves.easeOut.transform(1 - value.abs().clamp(0.0, 500.0)),
 | 
			
		||||
        child: Transform(transform: Matrix4.identity(), child: child),
 | 
			
		||||
      );
 | 
			
		||||
    } else {
 | 
			
		||||
      return Transform.scale(
 | 
			
		||||
        scale:
 | 
			
		||||
            0.8 +
 | 
			
		||||
            Curves.easeOut.transform(1 - value.abs().clamp(0.0, 1.0)) * 0.2,
 | 
			
		||||
        child: child,
 | 
			
		||||
      );
 | 
			
		||||
    }*/
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										12
									
								
								lib/utils/appversion.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								lib/utils/appversion.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
import 'package:flutter/services.dart';
 | 
			
		||||
 | 
			
		||||
class AppVersion {
 | 
			
		||||
  static late String version;
 | 
			
		||||
 | 
			
		||||
  static Future<void> init() async {
 | 
			
		||||
    final String yaml = await rootBundle.loadString('pubspec.yaml');
 | 
			
		||||
    final RegExpMatch? match = RegExp(r'^version:\s*(.*)$', multiLine: true).firstMatch(yaml);
 | 
			
		||||
    final String? v = match?.group(1)!.replaceAll('"', '').replaceAll("'", '').trim();
 | 
			
		||||
    version = v ?? "";
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
import 'package:package_info_plus/package_info_plus.dart';
 | 
			
		||||
 | 
			
		||||
class AppVersion {
 | 
			
		||||
  static String version = "";
 | 
			
		||||
 | 
			
		||||
  static Future<void> init() async {
 | 
			
		||||
    PackageInfo packageInfo = await PackageInfo.fromPlatform();
 | 
			
		||||
    version = '${packageInfo.version}+${packageInfo.buildNumber}';
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,16 +1,16 @@
 | 
			
		||||
import 'dart:async';
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:f0ckapp/controller/media_controller.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
import 'package:get/get.dart';
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
 | 
			
		||||
import 'package:f0ckapp/services/api_service.dart';
 | 
			
		||||
import 'package:f0ckapp/models/suggestion_model.dart';
 | 
			
		||||
 | 
			
		||||
class CustomSearchDelegate extends SearchDelegate<String> {
 | 
			
		||||
  final ApiService apiService = Get.find<ApiService>();
 | 
			
		||||
  final MediaController controller = Get.find<MediaController>();
 | 
			
		||||
  Timer? _debounceTimer;
 | 
			
		||||
  List<Suggestion>? _suggestions;
 | 
			
		||||
  bool _isLoading = false;
 | 
			
		||||
@@ -145,7 +145,7 @@ class CustomSearchDelegate extends SearchDelegate<String> {
 | 
			
		||||
                style: TextStyle(fontSize: 12),
 | 
			
		||||
              ),
 | 
			
		||||
              onTap: () async {
 | 
			
		||||
                await apiService.setTag(suggestion.tag);
 | 
			
		||||
                await controller.setTag(suggestion.tag);
 | 
			
		||||
                close(context, suggestion.tag);
 | 
			
		||||
              },
 | 
			
		||||
            );
 | 
			
		||||
		Reference in New Issue
	
	Block a user