1
0
mirror of https://github.com/nisrulz/flutter-examples.git synced 2026-09-03 05:31:21 +00:00

refactor: standardize Dart and Android config across all 54 apps

- Bump all apps to sdk >=3.0.0 <4.0.0 and add flutter_lints + a shared
  analysis_options.yaml to every app (flutter analyze is now green repo-wide)
- Fix real compile errors in firebase_google_authentication and image_editor,
  plus deprecated APIs (Matrix4, SvgPicture.color, textScaleFactor),
  missing async 'mounted' guards, and misc lints via dart fix + manual fixes
- Align pubspec 'name' with each folder and Android namespace/applicationId
  with the documented github.nisrulz.* convention
- Convert bmi_calculator from a legacy Flutter module to a standard app
  with a proper android/ scaffold; fix missing android:exported in launcher
  manifests across 22 apps so all Android builds pass
- Untrack generated build files (GeneratedPluginRegistrant,
  .flutter-plugins-dependencies) and ignore them
This commit is contained in:
Nishant Srivastava
2026-08-17 17:26:39 +02:00
parent c8d2d4fffc
commit 5c53498119
297 changed files with 2037 additions and 930 deletions

View File

@@ -1,13 +1,14 @@
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({Key? key}) : super(key: key);
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateMixin {
class _HomeScreenState extends State<HomeScreen>
with SingleTickerProviderStateMixin {
late final AnimationController _controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 350),
@@ -18,11 +19,14 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
int _counter = 0;
bool _canDragged = false;
void _openCloseDrawer() => _controller.isDismissed ? _controller.forward() : _controller.reverse();
void _openCloseDrawer() =>
_controller.isDismissed ? _controller.forward() : _controller.reverse();
void _onDragStart(DragStartDetails details) {
bool isDragLeft = _controller.isDismissed && details.globalPosition.dx < dragStartPosition;
bool isDragRight = _controller.isCompleted && details.globalPosition.dx > dragStartPosition;
bool isDragLeft = _controller.isDismissed &&
details.globalPosition.dx < dragStartPosition;
bool isDragRight = _controller.isCompleted &&
details.globalPosition.dx > dragStartPosition;
_canDragged = isDragLeft || isDragRight;
}
@@ -38,7 +42,8 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
return;
}
if (details.velocity.pixelsPerSecond.dx.abs() >= 365) {
var visualVelocity = details.velocity.pixelsPerSecond.dx / MediaQuery.of(context).size.width;
var visualVelocity = details.velocity.pixelsPerSecond.dx /
MediaQuery.of(context).size.width;
_controller.fling(velocity: visualVelocity);
} else if (_controller.value < 0.5) {
_controller.reverse();
@@ -66,9 +71,9 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
_homeDrawer(context),
Transform(
transform: Matrix4.identity()
..translate(slide)
..translateByDouble(slide, 0, 0, 1)
..rotateZ(rotate)
..scale(scale),
..scaleByDouble(scale, scale, scale, 1),
alignment: Alignment.centerLeft,
child: _homeView(context),
)