ccci_utility 1.1.0 copy "ccci_utility: ^1.1.0" to clipboard
ccci_utility: ^1.1.0 copied to clipboard

A collection of utility classes and templates for building Flutter applications efficiently.

CCCI Utility #

This documentation provides an overview of the CCCI Utils, including custom widgets, utility classes, and network handling.

Table of Contents #

  1. Custom Widgets

  2. Utility Classes

Custom Widgets #

CCard Widget #

The CCard widget is a customizable card widget that provides flexible styling options such as padding, margin, border radius, outline, gradient, and background color. It is designed to be used for displaying content within cards with customizable styles.

Usage:

CCard(
  child: Text('This is a card content'),
  borderRadius: BorderRadius.circular(10),
  color: Colors.white,
  hasOutline: true,
  outlineColor: Colors.grey,
);

CButton Widget #

The CButton widget is a custom button widget that supports loading state, outline style, and gradients. It extends the functionality of the ElevatedButton by providing options for loading state, outline style, and gradient background. It utilizes the CCard widget for its background and styling

Usage:

CButton(
  label: 'Submit',
  onPressed: () {
    // Handle button press
  },
  isLoading: false,
  isOutline: false,
  gradient: LinearGradient(
    colors: [Colors.blue, Colors.green],
  ),
);

CircularLoading Widget #

The CircularLoading widget is a circular loading indicator similar to CupertinoActivityIndicator. It is used for indicating loading state within the application. It encapsulates the loading indicator within a centered container for easy integration.

Usage:

CircularLoading(
  color: Colors.blue,
  strokeWidth: 3,
);

Utility Classes #

AppLogger

The AppLogger class is a utility class for logging messages in the application at different levels of severity. It provides static methods for logging debug, info, warning, error, and verbose messages. Additionally, it includes methods for logging API requests, responses, and errors.

Usage: #

AppLogger.debug('Debug message');
AppLogger.error('Error message');
AppLogger.logApiRequest(url: 'https://api.example.com', method: 'GET');

RouteHandler #

The RouteHandler class is a utility class for handling navigation operations within the application. It provides methods for pushing, popping, and replacing routes in the navigator stack. These methods facilitate seamless navigation between different screens and components within the application.

RouteHandler.push(context, HomePage());
RouteHandler.pop(context);

DioExceptions #

The DioExceptions class is a custom exception class that handles errors from Dio requests. It provides custom error messages based on different types of Dio exceptions encountered, including connection timeouts, receive timeouts, bad responses, and unknown errors.

Usage: #

try {
  // Dio request
} catch (e) {
  if (e is DioException) {
    final dioException = DioExceptions.fromDioError(e);
    print(dioException.message);
  }
}

DioClient #

The DioClient class encapsulates functionality for making HTTP requests using the Dio package. It includes methods for making GET, POST, PUT, and DELETE requests with configurable options and interceptors. This class provides a convenient and efficient way to interact with APIs and handle network requests within the application.

Dart Dependencies #

To use the DioClient, you need to have the following Dart packages in your pubspec.yaml:

dependencies:
    dio
    flutter_dotenv

Configuration Files #

Make sure you have the necessary configuration files:

  1. . env

    Usage:
    BASE_URL=<your_base_url>
    
  2. config.json

    Usage:
    {
      "development": {
        "current": true,
        "baseUrl": "https://dev.example.com"
      },
      "production": {
        "current": false,
        "baseUrl": "https://api.example.com"
      }
    }
    
0
likes
0
pub points
66%
popularity

Publisher

unverified uploader

A collection of utility classes and templates for building Flutter applications efficiently.

Homepage

License

unknown (license)

Dependencies

build_runner, dio, dotenv, flutter, flutter_dotenv, flutter_riverpod, flutter_secure_storage, flutter_svg, freezed, freezed_annotation, hooks_riverpod, json_annotation, json_serializable, logger, riverpod, riverpod_annotation, skeletonizer

More

Packages that depend on ccci_utility