refactor(onboarding): extract useMarkOnboardingDone hook, remove .gitkeep files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Théo LAGACHE
2026-06-19 11:01:15 +02:00
co-authored by Claude Sonnet 4.6
parent 8d64376a56
commit 0e780113de
2 changed files with 16 additions and 10 deletions
@@ -0,0 +1,14 @@
"use client";
import { useMutation } from "@tanstack/react-query";
import { markOnboardingDoneAction } from "@/features/onboarding/actions/onboarding-mark-done.action";
export const useMarkOnboardingDone = () => {
return useMutation({
mutationFn: async () => {
const result = await markOnboardingDoneAction({});
if (!result?.data) throw new Error("Failed to mark onboarding done");
return result.data;
},
});
};
+2 -10
View File
@@ -2,23 +2,15 @@
import { useEffect, useRef } from "react";
import { useOnboarding } from "@onboardjs/react";
import { useMutation } from "@tanstack/react-query";
import confetti from "canvas-confetti";
import { CheckCircle2 } from "lucide-react";
import { Button } from "@/components/ui/button";
import { markOnboardingDoneAction } from "@/features/onboarding/actions/onboarding-mark-done.action";
import { useMarkOnboardingDone } from "@/features/onboarding/hooks/use-mark-onboarding-done";
export const StepFinish = () => {
const { next } = useOnboarding();
const fired = useRef(false);
const mutation = useMutation({
mutationFn: async () => {
const result = await markOnboardingDoneAction({});
if (!result?.data) throw new Error("Failed to mark onboarding done");
return result.data;
},
});
const mutation = useMarkOnboardingDone();
useEffect(() => {
if (fired.current) return;