feat : error when mulitple apply not supporting
This commit is contained in:
@@ -19,6 +19,7 @@ import {
|
||||
XIcon,
|
||||
} from "lucide-react";
|
||||
import { useEffect, useMemo, useState, type ReactNode } from "react";
|
||||
import { toast } from "sonner";
|
||||
import {
|
||||
closestCenter,
|
||||
DndContext,
|
||||
@@ -128,6 +129,7 @@ import { rarityGradientClass } from "@/lib/catalog/rarity";
|
||||
import {
|
||||
applyPresetFields,
|
||||
applyTeamFields,
|
||||
findUnsupportedTeamWeapon,
|
||||
limitPresets,
|
||||
parseTeamPresets,
|
||||
teamPresetCookieKey,
|
||||
@@ -2240,7 +2242,25 @@ function TeamEditor({
|
||||
};
|
||||
const applyChanges = () => {
|
||||
if (!sourceTeamId || !selectedTeamIds.size || !applyFields.length) return;
|
||||
setTeams((current) => applyTeamFields(current, sourceTeamId, selectedTeamIds, applyFields));
|
||||
const nextTeams = applyTeamFields(
|
||||
teams,
|
||||
sourceTeamId,
|
||||
selectedTeamIds,
|
||||
applyFields,
|
||||
);
|
||||
const unsupported = findUnsupportedTeamWeapon(
|
||||
nextTeams,
|
||||
selectedTeamIds,
|
||||
characters,
|
||||
weapons,
|
||||
);
|
||||
if (unsupported) {
|
||||
toast.error(
|
||||
`${unsupported.characterName} ไม่รองรับอาวุธ ${unsupported.weaponName}`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
setTeams(nextTeams);
|
||||
setSelectedTeamIds(new Set());
|
||||
setApplyOpen(false);
|
||||
};
|
||||
@@ -2265,7 +2285,25 @@ function TeamEditor({
|
||||
};
|
||||
const applyPreset = (preset: TeamPreset) => {
|
||||
if (!selectedTeamIds.size || !applyFields.length) return;
|
||||
setTeams((current) => applyPresetFields(current, preset, selectedTeamIds, applyFields));
|
||||
const nextTeams = applyPresetFields(
|
||||
teams,
|
||||
preset,
|
||||
selectedTeamIds,
|
||||
applyFields,
|
||||
);
|
||||
const unsupported = findUnsupportedTeamWeapon(
|
||||
nextTeams,
|
||||
selectedTeamIds,
|
||||
characters,
|
||||
weapons,
|
||||
);
|
||||
if (unsupported) {
|
||||
toast.error(
|
||||
`${unsupported.characterName} ไม่รองรับอาวุธ ${unsupported.weaponName}`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
setTeams(nextTeams);
|
||||
setSelectedTeamIds(new Set());
|
||||
};
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user