flutter_project_kit 0.0.1 copy "flutter_project_kit: ^0.0.1" to clipboard
flutter_project_kit: ^0.0.1 copied to clipboard

'Package Description Overview The App Essentials Package is a comprehensive solution designed to streamline and enhance your Flutter application development process. This package handles critical aspe [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_project_kit/provider/app_theme_provider.dart';
import 'package:flutter_project_kit/theme/app_theme.dart';
import 'package:flutter_project_kit/theme/project_kit.dart';
import 'package:provider/provider.dart';
import 'package:flutter_project_kit/theme/core_theme.dart' as theme;

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [ChangeNotifierProvider(create: (_) => AppThemeProvider())],
      child: Consumer<AppThemeProvider>(
        builder: (context, value, _) => HomePage(
          provider: value,
        ),
      ),
    );
  }
}

class HomePage extends StatefulWidget {
  final AppThemeProvider? provider;

  const HomePage({super.key, this.provider});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  bool lightTheme = true;

  void initAppTheme() {
    ProjectKit.initialize(context);
  }

  @override
  void didChangeDependencies() {
    initAppTheme();
    super.didChangeDependencies();
  }

  @override
  Widget build(BuildContext context) {
    final appProvider = Provider.of<AppThemeProvider>(context, listen: false);
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Muhammad Rauf',
      theme: theme.themeLight,
      darkTheme: theme.themeDark,
      themeMode: widget.provider!.themeMode,
      home: Scaffold(
        body: Container(
          color: AppTheme.cT.scaffold,
          child: Center(
            child: Text("New Text for testing",
                style: TextStyle(color: AppTheme.cT.accent)),
          ),
        ),
        floatingActionButton: ElevatedButton(
          onPressed: () {
            lightTheme = !lightTheme;
            appProvider.setTheme(
                lightTheme ? ThemeMode.light : ThemeMode.dark, context);
          },
          child: const Text("ChangeTheme"),
        ),
      ),
    );
  }
}
3
likes
0
points
41
downloads

Publisher

unverified uploader

Weekly Downloads

'Package Description Overview The App Essentials Package is a comprehensive solution designed to streamline and enhance your Flutter application development process. This package handles critical aspects such as app theming, routing, and responsiveness, ensuring a consistent and efficient development experience'

Homepage

License

unknown (license)

Dependencies

flutter, provider, shared_preferences

More

Packages that depend on flutter_project_kit