diff --git a/apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx b/apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx index 7af86553d..90759f68e 100644 --- a/apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx +++ b/apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx @@ -15,6 +15,7 @@ import { trpc } from '@documenso/trpc/react'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; import { Switch } from '@documenso/ui/primitives/switch'; +import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { SettingsHeader } from '~/components/(dashboard)/settings/layout/header'; @@ -54,6 +55,7 @@ export const PublicProfilePageView = ({ user, team, profile }: PublicProfilePage const { toast } = useToast(); const [isPublicProfileVisible, setIsPublicProfileVisible] = useState(profile.enabled); + const [isTooltipOpen, setIsTooltipOpen] = useState(false); const { data } = trpc.template.findTemplates.useQuery({ perPage: 100, @@ -80,16 +82,22 @@ export const PublicProfilePageView = ({ user, team, profile }: PublicProfilePage const onProfileUpdate = async (data: TPublicProfileFormSchema) => { if (team) { - return updateTeamProfile({ + await updateTeamProfile({ teamId: team.id, ...data, }); + } else { + await updateUserProfile(data); } - return updateUserProfile(data); + if (data.enabled === undefined && !isPublicProfileVisible) { + setIsTooltipOpen(true); + } }; const togglePublicProfileVisibility = async (isVisible: boolean) => { + setIsTooltipOpen(false); + if (isUpdating) { return; } @@ -127,23 +135,47 @@ export const PublicProfilePageView = ({ user, team, profile }: PublicProfilePage return (
+ Profile is currently visible. +
+ +Toggle the switch to hide your profile from the public.
+ > + ) : ( + <> ++ Profile is currently hidden. +
+ +Toggle the switch to show your profile to the public.
+ > + )} +