mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
refactor(onboarding): extract useMarkOnboardingDone hook, remove .gitkeep files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
8d64376a56
commit
0e780113de
@@ -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,23 +2,15 @@
|
|||||||
|
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
import { useOnboarding } from "@onboardjs/react";
|
import { useOnboarding } from "@onboardjs/react";
|
||||||
import { useMutation } from "@tanstack/react-query";
|
|
||||||
import confetti from "canvas-confetti";
|
import confetti from "canvas-confetti";
|
||||||
import { CheckCircle2 } from "lucide-react";
|
import { CheckCircle2 } from "lucide-react";
|
||||||
import { Button } from "@/components/ui/button";
|
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 = () => {
|
export const StepFinish = () => {
|
||||||
const { next } = useOnboarding();
|
const { next } = useOnboarding();
|
||||||
const fired = useRef(false);
|
const fired = useRef(false);
|
||||||
|
const mutation = useMarkOnboardingDone();
|
||||||
const mutation = useMutation({
|
|
||||||
mutationFn: async () => {
|
|
||||||
const result = await markOnboardingDoneAction({});
|
|
||||||
if (!result?.data) throw new Error("Failed to mark onboarding done");
|
|
||||||
return result.data;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (fired.current) return;
|
if (fired.current) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user