공개페이지 완료

This commit is contained in:
2025-11-10 14:14:08 +09:00
parent 2ce0b81483
commit ac43ddb55e
67 changed files with 3220 additions and 224696 deletions
+34 -34
View File
@@ -93,8 +93,9 @@ class TeamsTab extends StatelessWidget {
value: 1,
groupValue: teamGenerationMethod,
onChanged: (value) {
if (value != null)
if (value != null) {
onChangeTeamGenerationMethod(value);
}
},
),
const Text('팀 인원수로 나누기'),
@@ -131,8 +132,9 @@ class TeamsTab extends StatelessWidget {
value: 2,
groupValue: teamGenerationMethod,
onChanged: (value) {
if (value != null)
if (value != null) {
onChangeTeamGenerationMethod(value);
}
},
),
const Text('팀 개수로 나누기'),
@@ -463,11 +465,12 @@ class TeamsTab extends StatelessWidget {
final memberCount = team.memberIds.length;
return DragTarget<Map<String, dynamic>>(
onWillAccept: (data) =>
data != null && data['participant'] is Participant,
onAccept: (data) {
final Participant p = data['participant'] as Participant;
final Team from = data['fromTeam'] as Team;
onWillAcceptWithDetails: (details) =>
details.data['participant'] is Participant,
onAcceptWithDetails: (details) {
final Participant p =
details.data['participant'] as Participant;
final Team from = details.data['fromTeam'] as Team;
if (onMoveParticipant != null) {
onMoveParticipant!(p, from, team, team.memberIds.length);
}
@@ -520,12 +523,12 @@ class TeamsTab extends StatelessWidget {
children: [
// 상단 드롭존: 리스트 맨 앞(인덱스 0)에 삽입
DragTarget<Map<String, dynamic>>(
onWillAccept: (data) =>
data != null && data['participant'] is Participant,
onAccept: (data) {
onWillAcceptWithDetails: (details) =>
details.data['participant'] is Participant,
onAcceptWithDetails: (details) {
final Participant dp =
data['participant'] as Participant;
final Team from = data['fromTeam'] as Team;
details.data['participant'] as Participant;
final Team from = details.data['fromTeam'] as Team;
if (onMoveParticipant != null) {
onMoveParticipant!(dp, from, team, 0);
}
@@ -558,13 +561,12 @@ class TeamsTab extends StatelessWidget {
// 행 자체를 드롭 타깃으로 만들어 해당 위치로 삽입(같은 팀 내 재정렬 및 타팀에서 특정 위치 삽입 지원)
return DragTarget<Map<String, dynamic>>(
onWillAccept: (data) =>
data != null &&
data['participant'] is Participant,
onAccept: (data) {
onWillAcceptWithDetails: (details) =>
details.data['participant'] is Participant,
onAcceptWithDetails: (details) {
final Participant dp =
data['participant'] as Participant;
final Team from = data['fromTeam'] as Team;
details.data['participant'] as Participant;
final Team from = details.data['fromTeam'] as Team;
if (onMoveParticipant != null) {
onMoveParticipant!(dp, from, team, memberIndex);
}
@@ -624,9 +626,7 @@ class TeamsTab extends StatelessWidget {
? Colors.pink
: Colors.blue;
return CircleAvatar(
backgroundColor: color.withValues(
alpha: 0.1,
),
backgroundColor: color.withOpacity(0.1),
child: Icon(
icon,
size: 18,
@@ -687,12 +687,12 @@ class TeamsTab extends StatelessWidget {
),
decoration: BoxDecoration(
color: Colors.deepPurple
.withValues(alpha: 0.10),
.withOpacity(0.10),
borderRadius:
BorderRadius.circular(12),
border: Border.all(
color: Colors.deepPurple
.withValues(alpha: 0.25),
.withOpacity(0.25),
),
),
child: Text(
@@ -780,7 +780,7 @@ class TeamsTab extends StatelessWidget {
: Colors.blue;
return CircleAvatar(
backgroundColor: color
.withValues(alpha: 0.1),
.withOpacity(0.1),
child: Icon(
icon,
size: 18,
@@ -1054,12 +1054,12 @@ class TeamsTab extends StatelessWidget {
}),
// 하단 드롭존: 리스트 맨 끝(인덱스 length)에 삽입
DragTarget<Map<String, dynamic>>(
onWillAccept: (data) =>
data != null && data['participant'] is Participant,
onAccept: (data) {
onWillAcceptWithDetails: (details) =>
details.data['participant'] is Participant,
onAcceptWithDetails: (details) {
final Participant dp =
data['participant'] as Participant;
final Team from = data['fromTeam'] as Team;
details.data['participant'] as Participant;
final Team from = details.data['fromTeam'] as Team;
if (onMoveParticipant != null) {
onMoveParticipant!(
dp,
@@ -1130,7 +1130,7 @@ class _UnassignedChip extends StatelessWidget {
return Chip(
avatar: CircleAvatar(
backgroundColor: color.withValues(alpha: 0.1),
backgroundColor: color.withOpacity(0.1),
child: Icon(icon, size: 16, color: color),
),
label: Row(
@@ -1158,10 +1158,10 @@ class _UnassignedChip extends StatelessWidget {
vertical: 2,
),
decoration: BoxDecoration(
color: Colors.deepPurple.withValues(alpha: 0.10),
color: Colors.deepPurple.withOpacity(0.10),
borderRadius: BorderRadius.circular(12),
border: Border.all(
color: Colors.deepPurple.withValues(alpha: 0.25),
color: Colors.deepPurple.withOpacity(0.25),
),
),
child: Text(
@@ -1182,10 +1182,10 @@ class _UnassignedChip extends StatelessWidget {
vertical: 2,
),
decoration: BoxDecoration(
color: Colors.indigo.withValues(alpha: 0.10),
color: Colors.indigo.withOpacity(0.10),
borderRadius: BorderRadius.circular(12),
border: Border.all(
color: Colors.indigo.withValues(alpha: 0.25),
color: Colors.indigo.withOpacity(0.25),
),
),
child: Text(