mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-24 01:18:01 +02:00
fix: update stickiness between tabs (#5991)
Fixes a bug where stickiness update to the main strategy would not propagate to strategy variants
This commit is contained in:
parent
8458619d82
commit
5305c868e5
@ -353,6 +353,25 @@ export const NewFeatureStrategyForm = ({
|
|||||||
|
|
||||||
const showVariants =
|
const showVariants =
|
||||||
strategy.parameters && 'stickiness' in strategy.parameters;
|
strategy.parameters && 'stickiness' in strategy.parameters;
|
||||||
|
|
||||||
|
const stickiness =
|
||||||
|
strategy?.parameters && 'stickiness' in strategy?.parameters
|
||||||
|
? String(strategy.parameters.stickiness)
|
||||||
|
: 'default';
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setStrategy((prev) => ({
|
||||||
|
...prev,
|
||||||
|
variants: (strategy.variants || []).map((variant) => ({
|
||||||
|
stickiness,
|
||||||
|
name: variant.name,
|
||||||
|
weight: variant.weight,
|
||||||
|
payload: variant.payload,
|
||||||
|
weightType: variant.weightType,
|
||||||
|
})),
|
||||||
|
}));
|
||||||
|
}, [stickiness, JSON.stringify(strategy.variants)]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<StyledHeaderBox>
|
<StyledHeaderBox>
|
||||||
|
@ -42,7 +42,15 @@ export const NewStrategyVariants: FC<{
|
|||||||
editable?: boolean;
|
editable?: boolean;
|
||||||
}> = ({ strategy, setStrategy, projectId, environment, editable }) => {
|
}> = ({ strategy, setStrategy, projectId, environment, editable }) => {
|
||||||
const { trackEvent } = usePlausibleTracker();
|
const { trackEvent } = usePlausibleTracker();
|
||||||
const [variantsEdit, setVariantsEdit] = useState<IFeatureVariantEdit[]>([]);
|
const initialVariants = (strategy.variants || []).map((variant) => ({
|
||||||
|
...variant,
|
||||||
|
new: editable || false,
|
||||||
|
isValid: true,
|
||||||
|
id: uuidv4(),
|
||||||
|
overrides: [],
|
||||||
|
}));
|
||||||
|
const [variantsEdit, setVariantsEdit] =
|
||||||
|
useState<IFeatureVariantEdit[]>(initialVariants);
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
|
|
||||||
const stickiness =
|
const stickiness =
|
||||||
@ -61,18 +69,6 @@ export const NewStrategyVariants: FC<{
|
|||||||
};
|
};
|
||||||
}, [JSON.stringify(variantsEdit)]);
|
}, [JSON.stringify(variantsEdit)]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setVariantsEdit(
|
|
||||||
(strategy.variants || []).map((variant) => ({
|
|
||||||
...variant,
|
|
||||||
new: editable || false,
|
|
||||||
isValid: true,
|
|
||||||
id: uuidv4(),
|
|
||||||
overrides: [],
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setStrategy((prev) => ({
|
setStrategy((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
|
Loading…
Reference in New Issue
Block a user