import 'package:flutter/material.dart';
import 'package:hoshan/core/gen/assets.gen.dart';
import 'package:hoshan/data/model/empty_states_enum.dart';
import 'package:hoshan/ui/widgets/sections/empty/empty_screen.dart';

class EmptyStates {
  static Widget getEmptyState(
      {required final EmptyStatesEnum status,
      final double? width,
      final double? height,
      final double scale = 1,
      final TextStyle? style,
      final String? title}) {
    EmptyStateModel data;
    switch (status) {
      case EmptyStatesEnum.inbox:
        data = EmptyStateModel(
            image: Assets.image.empty.inbox,
            title: title ?? 'صندوق پیام خالی است');
        break;
      case EmptyStatesEnum.amount:
        data = EmptyStateModel(
            image: Assets.image.empty.amount,
            title: title ?? 'موجودی حساب کافی نیست');
        break;
      case EmptyStatesEnum.server:
        data = EmptyStateModel(
            image: Assets.image.empty.server, title: title ?? 'سرور مشغول است');
        break;
      case EmptyStatesEnum.connection:
        data = EmptyStateModel(
            image: Assets.image.empty.connection,
            title: title ?? 'اینترنت قطع است');
        break;
      case EmptyStatesEnum.archive:
        data = EmptyStateModel(
            image: Assets.image.empty.messages,
            title: title ?? 'لیست آرشیو شده‌ها خالی است');
        break;
      case EmptyStatesEnum.messages:
        data = EmptyStateModel(
            image: Assets.image.empty.messages,
            title: title ?? 'لیست پیام‌ها خالی است');
        break;
      case EmptyStatesEnum.assistant:
        data = EmptyStateModel(
            image: Assets.image.empty.assistant,
            title: title ?? 'لیست دستیارها خالی است');
        break;
      case EmptyStatesEnum.familyMembers:
        data = EmptyStateModel(
            image:
                const AssetGenImage('assets/image/empty/empty state 1 1.png'),
            title: title ?? 'هنوز عضوی به خانواده دعوت نشده است');
        break;
    }

    return EmptyScreen(
      width: width,
      height: height,
      image: data.image,
      title: data.title,
      scale: scale,
      style: style,
    );
  }
}
