🐛 fix(subscribe): Update default selection logic in subscription form to ensure proper state management

This commit is contained in:
web@ppanel 2025-04-01 12:37:17 +07:00
parent 328838d754
commit ef153747bd

View File

@ -244,16 +244,23 @@ export default function SubscribeAppForm<
onChange={(value) => {
const filteredValue = value.filter((item) => item.url);
const defaultIndex = filteredValue.findIndex(
(item) => item.is_default,
const newDefaultIndex = value.findIndex(
(item, idx) =>
item.is_default &&
(!field.value?.[idx] || !field.value[idx].is_default),
);
let finalValue = filteredValue;
if (defaultIndex >= 0) {
if (newDefaultIndex >= 0 && filteredValue[newDefaultIndex]) {
finalValue = filteredValue.map((item, index) => ({
...item,
is_default: index === defaultIndex,
is_default: index === newDefaultIndex,
}));
} else if (filteredValue.length > 0) {
} else if (
!filteredValue.some((item) => item.is_default) &&
filteredValue.length > 0
) {
finalValue = filteredValue.map((item, index) => ({
...item,
is_default: index === 0,