getPresentationWidgetsNoInternetWidgetTemplate function

String getPresentationWidgetsNoInternetWidgetTemplate(
  1. String projectName
)

Implementation

String getPresentationWidgetsNoInternetWidgetTemplate(String projectName) {
  return '''
import 'package:flutter/material.dart';
import 'package:${projectName}/core/utils/responsive_size.dart';
import '../../core/constants/app_strings.dart';
import '../../core/theme/app_colors.dart';
import 'text_widget.dart';

class NoInternetWidget extends StatelessWidget {
  final VoidCallback? onRetry;

  const NoInternetWidget({super.key, this.onRetry});

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Padding(
        padding: EdgeInsets.symmetric(horizontal: 30.sp),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            /// Image
            Icon(Icons.wifi_off, size: 100.sp),

            SizedBox(height: 20.sp),

            /// Title
            TextWidget(
              text: AppStrings.noInternet,
              textSize: 20.sp,
              fontWeight: FontWeight.w600,
            ),

            SizedBox(height: 8.sp),

            /// Description
            TextWidget(
              text:
                  "Please check your internet connection and try again later.",
              textSize: 14.sp,
              textAlign: TextAlign.center,
              color: Colors.grey.shade600,
            ),

            SizedBox(height: 25.sp),

            /// Retry Button
            if (onRetry != null)
              GestureDetector(
                onTap: onRetry,
                child: Container(
                  padding: EdgeInsets.symmetric(
                    horizontal: 30.sp,
                    vertical: 12.sp,
                  ),
                  decoration: BoxDecoration(
                    color: AppColors.primary,
                    borderRadius: BorderRadius.circular(30.sp),
                  ),
                  child: TextWidget(
                    text: "Retry",
                    color: Colors.white,
                    textSize: 15.sp,
                    fontWeight: FontWeight.w500,
                  ),
                ),
              ),
          ],
        ),
      ),
    );
  }
}
''';
}