add_friend_prompt_dialog.dart 1.49 KB
import 'package:doublefeel_flutter/app/models/dialog_meta_data.dart';
import 'package:doublefeel_flutter/app/widget/common_dialog_view.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import '../models/add_friend_prompt_type.dart';

class AddFriendPromptDialog extends StatelessWidget {
  const AddFriendPromptDialog({super.key, required this.type});

  final AddFriendPromptType type;

  static DialogMetaData metaDataFor(AddFriendPromptType type) {
    return DialogMetaData(
      iconAsset: null,
      title: _titleFor(type),
      message: _messageFor(type),
      confirmText: '我知道了',
    );
  }

  static String _titleFor(AddFriendPromptType type) {
    switch (type) {
      case AddFriendPromptType.idNotFound:
        return '该ID不存在';
      case AddFriendPromptType.alreadyFriend:
        return '已经是亲密联系人';
      case AddFriendPromptType.selfId:
        return '不能添加自己';
    }
  }

  static String _messageFor(AddFriendPromptType type) {
    switch (type) {
      case AddFriendPromptType.idNotFound:
        return '这个ID不存在哦,请检查后重新输入';
      case AddFriendPromptType.alreadyFriend:
        return '你们已经是亲密联系人啦';
      case AddFriendPromptType.selfId:
        return '请输入亲密联系人的ID';
    }
  }

  @override
  Widget build(BuildContext context) {
    return CommonDialogView(
      dialogMetaData: metaDataFor(type),
      onAction: (_) => Get.back<void>(),
    );
  }
}