import 'package:flutter/material.dart';
import 'package:prime_chat/basic/Entities.dart';
import 'package:prime_chat/screens/AddFriendScreen.dart';
import 'package:prime_chat/screens/components/Avatar.dart';
import 'package:prime_chat/screens/components/UserProfileCard.dart';

import '../basic/Method.dart';
import 'ChatScreen.dart';

class ProfileScreen extends StatelessWidget {
  const ProfileScreen({Key? key, required this.profile, required this.isFriend})
      : super(key: key);

  final bool isFriend;
  final Profile profile;

  @override
  Widget build(BuildContext context) {
    List<Widget> children = [
      UserProfileCard(load: () async => profile),
      const Divider(),
    ];

    if (isFriend) {
      children
          .add(_buildItem(context, Icons.messenger_outline, "发消息", onTap: () {
        Navigator.push(context,
            MaterialPageRoute(builder: (context) => ChatScreen(profile, method.directRoomId(profile.id))));
      }));
    } else {
      children.add(_buildItem(context, Icons.person_add_alt_outlined, "加好友", onTap: () {
        Navigator.push(context,
            MaterialPageRoute(builder: (context) => AddFriendScreen(profile)));
      }));
    }

    return Scaffold(
      appBar: AppBar(),
      body: Column(children: children),
    );
  }

  Widget _buildItem(BuildContext context, IconData icon, String title,
      {void Function()? onTap}) {
    return InkWell(
      onTap: onTap,
      child: Center(
          child: Row(
              mainAxisSize: MainAxisSize.min,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
            Icon(
              icon,
            ),
            const SizedBox(
              width: 10,
              height: 50,
            ),
            Text(
              title,
              style: const TextStyle(fontSize: 18, fontWeight: FontWeight.w300),
            ),
          ])),
    );
  }
}
