import { t } from "@lingui/core/macro"; import { Trans } from "@lingui/react/macro"; import { useAuth } from "../hooks/useAuth.ts"; import { useFollows } from "../hooks/useFollows.ts"; interface FollowUserButtonProps { targetUserId: string; targetUsername: string; } interface FollowPlaylistButtonProps { targetPlaylistId: string; isPublic: boolean; } export function FollowUserButton( { targetUserId, targetUsername }: FollowUserButtonProps, ) { const { user } = useAuth(); const { followedUserIds, followUser, unfollowUser, isLoaded } = useFollows(); if (!user || user.id === targetUserId) return null; const isFollowing = followedUserIds.has(targetUserId); return ( ); } export function FollowPlaylistButton( { targetPlaylistId, isPublic }: FollowPlaylistButtonProps, ) { const { user } = useAuth(); const { followedPlaylistIds, followPlaylist, unfollowPlaylist, isLoaded } = useFollows(); if (!user || !isPublic) return null; const isFollowing = followedPlaylistIds.has(targetPlaylistId); return ( ); }