

내 댓글인 경우 → 수정, 삭제가 보이게
내 댓글이 아닌 경우 → 신고할 수 있게
분기를 아직 못나눠서 이렇게 여러개가 나열 되었다.
일단 신고 탭의 코드는 다음과 같다.
운영자가 정해놓은 신고 사유들을 List 에 저장해 놓고
RadioListTile
을 사용하여 하나만 선택할 수 있도록 하였다.
사유가 onChange 될때 선택된 사유의 상태를 바꿈으로써 마지막에 선택된 사유를 저장한다. class ReportDialog extends StatefulWidget {
@override
_ReportDialogState createState() => _ReportDialogState();
}
class _ReportDialogState extends State<ReportDialog> {
String? _selectedReason;
final List<String> _reasons = [
'욕설',
'스팸',
'부적절한 콘텐츠',
'혐오 발언',
'위협',
'기타',
];
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text('댓글 신고'),
content: Column(
mainAxisSize: MainAxisSize.min,
children: _reasons.map((reason) {
return RadioListTile<String>(
title: Text(reason),
value: reason,
groupValue: _selectedReason,
onChanged: (value) {
setState(() {
_selectedReason = value;
});
},
);
}).toList(),
),
actions: [
TextButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('취소'),
),
TextButton(
onPressed: () {
if (_selectedReason != null) {
print('신고 사유: $_selectedReason');
// 여기서 신고 처리를 수행자리.
}
Navigator.pop(context);
},
child: Text('신고'),
),
],
);
}
}
이 신고 탭을 호출하는 부분이다.
void _showReportDialog(BuildContext context) {
showDialog(
context: context,
builder: (BuildContext context) {
return ReportDialog();
},
);
}
따라서
JWT
받아와서 분기 구분이 가능해 지면
_reviewActions
내부에서 분기를 나누면 되겠다.
리뷰 버튼 부분인데 나중에 JWT 체크해서 주석있는 if 부분에 추가하여 분기를 나누어야 한다!
그렇게 하면 올바른 버튼이 나타나겠지.
Share article