1+ import 'package:flutter/foundation.dart' ;
12import 'package:flutter/material.dart' ;
23import 'package:url_launcher/url_launcher.dart' ;
34
@@ -80,6 +81,22 @@ final shaders = [
8081 ),
8182];
8283
84+ // Custom page transition builder that provides no animation (instant transition)
85+ class _NoTransitionPageTransitionsBuilder extends PageTransitionsBuilder {
86+ const _NoTransitionPageTransitionsBuilder ();
87+
88+ @override
89+ Widget buildTransitions <T extends Object ?>(
90+ PageRoute <T > route,
91+ BuildContext context,
92+ Animation <double > animation,
93+ Animation <double > secondaryAnimation,
94+ Widget child,
95+ ) {
96+ return child;
97+ }
98+ }
99+
83100class RgbGlitchDemo extends StatefulWidget {
84101 const RgbGlitchDemo ({super .key});
85102
@@ -92,7 +109,19 @@ class _RgbGlitchDemoState extends State<RgbGlitchDemo> {
92109 Widget build (BuildContext context) {
93110 return MaterialApp (
94111 debugShowCheckedModeBanner: false ,
95- theme: ThemeData .dark (useMaterial3: true ),
112+ theme: ThemeData .dark (useMaterial3: true ).copyWith (
113+ pageTransitionsTheme: kIsWeb
114+ ? PageTransitionsTheme (
115+ builders: {
116+ TargetPlatform .android: const _NoTransitionPageTransitionsBuilder (),
117+ TargetPlatform .iOS: const _NoTransitionPageTransitionsBuilder (),
118+ TargetPlatform .linux: const _NoTransitionPageTransitionsBuilder (),
119+ TargetPlatform .macOS: const _NoTransitionPageTransitionsBuilder (),
120+ TargetPlatform .windows: const _NoTransitionPageTransitionsBuilder (),
121+ },
122+ )
123+ : null ,
124+ ),
96125 home: const HomeScreen (),
97126 );
98127 }
0 commit comments