import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import '../models/memo.dart';
class MemoDetailModal extends HookWidget {
const MemoDetailModal({super.key, required this.memo});
final Memo memo;
static Future<void> show(BuildContext context, Memo memo) async {
await showModalBottomSheet(
context: context,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
),
builder: (_) => MemoDetailModal(memo: memo),
);
}
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Padding(
padding: EdgeInsets.fromLTRB(16, 16, 16, MediaQuery.of(context).padding.bottom + 16),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'メモの内容',
style: theme.textTheme.titleLarge,
),
const SizedBox(height: 10),
Text(
memo.content,
style: theme.textTheme.bodyLarge,
),
const SizedBox(height: 20),
Align(
alignment: Alignment.centerRight,
child: TextButton(
onPressed: () => Navigator.pop(context),
child: Text(
'閉じる',
style: TextStyle(color: theme.colorScheme.primary),
),
),
),
],
),
);
}
}