mirror of
https://github.com/perfect-panel/ppanel-web.git
synced 2026-02-14 04:11:11 -05:00
🐛 fix(subscribe): Update default selection logic in subscription form to ensure proper state management
This commit is contained in:
parent
328838d754
commit
ef153747bd
@ -244,16 +244,23 @@ export default function SubscribeAppForm<
|
|||||||
onChange={(value) => {
|
onChange={(value) => {
|
||||||
const filteredValue = value.filter((item) => item.url);
|
const filteredValue = value.filter((item) => item.url);
|
||||||
|
|
||||||
const defaultIndex = filteredValue.findIndex(
|
const newDefaultIndex = value.findIndex(
|
||||||
(item) => item.is_default,
|
(item, idx) =>
|
||||||
|
item.is_default &&
|
||||||
|
(!field.value?.[idx] || !field.value[idx].is_default),
|
||||||
);
|
);
|
||||||
|
|
||||||
let finalValue = filteredValue;
|
let finalValue = filteredValue;
|
||||||
if (defaultIndex >= 0) {
|
|
||||||
|
if (newDefaultIndex >= 0 && filteredValue[newDefaultIndex]) {
|
||||||
finalValue = filteredValue.map((item, index) => ({
|
finalValue = filteredValue.map((item, index) => ({
|
||||||
...item,
|
...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) => ({
|
finalValue = filteredValue.map((item, index) => ({
|
||||||
...item,
|
...item,
|
||||||
is_default: index === 0,
|
is_default: index === 0,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user