チームまでは表示できた。表示と更新及びメンバー編集不可。エントリー以降も表示不可。
This commit is contained in:
55
lib/pages/team/member_detail_page.dart
Normal file
55
lib/pages/team/member_detail_page.dart
Normal file
@ -0,0 +1,55 @@
|
||||
// lib/pages/team/member_detail_page.dart
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:rogapp/pages/team/member_controller.dart';
|
||||
|
||||
class MemberDetailPage extends GetView<MemberController> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final mode = Get.arguments['mode'];
|
||||
final member = Get.arguments['member'];
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(mode == 'new' ? 'メンバー追加' : 'メンバー詳細'),
|
||||
),
|
||||
body: Padding(
|
||||
padding: EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
if (mode == 'edit' && member.email != null)
|
||||
Text('Email: ${member.email}'),
|
||||
if (mode == 'new' || (mode == 'edit' && member.email == null))
|
||||
TextField(
|
||||
decoration: InputDecoration(labelText: 'Email'),
|
||||
onChanged: (value) => controller.updateEmail(value),
|
||||
),
|
||||
TextField(
|
||||
decoration: InputDecoration(labelText: '姓'),
|
||||
onChanged: (value) => controller.updateLastname(value),
|
||||
),
|
||||
TextField(
|
||||
decoration: InputDecoration(labelText: '名'),
|
||||
onChanged: (value) => controller.updateFirstname(value),
|
||||
),
|
||||
// 誕生日選択ウィジェットを追加
|
||||
if (mode == 'edit')
|
||||
Text('ステータス: ${controller.getMemberStatus()}'),
|
||||
if (mode == 'edit' && controller.getMemberStatus() == '招待中')
|
||||
ElevatedButton(
|
||||
child: Text('招待メールを再送信'),
|
||||
onPressed: () => controller.resendInvitation(),
|
||||
),
|
||||
if (mode == 'edit')
|
||||
ElevatedButton(
|
||||
child: Text('メンバーから除外'),
|
||||
onPressed: () => controller.deleteMember(),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user