{team.team ? (
@@ -139,26 +179,102 @@ function TeamRoster({
) : null}
{team.members.length > 0 ? (
) : null}
+ {isEditing ? (
+
+
+ {selectedMemberIds.length}/{minMembersPerTeam}
+
+
+
+ {t("common:actions.submit")}
+
+
+ {t("common:actions.cancel")}
+
+
+
+ ) : null}
+ {showEditButton ? (
+
}
+ className="mt-4 mx-auto"
+ size="small"
+ onPress={() => {
+ setSelectedMemberIds(activeMembers.map((m) => m.id));
+ setIsEditing(true);
+ }}
+ >
+ {t("common:actions.edit")}
+
+ ) : null}
);
+
+ function handleToggleMember(memberId: number) {
+ setSelectedMemberIds((prev) =>
+ prev.includes(memberId)
+ ? prev.filter((id) => id !== memberId)
+ : [...prev, memberId],
+ );
+ }
+
+ function handleSubmit() {
+ if (!team.team || !onSubbedOutChange) return;
+
+ const subbedOutIds = team.members
+ .filter((m) => !selectedMemberIds.includes(m.id))
+ .map((m) => m.id);
+ onSubbedOutChange(team.team.id, subbedOutIds);
+ setIsEditing(false);
+ }
+
+ function handleCancel() {
+ setSelectedMemberIds(activeMembers.map((m) => m.id));
+ setIsEditing(false);
+ }
}
function SubbedOutPopover({ members }: { members: Array