net_aware 0.0.3 copy "net_aware: ^0.0.3" to clipboard
net_aware: ^0.0.3 copied to clipboard

A wrapper widget to detect no internet and block ui with an overlay.

net_aware #

net_aware is a Flutter plugin that allows you to easily integrate no internet handling into your Flutter application. This plugin is designed to be initialized in the main.dart file or any other entry point of your app, ensuring it wraps the MaterialApp widget for proper functionality.

Features #

  • Customizable No Internet Widget: Display a widget when the device is offline.
  • Auto Reconnection Handling: Automatically checks for internet availability and updates the UI.
  • Lightweight and Easy to Use: Plug-and-play solution for Flutter developers.

Installation #

Add the following line to your pubspec.yaml file under dependencies:

dependencies:
  net_aware: 0.0.1

Usage #

Basic Usage:
Wrap your main widget or specific screens with NoInternetWidget:

import 'package:net_aware/net_aware.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return NetAware(
      child: MaterialApp(
        home: MyHomePage(),
      ),
    );
  }
}

You can also use a custom offline widget you want to show:

import 'package:flutter/material.dart';
import 'package:net_aware/net_aware.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return NetAware(
      checkInterval: Duration(seconds: 5),
      imageAsset: 'assets/custom_no_internet.png',
      bgColor: Colors.grey[200],
      appBar: AppBar(
        title: Text("Offline Mode"),
      ),
      customWidget: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Icon(Icons.wifi_off, size: 80, color: Colors.red),
            SizedBox(height: 16),
            Text(
              "You are offline",
              style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
            ),
          ],
        ),
      ),
      child: MaterialApp(
        home: Scaffold(
          appBar: AppBar(title: Text('Home')),
          body: Center(child: Text('Welcome online!')),
        ),
      ),
    );
  }
}

Additional Details #

Parameters that can be used:

Parameter Type Default Value Description
child Widget required The main widget to display when connected to the internet.
checkInterval Duration Duration(seconds: 3) The interval for checking internet connectivity.
imageAsset String? assets/no_internet.jpg Path to a custom offline image asset.
bgColor Color? Colors.white Background color for the offline screen.
appBar AppBar? null A custom AppBar for the offline screen.
offlineWidget Widget? null A fully custom widget for the offline state. Overrides all other parameters.

Default screen when device will be offline:
Screenshot

Developed by:
Pranav Patel
Personal email - pranav.patel2001@gmail.com
Work email - pranavp@fermion.in
LinkedIn - https://www.linkedin.com/in/pranav-patel-7b06a4188
Publisher's LinkedIn - https://www.linkedin.com/company/fermioninfotech?trk=profile-position

8
likes
150
points
36
downloads

Publisher

verified publisherfermioninfotech.com

Weekly Downloads

A wrapper widget to detect no internet and block ui with an overlay.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on net_aware