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

class MenuItem {
  final IconData icon;
  final String title;
  final VoidCallback? onTap;

  const MenuItem({
    required this.icon,
    required this.title,
    this.onTap,
  });
}

class ProfileState extends Equatable {
  final String phoneNumber;
  final String welcomeText;
  final List<MenuItem> menuList;

  const ProfileState({
    this.phoneNumber = '',
    this.welcomeText = '',
    this.menuList = const [],
  });

  ProfileState copyWith({
    String? phoneNumber,
    String? welcomeText,
    List<MenuItem>? menuList,
  }) {
    return ProfileState(
      phoneNumber: phoneNumber ?? this.phoneNumber,
      welcomeText: welcomeText ?? this.welcomeText,
      menuList: menuList ?? this.menuList,
    );
  }

  @override
  List<Object?> get props => [phoneNumber, welcomeText, menuList];
}