diff --git a/.changeset/four-buttons-do.md b/.changeset/four-buttons-do.md new file mode 100644 index 000000000..c1d77ef96 --- /dev/null +++ b/.changeset/four-buttons-do.md @@ -0,0 +1,5 @@ +--- +"@nmi-agro/fdm-app": patch +--- + +Add feature flag to manage access to RVO import of fields diff --git a/fdm-app/app/routes/farm.$b_id_farm.$calendar.rvo.tsx b/fdm-app/app/routes/farm.$b_id_farm.$calendar.rvo.tsx index 52c88751b..4221e2930 100644 --- a/fdm-app/app/routes/farm.$b_id_farm.$calendar.rvo.tsx +++ b/fdm-app/app/routes/farm.$b_id_farm.$calendar.rvo.tsx @@ -42,7 +42,8 @@ import { DialogTrigger, DialogClose, } from "~/components/ui/dialog" -import { AlertTriangle, Loader2 } from "lucide-react" +import { AlertTriangle, CloudDownload, Loader2 } from "lucide-react" +import { useFeatureFlagEnabled } from "posthog-js/react" import { useEffect, useState } from "react" import { FarmContent } from "~/components/blocks/farm/farm-content" import { FarmTitle } from "~/components/blocks/farm/farm-title" @@ -228,6 +229,8 @@ export default function RvoImportReviewPage() { const navigation = useNavigation() const location = useLocation() + const isRvoEnabled = useFeatureFlagEnabled("rvo") + const isImporting = navigation.state === "submitting" && navigation.formData?.get("intent") === "start_import" @@ -299,6 +302,39 @@ export default function RvoImportReviewPage() { ) const hasChanges = Object.values(changes).some((count) => count > 0) + if (isRvoEnabled === false) { + return ( + +
+ +
+ +
+
+ +

+ Percelen ophalen bij RVO is nog niet beschikbaar + voor je. +

+

+ Deze functionaliteit is momenteel in ontwikkeling + en is nog niet voor iedereen beschikbaar. Neem + contact op met Ondersteuning als je hier vragen + over hebt. +

+
+
+
+
+ ) + } + if (error) { return ( diff --git a/fdm-app/app/routes/farm.$b_id_farm._index.tsx b/fdm-app/app/routes/farm.$b_id_farm._index.tsx index 6535ace0e..3cc0c3b42 100644 --- a/fdm-app/app/routes/farm.$b_id_farm._index.tsx +++ b/fdm-app/app/routes/farm.$b_id_farm._index.tsx @@ -25,6 +25,7 @@ import { UserRoundCheck, CloudDownload, } from "lucide-react" +import { useFeatureFlagEnabled } from "posthog-js/react" import { useState } from "react" import { data, @@ -155,6 +156,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) { export default function FarmDashboardIndex() { const loaderData = useLoaderData() + const isRvoEnabled = useFeatureFlagEnabled("rvo") const calendar = useCalendarStore((state) => state.calendar) const setCalendar = useCalendarStore((state) => state.setCalendar) @@ -449,7 +451,8 @@ export default function FarmDashboardIndex() { - {loaderData.isRvoConfigured && ( + {loaderData.isRvoConfigured && + isRvoEnabled !== false && ( () + const isRvoEnabled = useFeatureFlagEnabled("rvo") + const showRvoOption = isRvoConfigured && isRvoEnabled !== false return ( @@ -80,12 +83,12 @@ export default function ChooseFieldImportMethod() {
- {isRvoConfigured && ( + {showRvoOption && ( diff --git a/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.rvo.tsx b/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.rvo.tsx index ae766ca6a..6f577e376 100644 --- a/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.rvo.tsx +++ b/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.rvo.tsx @@ -30,7 +30,8 @@ import { RvoImportReviewTable } from "~/components/blocks/rvo/import-review-tabl import { type Cultivation, type Field, getFarm } from "@nmi-agro/fdm-core" import { Alert, AlertDescription, AlertTitle } from "~/components/ui/alert" import { Button } from "~/components/ui/button" -import { AlertTriangle, Loader2 } from "lucide-react" +import { AlertTriangle, CloudDownload, Loader2 } from "lucide-react" +import { useFeatureFlagEnabled } from "posthog-js/react" import { useEffect, useState } from "react" import { FarmContent } from "~/components/blocks/farm/farm-content" import { FarmTitle } from "~/components/blocks/farm/farm-title" @@ -202,6 +203,8 @@ export default function RvoImportCreatePage() { const navigation = useNavigation() const location = useLocation() + const isRvoEnabled = useFeatureFlagEnabled("rvo") + const isImporting = navigation.state === "submitting" && navigation.formData?.get("intent") === "start_import" @@ -251,6 +254,33 @@ export default function RvoImportCreatePage() { setUserChoices((prev: UserChoiceMap) => ({ ...prev, [id]: action })) } + if (isRvoEnabled === false) { + return ( + +
+ +
+ +
+
+ +

+ Percelen ophalen bij RVO is nog niet beschikbaar + voor je. +

+

+ Deze functionaliteit is momenteel in ontwikkeling + en is nog niet voor iedereen beschikbaar. Neem + contact op met Ondersteuning als je hier vragen + over hebt. +

+
+
+
+
+ ) + } + if (error) { return (