Skip to content

Commit a11c6ef

Browse files
committed
refactor(candidate): enhance feature flipping integration in actualisation and contestation pages
1 parent b4a5324 commit a11c6ef

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

packages/reva-candidate/src/app/(candidate)/actualisation/page.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ const HasBeenUpdatedComponent = ({
7979

8080
export default function ActualisationPage() {
8181
const [hasBeenUpdated, setHasBeenUpdated] = useState(false);
82-
const { isFeatureActive } = useFeatureFlipping();
82+
const { isFeatureActive, status: featureFlippingStatus } =
83+
useFeatureFlipping();
8384
const router = useRouter();
8485
const candidacyActualisationFeatureIsActive = isFeatureActive(
8586
"candidacy_actualisation",
@@ -133,7 +134,10 @@ export default function ActualisationPage() {
133134

134135
useEffect(resetForm, [resetForm]);
135136

136-
if (!candidacyActualisationFeatureIsActive) {
137+
if (
138+
!candidacyActualisationFeatureIsActive &&
139+
featureFlippingStatus === "INITIALIZED"
140+
) {
137141
router.push("/");
138142
return null;
139143
}

packages/reva-candidate/src/app/(candidate)/contestation/page.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ const HasContestedComponent = () => {
7474
export default function ContestationPage() {
7575
const [hasContested, setHasContested] = useState(false);
7676
const router = useRouter();
77-
const { isFeatureActive } = useFeatureFlipping();
77+
const { isFeatureActive, status: featureFlippingStatus } =
78+
useFeatureFlipping();
7879
const candidacyActualisationFeatureIsActive = isFeatureActive(
7980
"candidacy_actualisation",
8081
);
@@ -128,7 +129,10 @@ export default function ContestationPage() {
128129

129130
useEffect(resetForm, [resetForm]);
130131

131-
if (!candidacyActualisationFeatureIsActive) {
132+
if (
133+
!candidacyActualisationFeatureIsActive &&
134+
featureFlippingStatus === "INITIALIZED"
135+
) {
132136
router.push("/");
133137
return null;
134138
}

packages/reva-candidate/src/components/feature-flipping/featureFlipping.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { graphql } from "@/graphql/generated";
2-
import { create } from "zustand";
1+
import { useKeycloakContext } from "@/components/auth/keycloak.context";
32
import { useGraphQlClient } from "@/components/graphql/graphql-client/GraphqlClient";
3+
import { graphql } from "@/graphql/generated";
44
import { GraphQLClient } from "graphql-request";
5-
import { useKeycloakContext } from "@/components/auth/keycloak.context";
65
import { useEffect } from "react";
6+
import { create } from "zustand";
77

88
const activeFeaturesQuery = graphql(`
99
query activeFeaturesForConnectedUser {
@@ -34,7 +34,8 @@ const useFeatureFlippingStore = create<{
3434
}));
3535

3636
export const useFeatureFlipping = () => {
37-
const { activeFeatures, isFeatureActive, init } = useFeatureFlippingStore();
37+
const { activeFeatures, isFeatureActive, init, status } =
38+
useFeatureFlippingStore();
3839
const { graphqlClient } = useGraphQlClient();
3940
const { authenticated } = useKeycloakContext();
4041

@@ -44,5 +45,5 @@ export const useFeatureFlipping = () => {
4445
}
4546
}, [authenticated, graphqlClient, init]);
4647

47-
return { activeFeatures, isFeatureActive };
48+
return { activeFeatures, isFeatureActive, status };
4849
};

0 commit comments

Comments
 (0)