{"version":3,"file":"DAfaaikr.js","sources":["../../../../components/ui/hover-card/HoverCard.vue","../../../../components/ui/hover-card/HoverCardTrigger.vue","../../../../components/ui/hover-card/HoverCardContent.vue","../../../../composables/useFormatNumber.ts","../../../../components/ui/user/UserHoverCard.vue","../../../../composables/api/useUserAPI.ts","../../../../components/ui/user/FollowButton.vue","../../../../components/ui/user/index.ts"],"sourcesContent":["\n\n\n \n \n \n\n","\n\n\n \n \n \n\n","\n\n\n \n \n \n \n \n\n","export const useFormatNumber = () => {\n const formatNumber = (number: number): string => {\n if (number === undefined) return 'unknown';\n if (number >= 1000000) {\n return (number / 1000000).toFixed(1).replace('.0', '') + 'mln'\n } else if (number >= 1000) {\n return (number / 1000).toFixed(1).replace('.0', '') + ' tys.'\n } else {\n return number.toString()\n }\n }\n\n return {formatNumber}\n}\n","\n\n\n \n \n \n {{ profile.name }}\n \n \n \n \n \n \n {{ profile.name }}\n {{ profile.username }}\n \n \n \n {{ profile.bio }}\n {{ formattedFollowers }} obserwujÄ…cych\n \n \n \n \n\n","import type {User} from \"~/repository/types\";\nimport type {Ref} from \"vue\";\n\nexport const useUserAPI = (user: Ref) => {\n const {$api} = useNuxtApp()\n const {sendEvent} = useEventLogger();\n const {isLoggedIn} = useAuthStore()\n\n async function follow() {\n if (!isLoggedIn) {\n throw createError({\n statusCode: 401\n })\n }\n const profile = await $api.profile.follow(user.value.id)\n user.value.is_following = profile.is_following\n user.value.is_followed = profile.is_followed\n user.value.stats.followers = profile.stats.followers\n await sendEvent(\"USER_FOLLOW\", user.value.id);\n }\n\n async function unfollow() {\n const profile = await $api.profile.unfollow(user.value.id)\n user.value.is_following = profile.is_following\n user.value.is_followed = profile.is_followed\n user.value.stats.followers = profile.stats.followers\n await sendEvent(\"USER_UNFOLLOW\", user.value.id);\n }\n\n\n return {\n follow,\n unfollow\n }\n}","\n\n\n \n \n Obserwuj\n \n\n \n Obserwujesz\n \n \n","export {default as UserAvatar} from './Avatar.vue'\nexport {default as UserHoverCard} from './UserHoverCard.vue'\nimport {type VariantProps, cva} from 'class-variance-authority'\nexport {default as UserFollowButton} from './FollowButton.vue'\n\nexport const followButtonVariants = cva(\n 'relative z-20',\n {\n variants: {\n variant: {\n default: '',\n outline: 'bg-transparent text-white border-white px-2 h-8'\n }\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nexport type FollowButtonVariants = VariantProps"],"names":["forwarded","useForwardPropsEmits","__props","__emit","props","delegatedProps","computed","_","delegated","forwardedProps","useForwardProps","useFormatNumber","number","isHovered","ref","startHover","stopHover","useTimeoutFn","startLeave","stopLeave","handleMouseEnter","handleMouseLeave","event","relatedTarget","handleCardMouseEnter","handleCardMouseLeave","formatNumber","formattedFollowers","useUserAPI","user","$api","useNuxtApp","sendEvent","useEventLogger","isLoggedIn","useAuthStore","follow","createError","profile","unfollow","followButtonVariants","cva"],"mappings":"4zBAMM,MAAAA,EAAYC,EAHJC,EACAC,CAEqC,yKCHnD,MAAMC,EAAQF,8bCOd,MAAME,EAAQF,EAORG,EAAiBC,EAAS,IAAM,CACpC,KAAM,CAAC,MAAOC,EAAG,GAAGC,CAAa,EAAAJ,EAE1B,OAAAI,CAAA,CACR,EAEKC,EAAiBC,EAAgBL,CAAc,ilBCvBxCM,GAAkB,KAYpB,CAAC,aAXcC,GACdA,IAAW,OAAkB,UAC7BA,GAAU,KACFA,EAAS,KAAS,QAAQ,CAAC,EAAE,QAAQ,KAAM,EAAE,EAAI,MAClDA,GAAU,KACTA,EAAS,KAAM,QAAQ,CAAC,EAAE,QAAQ,KAAM,EAAE,EAAI,QAE/CA,EAAO,SAAS,CAIX,kKCFlB,MAAAC,EAAYC,EAAI,EAAK,EAErB,CAAC,MAAOC,EAAY,KAAMC,CAAa,EAAAC,EAC3C,IAAM,CACJJ,EAAU,MAAQ,EACpB,EACA,EACF,EAEM,CAAC,MAAOK,EAAY,KAAMC,CAAa,EAAAF,EAC3C,IAAM,CACJJ,EAAU,MAAQ,EACpB,EACA,EACF,EAEMO,EAAmB,IAAM,CACnBD,EAAA,EACCJ,EAAA,CACb,EAEMM,EAAoBC,GAAsB,CACpCN,EAAA,EACV,MAAMO,EAAgBD,EAAM,cACxBC,IAAkBA,EAAc,QAAQ,qBAAqB,GAAKA,EAAc,QAAQ,kBAAkB,IAGnGL,EAAA,CACb,EAEMM,EAAuB,IAAM,CACvBL,EAAA,EACVN,EAAU,MAAQ,EACpB,EAEMY,EAAuB,IAAM,CACjCZ,EAAU,MAAQ,EACpB,EAEM,CAAC,aAAAa,CAAY,EAAIf,GAAgB,EACjCgB,EAAqBrB,EAAS,IAAMoB,EAAaxB,EAAA,QAAQ,MAAM,SAAS,CAAC,khCC/ClE0B,GAAcC,GAAoB,CACrC,KAAA,CAAC,KAAAC,CAAI,EAAIC,EAAW,EACpB,CAAC,UAAAC,CAAS,EAAIC,GAAe,EAC7B,CAAC,WAAAC,CAAU,EAAIC,EAAa,EAElC,eAAeC,GAAS,CACpB,GAAI,CAACF,EACD,MAAMG,EAAY,CACd,WAAY,GAAA,CACf,EAEL,MAAMC,EAAU,MAAMR,EAAK,QAAQ,OAAOD,EAAK,MAAM,EAAE,EAClDA,EAAA,MAAM,aAAeS,EAAQ,aAC7BT,EAAA,MAAM,YAAcS,EAAQ,YACjCT,EAAK,MAAM,MAAM,UAAYS,EAAQ,MAAM,UAC3C,MAAMN,EAAU,cAAeH,EAAK,MAAM,EAAE,CAAA,CAGhD,eAAeU,GAAW,CACtB,MAAMD,EAAU,MAAMR,EAAK,QAAQ,SAASD,EAAK,MAAM,EAAE,EACpDA,EAAA,MAAM,aAAeS,EAAQ,aAC7BT,EAAA,MAAM,YAAcS,EAAQ,YACjCT,EAAK,MAAM,MAAM,UAAYS,EAAQ,MAAM,UAC3C,MAAMN,EAAU,gBAAiBH,EAAK,MAAM,EAAE,CAAA,CAI3C,MAAA,CACH,OAAAO,EACA,SAAAG,CACJ,CACJ,6EC5BA,MAAMnC,EAAQF,EAORoC,EAAUxB,EAAIV,EAAM,OAAO,EAC3B,CAAC,OAAAgC,EAAQ,SAAAG,GAAYX,GAAWU,CAAO,geCThCE,EAAuBC,GAChC,gBACA,CACI,SAAU,CACN,QAAS,CACL,QAAS,GACT,QAAS,iDAAA,CAEjB,EACA,gBAAiB,CACb,QAAS,SAAA,CACb,CAER"}