@funhub/platform 0.1.27 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/biz.d.mts +28 -10
  2. package/dist/biz.mjs +1 -1
  3. package/dist/components/biz/business/banner/variants/basic-banner/inspector-schema.d.mts +11 -11
  4. package/dist/components/biz/business/banner/variants/basic-banner/material.d.mts +1 -1
  5. package/dist/components/biz/business/banner-carousel/client.mjs +2 -0
  6. package/dist/components/biz/business/banner-carousel/default-props.mjs +2 -0
  7. package/dist/components/biz/business/banner-carousel/material.d.mts +22 -0
  8. package/dist/components/biz/business/banner-carousel/material.mjs +2 -0
  9. package/dist/components/biz/business/banner-carousel/schema.d.mts +23 -0
  10. package/dist/components/biz/business/banner-carousel/schema.mjs +2 -0
  11. package/dist/components/biz/business/banner-carousel/server.d.mts +18 -0
  12. package/dist/components/biz/business/banner-carousel/server.mjs +2 -0
  13. package/dist/components/biz/business/channel-list/channel-filter-dialog.mjs +1 -1
  14. package/dist/components/biz/business/channel-list/client.mjs +1 -1
  15. package/dist/components/biz/business/channel-list/material.d.mts +4 -2
  16. package/dist/components/biz/business/channel-list/schema.d.mts +9 -7
  17. package/dist/components/biz/business/channel-list/schema.mjs +1 -1
  18. package/dist/components/biz/business/detail/materials/registry.d.mts +34 -28
  19. package/dist/components/biz/business/detail/materials/video-detail-actions/client.d.mts +1 -1
  20. package/dist/components/biz/business/detail/materials/video-detail-actions/client.mjs +1 -1
  21. package/dist/components/biz/business/detail/materials/video-detail-actions/index.d.mts +2 -2
  22. package/dist/components/biz/business/detail/materials/video-detail-actions/material.d.mts +2 -1
  23. package/dist/components/biz/business/detail/materials/video-detail-actions/material.mjs +1 -1
  24. package/dist/components/biz/business/detail/materials/video-detail-actions/server.d.mts +10 -2
  25. package/dist/components/biz/business/detail/materials/video-detail-info/client.d.mts +1 -1
  26. package/dist/components/biz/business/detail/materials/video-detail-info/client.mjs +1 -1
  27. package/dist/components/biz/business/detail/materials/video-detail-info/index.d.mts +2 -2
  28. package/dist/components/biz/business/detail/materials/video-detail-info/material.d.mts +2 -1
  29. package/dist/components/biz/business/detail/materials/video-detail-info/server.d.mts +10 -2
  30. package/dist/components/biz/business/detail/materials/video-detail-info-title/client.mjs +1 -1
  31. package/dist/components/biz/business/detail/materials/video-detail-info-title/index.d.mts +2 -2
  32. package/dist/components/biz/business/detail/materials/video-detail-info-title/material.d.mts +2 -1
  33. package/dist/components/biz/business/detail/materials/video-detail-info-title/server.d.mts +10 -2
  34. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/client.mjs +1 -1
  35. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/index.d.mts +2 -2
  36. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/material.d.mts +2 -1
  37. package/dist/components/biz/business/detail/materials/video-detail-info-title-tags-episodes/server.d.mts +10 -2
  38. package/dist/components/biz/business/detail/materials/video-detail-player/client.d.mts +1 -1
  39. package/dist/components/biz/business/detail/materials/video-detail-player/client.mjs +1 -1
  40. package/dist/components/biz/business/detail/materials/video-detail-player/index.d.mts +2 -2
  41. package/dist/components/biz/business/detail/materials/video-detail-player/material.d.mts +2 -1
  42. package/dist/components/biz/business/detail/materials/video-detail-player/material.mjs +1 -1
  43. package/dist/components/biz/business/detail/materials/video-detail-player/server.d.mts +10 -2
  44. package/dist/components/biz/business/detail/materials/video-detail-recommend/client.mjs +1 -1
  45. package/dist/components/biz/business/detail/materials/video-detail-recommend/index.d.mts +2 -2
  46. package/dist/components/biz/business/detail/materials/video-detail-recommend/material.d.mts +2 -1
  47. package/dist/components/biz/business/detail/materials/video-detail-recommend/schema.d.mts +23 -23
  48. package/dist/components/biz/business/detail/materials/video-detail-recommend/server.d.mts +10 -2
  49. package/dist/components/biz/business/floating-ball/client.d.mts +1 -1
  50. package/dist/components/biz/business/floating-ball/material.d.mts +2 -1
  51. package/dist/components/biz/business/floating-ball/server.d.mts +11 -0
  52. package/dist/components/biz/business/header-search/header-avatar-icon/index.d.mts +2 -2
  53. package/dist/components/biz/business/header-search/header-avatar-icon/material.d.mts +2 -1
  54. package/dist/components/biz/business/header-search/header-avatar-icon/material.mjs +1 -1
  55. package/dist/components/biz/business/header-search/header-avatar-icon/server.d.mts +10 -2
  56. package/dist/components/biz/business/header-search/header-avatar-logo-search/index.d.mts +2 -2
  57. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.d.mts +2 -1
  58. package/dist/components/biz/business/header-search/header-avatar-logo-search/material.mjs +1 -1
  59. package/dist/components/biz/business/header-search/header-avatar-logo-search/server.d.mts +10 -2
  60. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/index.d.mts +2 -2
  61. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.d.mts +2 -1
  62. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/material.mjs +1 -1
  63. package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/server.d.mts +10 -2
  64. package/dist/components/biz/business/header-search/header-logo-search/index.d.mts +2 -2
  65. package/dist/components/biz/business/header-search/header-logo-search/material.d.mts +2 -1
  66. package/dist/components/biz/business/header-search/header-logo-search/material.mjs +1 -1
  67. package/dist/components/biz/business/header-search/header-logo-search/server.d.mts +10 -2
  68. package/dist/components/biz/business/header-search/header-search/index.d.mts +2 -2
  69. package/dist/components/biz/business/header-search/header-search/material.d.mts +2 -1
  70. package/dist/components/biz/business/header-search/header-search/material.mjs +1 -1
  71. package/dist/components/biz/business/header-search/header-search/server.d.mts +10 -2
  72. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/inspector-schema.d.mts +5 -5
  73. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/inspector-schema.mjs +1 -1
  74. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/material.d.mts +1 -1
  75. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/material.mjs +1 -1
  76. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/runtime/client.mjs +1 -1
  77. package/dist/components/biz/business/home-recommend/variants/home-recommend-grid/schema/component.mjs +1 -1
  78. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/inspector-schema.d.mts +5 -5
  79. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/material.d.mts +1 -1
  80. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/material.mjs +1 -1
  81. package/dist/components/biz/business/home-recommend/variants/home-recommend-waterfall/runtime/client.mjs +1 -1
  82. package/dist/components/biz/business/index.d.mts +27 -8
  83. package/dist/components/biz/business/index.mjs +1 -1
  84. package/dist/components/biz/business/large-feature-grid/client.d.mts +1 -1
  85. package/dist/components/biz/business/large-feature-grid/material.d.mts +2 -1
  86. package/dist/components/biz/business/large-feature-grid/server.d.mts +11 -0
  87. package/dist/components/biz/business/marquee/index.d.mts +2 -2
  88. package/dist/components/biz/business/marquee/material.d.mts +2 -1
  89. package/dist/components/biz/business/marquee/material.mjs +1 -1
  90. package/dist/components/biz/business/marquee/schema.d.mts +14 -14
  91. package/dist/components/biz/business/profile/index.d.mts +21 -0
  92. package/dist/components/biz/business/profile/profile-header/client.d.mts +19 -0
  93. package/dist/components/biz/business/profile/profile-header/client.mjs +2 -0
  94. package/dist/components/biz/business/profile/profile-header/index.d.mts +5 -0
  95. package/dist/components/biz/business/profile/profile-header/material.d.mts +9 -1
  96. package/dist/components/biz/business/profile/profile-header/material.mjs +1 -1
  97. package/dist/components/biz/business/profile/profile-header/schema.d.mts +40 -0
  98. package/dist/components/biz/business/profile/profile-header/schema.mjs +2 -0
  99. package/dist/components/biz/business/profile/profile-header/server.d.mts +33 -0
  100. package/dist/components/{pages/profile/_components/user-profile-header → biz/business/profile/profile-header}/server.mjs +1 -1
  101. package/dist/components/biz/business/profile/profile-header/user-profile-avatar.mjs +2 -0
  102. package/dist/components/biz/business/profile/profile-header/user-profile-cover-background.mjs +2 -0
  103. package/dist/components/biz/business/profile/profile-main/client.d.mts +17 -0
  104. package/dist/components/biz/business/profile/profile-main/client.mjs +2 -0
  105. package/dist/components/biz/business/profile/profile-main/index.d.mts +16 -0
  106. package/dist/components/biz/business/profile/profile-main/material.d.mts +14 -1
  107. package/dist/components/biz/business/profile/profile-main/material.mjs +1 -1
  108. package/dist/components/biz/business/profile/profile-main/schema.d.mts +55 -0
  109. package/dist/components/biz/business/profile/profile-main/schema.mjs +2 -0
  110. package/dist/components/biz/business/profile/profile-main/server.d.mts +11 -0
  111. package/dist/components/biz/business/profile/profile-main/server.mjs +2 -0
  112. package/dist/components/biz/business/profile/profile-main/shell.d.mts +25 -0
  113. package/dist/components/biz/business/profile/profile-main/shell.mjs +2 -0
  114. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.d.mts +25 -0
  115. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +2 -0
  116. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/index.d.mts +3 -0
  117. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/server.d.mts +54 -0
  118. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/server.mjs +2 -0
  119. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.d.mts +19 -0
  120. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +2 -0
  121. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/index.d.mts +3 -0
  122. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/server.d.mts +48 -0
  123. package/dist/components/{pages/profile/_components → biz/business/profile/profile-main}/tabs/history-tab/server.mjs +1 -1
  124. package/dist/components/biz/business/profile/profile-main/tabs/index.d.mts +13 -0
  125. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.d.mts +76 -0
  126. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +2 -0
  127. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/index.d.mts +3 -0
  128. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/server.d.mts +39 -0
  129. package/dist/components/{pages/profile/_components → biz/business/profile/profile-main}/tabs/like-tab/server.mjs +1 -1
  130. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/client.d.mts +30 -0
  131. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/client.mjs +2 -0
  132. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/index.d.mts +3 -0
  133. package/dist/components/biz/business/profile/profile-main/tabs/publish-tab/server.d.mts +33 -0
  134. package/dist/components/{pages/profile/_components → biz/business/profile/profile-main}/tabs/publish-tab/server.mjs +1 -1
  135. package/dist/components/biz/business/profile/profile-main/utils.mjs +2 -0
  136. package/dist/components/biz/business/profile/profile-main/variants.d.mts +32 -0
  137. package/dist/components/biz/business/profile/profile-main/variants.mjs +2 -0
  138. package/dist/components/biz/business/search-history/client.d.mts +7 -7
  139. package/dist/components/biz/business/search-history/client.mjs +1 -1
  140. package/dist/components/biz/business/search-history/index.d.mts +4 -4
  141. package/dist/components/biz/business/search-history/material.d.mts +3 -2
  142. package/dist/components/biz/business/search-history/material.mjs +1 -1
  143. package/dist/components/biz/business/search-history/schema.d.mts +8 -8
  144. package/dist/components/biz/business/search-history/server.d.mts +4 -4
  145. package/dist/components/biz/business/search-history/server.mjs +1 -1
  146. package/dist/components/biz/business/search-input/client.d.mts +2 -2
  147. package/dist/components/biz/business/search-input/client.mjs +1 -1
  148. package/dist/components/biz/business/search-input/index.d.mts +2 -2
  149. package/dist/components/biz/business/search-input/material.d.mts +2 -1
  150. package/dist/components/biz/business/search-input/material.mjs +1 -1
  151. package/dist/components/biz/business/search-input/schema.d.mts +5 -5
  152. package/dist/components/biz/business/shortcut-grid/client.d.mts +1 -1
  153. package/dist/components/biz/business/shortcut-grid/material.d.mts +2 -1
  154. package/dist/components/biz/business/shortcut-grid/schema.d.mts +11 -11
  155. package/dist/components/biz/business/shortcut-grid/server.d.mts +11 -0
  156. package/dist/components/biz/business/tab-bar/index.d.mts +2 -2
  157. package/dist/components/biz/business/tab-bar/material.d.mts +2 -1
  158. package/dist/components/biz/business/tab-bar/material.mjs +1 -1
  159. package/dist/components/biz/business/tab-bar/schema.d.mts +9 -9
  160. package/dist/components/biz/business/text-recommend/client.d.mts +2 -2
  161. package/dist/components/biz/business/text-recommend/client.mjs +1 -1
  162. package/dist/components/biz/business/text-recommend/index.d.mts +2 -2
  163. package/dist/components/biz/business/text-recommend/material.d.mts +2 -1
  164. package/dist/components/biz/business/text-recommend/material.mjs +1 -1
  165. package/dist/components/biz/business/text-recommend/schema.d.mts +6 -6
  166. package/dist/components/biz/business/video-horizontal-list/client.d.mts +5 -14
  167. package/dist/components/biz/business/video-horizontal-list/client.mjs +1 -1
  168. package/dist/components/biz/business/video-horizontal-list/index.d.mts +2 -2
  169. package/dist/components/biz/business/video-horizontal-list/material.d.mts +12 -2
  170. package/dist/components/biz/business/video-horizontal-list/material.mjs +1 -1
  171. package/dist/components/biz/business/video-horizontal-list/schema.d.mts +21 -3
  172. package/dist/components/biz/business/video-horizontal-list/schema.mjs +1 -1
  173. package/dist/components/biz/business/video-horizontal-list/server.d.mts +1 -1
  174. package/dist/components/biz/business/video-horizontal-list/server.mjs +1 -1
  175. package/dist/components/biz/example/button/index.d.mts +2 -2
  176. package/dist/components/biz/example/button/material.d.mts +2 -1
  177. package/dist/components/biz/example/button/schema.d.mts +14 -14
  178. package/dist/components/biz/renderer/renderer.d.mts +3 -3
  179. package/dist/components/biz/renderer/renderer.mjs +1 -1
  180. package/dist/components/pages/profile/page.mjs +1 -1
  181. package/dist/components/pages/search/page-client.mjs +1 -1
  182. package/dist/components/ui/badge.d.mts +1 -1
  183. package/dist/components/ui/button.d.mts +1 -1
  184. package/dist/materials.d.mts +11 -4
  185. package/dist/materials.mjs +1 -1
  186. package/dist/utils/schema/inspector.d.mts +111 -111
  187. package/dist/utils/schema/material.d.mts +13 -11
  188. package/dist/utils/schema/schema.d.mts +26 -26
  189. package/dist/utils/schema/utils.d.mts +1 -1
  190. package/dist/utils.mjs +1 -1
  191. package/package.json +1 -1
  192. package/dist/assets/images/Frame.mjs +0 -2
  193. package/dist/components/pages/profile/_components/tabs/collect-tab/client.mjs +0 -2
  194. package/dist/components/pages/profile/_components/tabs/collect-tab/server.mjs +0 -2
  195. package/dist/components/pages/profile/_components/tabs/history-tab/client.mjs +0 -2
  196. package/dist/components/pages/profile/_components/tabs/like-tab/client.mjs +0 -2
  197. package/dist/components/pages/profile/_components/tabs/publish-tab/client.mjs +0 -2
  198. package/dist/components/pages/profile/_components/user-profile-header/client.mjs +0 -2
  199. package/dist/components/pages/profile/_components/user-profile-header/user-profile-avatar.mjs +0 -2
  200. package/dist/components/pages/profile/_components/user-profile-header/user-profile-cover-background.mjs +0 -2
  201. package/dist/components/pages/profile/_components/user-profile-main/server.mjs +0 -2
  202. package/dist/components/pages/profile/_components/user-profile-main/shell.mjs +0 -2
  203. package/dist/components/pages/profile/utils.mjs +0 -2
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{Button as e}from"../../../../../ui/button.mjs";import{useUserStore as t}from"../../../../../../store/modules/user-store.mjs";import{gCommunityGetSubscribedCollections as n,gCommunityGetUserCollections as r,gInteractionListCollects as i,pInteractionBatchDeleteCollects as a}from"../../../../../../service/generated/client.mjs";import{Box as o}from"../../../../../ui/box.mjs";import{Checkbox as ee}from"../../../../../ui/checkbox.mjs";import{Tabs as s,TabsList as c,TabsTrigger as l}from"../../../../../ui/tabs.mjs";import{Text as te}from"../../../../../ui/text.mjs";import{useMutation as ne,usePaginated as u,useUpdateRequest as re}from"../../../../../../hooks/query/use-query.mjs";import{useAppContext as ie}from"../../../../../../hooks/use-app-context/index.mjs";import{AddIcon as ae}from"../../../../../common/icons/add.mjs";import{CollectionList as oe}from"../../../../../common/list/collection-list/collection-list.mjs";import{PostList as se}from"../../../../../common/list/post-list/post-list.mjs";import{VideoList as ce}from"../../../../../common/list/video-list/video-list.mjs";import{useEffect as d,useMemo as f,useState as p}from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{toast as g}from"sonner";import{useTranslations as le}from"next-intl";import _ from"dayjs";import ue from"next/link";import{parseAsString as v,useQueryState as y}from"nuqs";const b={video:1,post:2};function de(e,t){if(!e)return e;let n=0,r=e.pages.map(e=>({page:e,filteredList:(e.data?.list??w).filter(e=>{let r=e?.id??``,i=t.has(r);return i&&(n+=1),!i})}));return{...e,pages:r.map(({page:e,filteredList:t})=>{if(!e.data)return e;let r=typeof e.data.total==`number`?Math.max(0,e.data.total-n):e.data.total;return{...e,data:{...e.data,list:t,total:r}}})}}function x(e){if(e.cover_image)return e.cover_image;let t=``;return e.medias?.find(e=>e?(!e.is_video&&!t&&e.media_url&&(t=e.media_url),!!e.cover_image):!1)?.cover_image||t}function fe(e,t){let n=t[e.content_id||``]?.create_time,r=x(e);return{id:e.content_id||``,title:e.content||``,coverImage:r,publishTime:_(n).toDate().getTime()}}function pe(e,t){let n=t[e.id||``]?.create_time;return{is_more_link:e.is_more_link,id:e.id||``,title:e.name||``,coverImage:e.img_x||``,duration:Number(e.duration??0),authorName:e.up_user||e.source_username||``,viewCount:e.play_count??0,publishTime:_(n).toDate().getTime()}}function S(e){let t=x(e);return{contentType:e.source_type,id:e.content_id,title:e.title||e.content,coverImage:t,isVideo:!1,isMovie:!1}}function C(e){let t=(e.contents??[]).slice(0,3).map(S);return{id:e.collection_id||``,title:e.title||``,contentCount:e.content_count??t.length,contents:t}}const w=[],me=[`video`,`post`,`collection`],he=[`created`,`subscribed`];function T({userId:_,showCreateAction:x=!1,queryKeyPrefix:S,isMine:T=!1}){let E=le(`components.pages.profile.components.tabs`),D=ie()===`renderer`,O=S??[],[k,A]=y(`collectTab`,v.withDefault(`video`)),[j,M]=y(`collectCollectionTab`,v.withDefault(`created`)),N=f(()=>me.includes(k)?k:`video`,[k]),P=f(()=>he.includes(j)?j:`created`,[j]),[F,I]=p(!1),[L,R]=p(()=>new Set),{userId:ge,userInfo:_e}=t(),z=_||ge||_e?.userId||``,ve=re();async function B(e,t){if(!z)return{data:{list:[],total:0}};let n=await i({user_id:z,folder_id:``,content_type:t,page:e,page_size:10}),r=n.data.collect_infos?.reduce((e,t)=>(t.content_id&&(e[t.content_id]=t),e),{})||{},a=t===b.video?(n.data?.video_infos??[]).map(e=>pe(e,r)):(n.data?.post_infos??[]).map(e=>fe(e,r));return{data:{list:a,total:n.data?.total??a.length}}}let V=u({key:[...O,`user-collect-video`,z],initialPageParam:1,async queryFn(e){return B(e,b.video)},options:{staleTime:0,enabled:D},getNextPageParam(e,t){if((e?.data?.list||[]).length!==0)return t.length+1}}),H=u({key:[...O,`user-collect-post`,z],initialPageParam:1,options:{staleTime:0,enabled:D},async queryFn(e){return B(e,b.post)},getNextPageParam(e,t){if((e?.data?.list||[]).length!==0)return t.length+1}});async function ye(e){if(!z)return{data:{list:[],total:0}};let t=await r({page:e,user_id:_,page_size:10}),n=t.data?.data?.collections??[];return{data:{list:n.map(C),total:t.data?.data?.total??n.length}}}async function be(e){if(!z)return{data:{list:[],total:0}};let t=(await n({page:e,user_id:_,page_size:10})).data?.data,r=t?.collections??[];return{data:{list:r.map(C),total:t?.total??r.length}}}let U=u({key:[...O,`user-collection-created`,z],initialPageParam:1,options:{staleTime:0,enabled:D},async queryFn(e){return ye(e)},getNextPageParam(e,t){if((e?.data?.list||[]).length!==0)return t.length+1}}),W=u({key:[...O,`user-collection-subscribed`,z],initialPageParam:1,options:{staleTime:0,enabled:D},async queryFn(e){return be(e)},getNextPageParam(e,t){if((e?.data?.list||[]).length!==0)return t.length+1}}),G=f(()=>V.data?.pages.flatMap(e=>e.data?.list??w)??w,[V.data]),K=f(()=>H.data?.pages.flatMap(e=>e.data?.list??w)??w,[H.data]),xe=f(()=>U.data?.pages.flatMap(e=>e.data?.list??w)??w,[U.data]),Se=f(()=>W.data?.pages.flatMap(e=>e.data?.list??w)??w,[W.data]),Ce=N===`video`?G:N===`post`?K:w,q=new Set(Ce.map(e=>e.id)),J=N===`video`?V:H,Y=P===`created`?U:W,we=P===`created`?xe:Se,X=N===`video`,Te=[...O,`user-collect-video`,z],Ee=[...O,`user-collect-post`,z],{mutateAsync:De,isPending:Z}=ne(async e=>await a({app_id:0,user_id:z,folder_id:``,content_type:X?1:2,content_ids:e})),Oe=()=>{I(!F),R(new Set)};d(()=>{R(new Set),N===`collection`&&I(!1)},[N]),d(()=>{k!==N&&A(N)},[N,k,A]),d(()=>{j!==P&&M(P)},[P,j,M]);let Q=e=>{R(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ke=()=>{L.size===q.size&&q.size>0?R(new Set):R(new Set(q))},Ae=async()=>{if(!(L.size===0||Z)){if(!z){g.error(E(`collectTab.pleaseLogin`));return}try{let e=Array.from(L),t=await De(e);if(t.code===0){g.success(E(`collectTab.uncollectedSuccess`));let t=new Set(e);ve(X?Te:Ee,e=>de(e,t)),R(new Set),I(!1)}else g.error(t.message||E(`collectTab.uncollectFailed`))}catch(e){console.error(`取消收藏失败`,e),g.error(E(`collectTab.operationFailed`))}}},$=async()=>{if(D){if(N===`collection`){await Y.fetchNextPage();return}await J.fetchNextPage()}};return h(o,{children:[h(o,{className:`flex justify-between items-center`,children:[m(s,{value:N,onValueChange:e=>{A(e)},children:h(c,{variant:`tag`,children:[m(l,{value:`video`,className:`text-sm`,children:E(`collectTab.video`)}),m(l,{value:`post`,className:`text-sm`,children:E(`collectTab.posts`)}),m(l,{value:`collection`,className:`text-sm`,children:E(`collectTab.collections`)})]})}),N===`collection`?h(o,{className:`flex items-center gap-2 h-6.25`,children:[m(s,{value:P,onValueChange:e=>{M(e)},children:h(c,{variant:`segment`,children:[m(l,{value:`created`,className:`text-sm`,children:E(`collectTab.created`)}),m(l,{value:`subscribed`,className:`text-sm`,children:E(`collectTab.subscribed`)})]})}),x&&m(ue,{href:`/collection/create`,className:`flex items-center justify-center rounded-full bg-bg2 p-1.5`,children:m(ae,{})})]}):T&&m(`button`,{onClick:Oe,className:`text-sm text-text3 h-6.25`,children:E(F?`collectTab.cancel`:`collectTab.edit`)})]}),m(o,{className:`pt-2`,children:N===`video`?m(ce,{list:G,showVideoProgress:!1,loading:J.isFetching,hasMore:J.hasNextPage??!1,loadMore:$,isEditMode:F,selectedIds:L,onToggleSelection:Q}):N===`post`?m(se,{list:K,loading:J.isFetching,hasMore:J.hasNextPage??!1,loadMore:$,isEditMode:F,selectedIds:L,onToggleSelection:Q}):m(oe,{list:we,loading:Y.isFetching,hasMore:Y.hasNextPage??!1,loadMore:$,emptyText:E(P===`created`?`collectTab.noCreatedCollections`:`collectTab.noSubscribedCollections`)})}),F&&N!==`collection`&&h(o,{style:{bottom:`calc(56px + env(safe-area-inset-bottom, 0px))`},className:`flex fixed z-10 left-0 w-full items-center justify-between px-3 py-2 bg-bg1 `,children:[h(o,{className:`flex items-center gap-2`,children:[m(ee,{checked:L.size===q.size&&q.size>0,onCheckedChange:ke}),m(te,{className:`text-sm text-text1`,children:E(`collectTab.selectAll`)})]}),m(e,{className:`rounded-full py-2.5 h-auto px-6.5`,variant:L.size>0?`default`:`outline`,disabled:L.size===0||Z,onClick:Ae,children:E(Z?`collectTab.processing`:`collectTab.delete`)})]})]})}export{T as CollectTab};
@@ -1,2 +0,0 @@
1
-
2
- import{gCommunityGetSubscribedCollections as e,gCommunityGetUserCollections as t,gInteractionListCollects as n}from"../../../../../../service/generated/client.mjs";import{HydrationBoundary as r}from"../../../../../../hooks/query/hydration-boundary.mjs";import{defaultPageSize as i}from"../../../utils.mjs";import{CollectTab as a}from"./client.mjs";import{jsx as o}from"react/jsx-runtime";import s from"dayjs";function c({queryKeyPrefix:e,targetUserId:t,resolvedCollectTab:n,resolvedCollectCollectionTab:r,authConfig:i}){if(!t)return[];if(n===`collection`)return[{type:`infinite`,queryKey:r===`subscribed`?[...e,`user-collection-subscribed`,t]:[...e,`user-collection-created`,t],async queryFn(e){return r===`subscribed`?f({targetUserId:t,page:e,authConfig:i}):d({targetUserId:t,page:e,authConfig:i})},initialPageParam:1,getNextPageParam(){}}];let a=n===`post`;return[{type:`infinite`,queryKey:a?[...e,`user-collect-post`,t]:[...e,`user-collect-video`,t],async queryFn(e){return u({targetUserId:t,page:e,contentType:a?2:1,authConfig:i})},initialPageParam:1,getNextPageParam(){}}]}function l({prefetch:e,resolvedCollectTab:t=`video`,resolvedCollectCollectionTab:n=`created`,authConfig:i,...s}){return o(r,{prefetch:e??c({queryKeyPrefix:s.queryKeyPrefix??[],targetUserId:s.userId,resolvedCollectTab:t,resolvedCollectCollectionTab:n,authConfig:i}),children:o(a,{...s})})}async function u({targetUserId:e,page:t,contentType:r,authConfig:a}){let o=await n({user_id:e,folder_id:``,content_type:r,page:t,page_size:i},a),s=o.data.collect_infos?.reduce((e,t)=>(t.content_id&&(e[t.content_id]=t),e),{})||{},c=r===1?(o.data?.video_infos??[]).map(e=>h(e,s)):(o.data?.post_infos??[]).map(e=>m(e,s));return{data:{list:c,total:o.data?.total??c.length}}}async function d({targetUserId:e,page:n,authConfig:r}){let a=await t({page:n,user_id:e,page_size:i},r),o=a.data?.data?.collections??[];return{data:{list:o.map(_),total:a.data?.data?.total??o.length}}}async function f({targetUserId:t,page:n,authConfig:r}){let a=(await e({page:n,user_id:t,page_size:i},r)).data?.data,o=a?.collections??[];return{data:{list:o.map(_),total:a?.total??o.length}}}function p(e){if(e.cover_image)return e.cover_image;let t=``;return e.medias?.find(e=>e?(!e.is_video&&!t&&e.media_url&&(t=e.media_url),!!e.cover_image):!1)?.cover_image||t}function m(e,t){let n=t[e.content_id||``]?.create_time,r=p(e);return{id:e.content_id||``,title:e.content||``,coverImage:r,publishTime:s(n).toDate().getTime()}}function h(e,t){let n=t[e.id||``]?.create_time;return{is_more_link:e.is_more_link,id:e.id||``,title:e.name||``,coverImage:e.img_x||``,duration:Number(e.duration??0),authorName:e.up_user||e.source_username||``,viewCount:e.play_count??0,publishTime:s(n).toDate().getTime()}}function g(e){let t=p(e);return{contentType:e.source_type,id:e.content_id,title:e.title||e.content,coverImage:t,isVideo:!1,isMovie:!1}}function _(e){let t=(e.contents??[]).slice(0,3).map(g);return{id:e.collection_id||``,title:e.title||``,contentCount:e.content_count??t.length,contents:t}}export{l as CollectTabServer};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{Button as e}from"../../../../../ui/button.mjs";import{useUserStore as t}from"../../../../../../store/modules/user-store.mjs";import{pInteractionBatchClearBrowse as n}from"../../../../../../service/generated/client.mjs";import{Box as r}from"../../../../../ui/box.mjs";import{Checkbox as i}from"../../../../../ui/checkbox.mjs";import{Tabs as a,TabsList as o,TabsTrigger as s}from"../../../../../ui/tabs.mjs";import{Text as c}from"../../../../../ui/text.mjs";import{useMutation as ee,usePaginated as l,useUpdateRequest as u}from"../../../../../../hooks/query/use-query.mjs";import{useAppContext as d}from"../../../../../../hooks/use-app-context/index.mjs";import{PostList as f}from"../../../../../common/list/post-list/post-list.mjs";import{VideoList as p}from"../../../../../common/list/video-list/video-list.mjs";import{getHistoryData as m,likeContentType as h}from"../../../utils.mjs";import{useEffect as g,useMemo as te,useState as _}from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{toast as b}from"sonner";import{useTranslations as x}from"next-intl";import{parseAsString as S,useQueryState as ne}from"nuqs";function C(e){let{detail:t}=e,{info:n,publish_time:r}=t;return{id:e.id,title:n.title||n.text||``,coverImage:n.cover_image_thumbnail||n.cover_image||n.cover_horizontal_image_thumbnail||void 0,publishTime:r}}function w(e){let{detail:t,content_play_progress:n}=e,{user_info:r,info:i,statics_cnt:a,publish_time:o,parent_content_info:s}=t;return{is_more_link:i.is_more_link,id:e.id,title:i.title||i.text||i.name||``,coverImage:i.cover_image_thumbnail||i.cover_image||i.cover_horizontal_image_thumbnail||``,duration:Number(i.video_duration??0),progress:n?.percent??0,seriesNum:n?.series_num,authorName:r.name,viewCount:i?.play_count??a?.browse_cnt??0,publishTime:o,type:s?.type}}function T(e,t,n){if(!e)return e;let r=0,i=e.pages.map(e=>({page:e,filteredList:(e.data?.list??[]).filter(e=>{let i=n(e)??``,a=t.has(i);return a&&(r+=1),!a})}));return{...e,pages:i.map(({page:e,filteredList:t})=>{if(!e.data)return e;let n=typeof e.data.total==`number`?Math.max(0,e.data.total-r):e.data.total;return{...e,data:{...e.data,list:t,total:n}}})}}const E=[`video`,`post`];function D({targetUserId:D,queryKeyPrefix:O}){let k=x(`components.pages.profile.components.tabs`),A=d()===`renderer`,j=O??[],[M,N]=ne(`historyTab`,S.withDefault(`video`)),P=te(()=>E.includes(M)?M:`video`,[M]),[F,I]=_(!1),[L,R]=_(()=>new Set),z=t(e=>e.userId),B=u(),V=[...j,`user-history-video`],H=[...j,`user-history-post`],U=l({key:V,initialPageParam:1,async queryFn(e){return m({targetUserId:D,page:e,contentType:h.video})},options:{staleTime:0,enabled:A},getNextPageParam(e,t){if(!((e?.data?.list??[]).length===0||e?.data?.total===0))return t.length+1}}),W=l({key:H,initialPageParam:1,async queryFn(e){return m({targetUserId:D,page:e,contentType:h.post})},options:{staleTime:0,enabled:A},getNextPageParam(e,t){if(!((e?.data?.list??[]).length===0||e?.data?.total===0))return t.length+1}}),G=P===`video`?U:W,K=U.data?.pages.flatMap(e=>(e.data?.list??[]).map(w))??[],q=W.data?.pages.flatMap(e=>(e.data?.list??[]).map(C))??[],J=P===`video`?K:q,Y=new Set(J.map(e=>e.id)),X=P===`video`,{mutateAsync:re,isPending:Z}=ee(async e=>await n({app_id:0,user_id:z,content_type:e.contentType,content_ids:e.contentIds})),ie=()=>{I(!F),R(new Set)};g(()=>{R(new Set)},[P]),g(()=>{M!==P&&N(P)},[P,M,N]);let Q=e=>{R(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ae=()=>{L.size===Y.size&&Y.size>0?R(new Set):R(new Set(Y))},oe=async()=>{if(!(L.size===0||Z)){if(!z){b.error(k(`historyTab.pleaseLogin`));return}try{let e=Array.from(L),t=await re({contentIds:e,contentType:X?1:2});if(t.code===0){b.success(k(`historyTab.historyDeletedSuccess`));let t=new Set(e);B(X?V:H,e=>T(e,t,e=>e.id)),R(new Set),I(!1)}else b.error(t.message||k(`historyTab.deleteFailed`))}catch(e){console.error(`删除浏览记录失败`,e),b.error(k(`historyTab.operationFailed`))}}},$=async()=>{A&&await G.fetchNextPage()};return y(r,{children:[y(r,{className:`flex justify-between items-center`,children:[v(a,{value:P,onValueChange:e=>{N(e)},children:y(o,{variant:`tag`,children:[v(s,{value:`video`,className:`text-sm`,children:k(`historyTab.video`)}),v(s,{value:`post`,className:`text-sm`,children:k(`historyTab.posts`)})]})}),v(`button`,{onClick:ie,className:`text-sm text-text3`,children:k(F?`historyTab.cancel`:`historyTab.edit`)})]}),v(r,{className:`pt-2`,children:P===`video`?v(p,{showVideoProgress:!0,list:K,loading:G.isFetching,hasMore:G.hasNextPage??!1,loadMore:$,isEditMode:F,selectedIds:L,onToggleSelection:Q}):v(f,{list:q,loading:G.isFetching,hasMore:G.hasNextPage??!1,loadMore:$,isEditMode:F,selectedIds:L,onToggleSelection:Q})}),F&&y(r,{style:{bottom:`calc(56px + env(safe-area-inset-bottom, 0px))`},className:`flex fixed z-10 left-0 w-full items-center justify-between px-3 py-2 bg-bg1 `,children:[y(r,{className:`flex items-center gap-2`,children:[v(i,{checked:L.size===Y.size&&Y.size>0,onCheckedChange:ae}),v(c,{className:`text-sm text-text1`,children:k(`historyTab.selectAll`)})]}),v(e,{className:`rounded-full py-2.5 h-auto px-6.5`,variant:L.size>0?`default`:`outline`,disabled:L.size===0||Z,onClick:oe,children:k(Z?`historyTab.processing`:`historyTab.delete`)})]})]})}export{D as HistoryTab};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{Button as e}from"../../../../../ui/button.mjs";import{useUserStore as t}from"../../../../../../store/modules/user-store.mjs";import{pInteractionUnifiedBatchLikeDislike as n}from"../../../../../../service/generated/client.mjs";import{Box as r}from"../../../../../ui/box.mjs";import{Checkbox as i}from"../../../../../ui/checkbox.mjs";import{Tabs as a,TabsList as o,TabsTrigger as s}from"../../../../../ui/tabs.mjs";import{Text as c}from"../../../../../ui/text.mjs";import{useMutation as l,usePaginated as u,useUpdateRequest as d}from"../../../../../../hooks/query/use-query.mjs";import{useAppContext as ee}from"../../../../../../hooks/use-app-context/index.mjs";import{PostList as f}from"../../../../../common/list/post-list/post-list.mjs";import{VideoList as te}from"../../../../../common/list/video-list/video-list.mjs";import{getLikeData as p,likeContentType as m}from"../../../utils.mjs";import{useEffect as h,useMemo as g,useState as _}from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{toast as b}from"sonner";import{useTranslations as x}from"next-intl";import{parseAsString as ne,useQueryState as S}from"nuqs";function C(e,t,n){if(!e)return e;let r=0,i=e.pages.map(e=>({page:e,filteredList:(e.data?.list??[]).filter(e=>{let i=n(e)??``,a=t.has(i);return a&&(r+=1),!a})}));return{...e,pages:i.map(({page:e,filteredList:t})=>{if(!e.data)return e;let n=typeof e.data.total==`number`?Math.max(0,e.data.total-r):e.data.total;return{...e,data:{...e.data,list:t,total:n}}})}}function w(e){let{detail:t}=e,{info:n,publish_time:r}=t;return{id:e.id,title:n?.name||n?.text||n?.content||``,coverImage:n?.cover_image_thumbnail||n?.cover_image||n?.cover_horizontal_image_thumbnail||``,publishTime:r??0}}function T(e){let{detail:t}=e,{user_info:n,info:r,statics_cnt:i,publish_time:a,parent_content_info:o}=t;return{id:e.id,is_more_link:r?.is_more_link||!1,title:r?.name||r?.text||r?.content||``,coverImage:r?.cover_image_thumbnail||r?.cover_image||r?.cover_horizontal_image_thumbnail||``,duration:Number(r?.video_duration??0),progress:e.content_play_progress?.percent??0,seriesNum:e.content_play_progress?.series_num,authorName:n?.name||``,viewCount:r?.play_count??i?.browse_cnt??0,publishTime:a??0,type:o?.type}}const E=[`video`,`post`];function D({targetUserId:D,queryKeyPrefix:re,isMine:O=!1}){let k=x(`components.pages.profile.components.tabs`),A=ee()===`renderer`,j=re??[],[M,N]=S(`likeTab`,ne.withDefault(`video`)),P=g(()=>E.includes(M)?M:`video`,[M]),[F,I]=_(!1),[L,R]=_(()=>new Set),z=t(e=>e.userId),B=d(),V=[...j,`user-like-video`],H=[...j,`user-like-post`],U=u({key:V,initialPageParam:1,async queryFn(e){return p({targetUserId:D,page:e,contentType:m.video})},options:{staleTime:0,enabled:A},getNextPageParam(e,t){if(typeof e?.data?.has_more==`boolean`)return e.data.has_more?t.length+1:void 0;if(!((e?.data?.list??[]).length===0||e?.data?.total===0))return t.length+1}}),W=u({key:H,options:{staleTime:0,enabled:A},initialPageParam:1,async queryFn(e){return p({targetUserId:D,page:e,contentType:m.post})},getNextPageParam(e,t){if(typeof e?.data?.has_more==`boolean`)return e.data.has_more?t.length+1:void 0;if(!((e?.data?.list??[]).length===0||e?.data?.total===0))return t.length+1}}),G=P===`video`?U:W,K=U.data?.pages.flatMap(e=>(e.data?.list??[]).map(T))??[],q=W.data?.pages.flatMap(e=>(e.data?.list??[]).map(w))??[],J=P===`video`?K:q,Y=new Set(J.map(e=>e.id)),X=P===`video`,{mutateAsync:ie,isPending:Z}=l(async e=>await n({app_id:0,user_id:z,action:`cancel_like`,content_ids:e,content_type:X?1:2})),ae=()=>{I(!F),R(new Set)};h(()=>{R(new Set)},[P]),h(()=>{M!==P&&N(P)},[P,M,N]);let Q=e=>{R(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},oe=()=>{L.size===Y.size&&Y.size>0?R(new Set):R(new Set(Y))},se=async()=>{if(!(L.size===0||Z)){if(!z){b.error(k(`likeTab.pleaseLogin`));return}try{let e=Array.from(L),t=await ie(e);if(t.code===0){b.success(k(`likeTab.unlikedSuccess`));let t=new Set(e);B(X?V:H,e=>C(e,t,e=>e.id)),R(new Set),I(!1)}else b.error(t.message||k(`likeTab.unlikeFailed`))}catch(e){console.error(`取消点赞失败`,e),b.error(k(`likeTab.operationFailed`))}}},$=async()=>{A&&await G.fetchNextPage()};return y(r,{children:[y(r,{className:`flex justify-between items-center`,children:[v(a,{value:P,onValueChange:e=>{N(e)},children:y(o,{variant:`tag`,children:[v(s,{value:`video`,className:`text-sm`,children:k(`likeTab.video`)}),v(s,{value:`post`,className:`text-sm`,children:k(`likeTab.posts`)})]})}),O&&v(`button`,{onClick:ae,className:`text-sm text-text3`,children:k(F?`likeTab.cancel`:`likeTab.edit`)})]}),v(r,{className:`pt-2`,children:P===`video`?v(te,{list:K,loading:G.isFetching,hasMore:G.hasNextPage??!1,loadMore:$,isEditMode:F,selectedIds:L,showVideoProgress:!1,onToggleSelection:Q}):v(f,{list:q,loading:G.isFetching,hasMore:G.hasNextPage??!1,loadMore:$,isEditMode:F,selectedIds:L,onToggleSelection:Q})}),F&&y(r,{style:{bottom:`calc(56px + env(safe-area-inset-bottom, 0px))`},className:`flex fixed z-10 left-0 w-full items-center justify-between px-3 py-2 bg-bg1 `,children:[y(r,{className:`flex items-center gap-2`,children:[v(i,{checked:L.size===Y.size&&Y.size>0,onCheckedChange:oe}),v(c,{className:`text-sm text-text1`,children:k(`likeTab.selectAll`)})]}),v(e,{className:`rounded-full py-2.5 h-auto px-6.5`,variant:L.size>0?`default`:`outline`,disabled:L.size===0||Z,onClick:se,children:k(Z?`likeTab.processing`:`likeTab.delete`)})]})]})}export{D as LikeTab};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{pCommunityDeleteContent as e}from"../../../../../../service/generated/client.mjs";import{DeleteConfirmDialog as t}from"../../../../../common/delete-confirm-dialog/delete-confirm-dialog.mjs";import{useDeleteRequest as n,useMutation as r,usePaginated as i,useUpdateRequest as a}from"../../../../../../hooks/query/use-query.mjs";import{useAppContext as o}from"../../../../../../hooks/use-app-context/index.mjs";import{UserActivityList as s}from"../../../../../common/list/user-activity-list/user-activity-list.mjs";import{getPublishData as c}from"../../../utils.mjs";import{useState as l}from"react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{toast as p}from"sonner";import{useTranslations as m}from"next-intl";function h(e,t,n){if(!e)return e;let r=0,i=e.pages.map(e=>({page:e,filteredList:(e.data?.list??[]).filter(e=>{let i=n(e)??``,a=t.has(i);return a&&(r+=1),!a})}));return{...e,pages:i.map(({page:e,filteredList:t})=>{if(!e.data)return e;let n=typeof e.data.total==`number`?Math.max(0,e.data.total-r):e.data.total;return{...e,data:{...e.data,list:t,total:n}}})}}function g({targetUserId:g,queryKeyPrefix:_,isMine:v=!1}){let y=m(`components.pages.profile.components.tabs`),b=o()===`renderer`,x=_??[],S=n(),C=a(),[w,T]=l(null),{mutateAsync:E,isPending:D}=r(async t=>await e({content_id:t})),{data:O,isFetching:k,fetchNextPage:A,hasNextPage:j}=i({key:[...x,`user-publish`],initialPageParam:1,async queryFn(e){return c({targetUserId:g,page:e})},options:{staleTime:0,enabled:b},getNextPageParam(e,t){let n=e?.data||{},r=n.list||[];if(typeof n.has_more==`boolean`)return n.has_more?t.length+1:void 0;if(!(r.length===0||n.total===0))return t.length+1}}),M=O?.pages.flatMap(e=>(e?.data||{}).list||[])??[];function N(e){T(e)}function P(){T(null)}async function F(){if(!(!w||D))try{await E(w);let e=new Set([w]);C([...x,`user-publish`],t=>h(t,e,e=>e.content_id)),p.success(y(`publishTab.deleteSuccess`)),T(null)}catch(e){console.error(`删除内容失败`,e),p.error(y(`publishTab.deleteFailed`))}}let I=M.map(e=>({...e,isDeleting:D&&w===e.content_id,onDelete:()=>N(e.content_id??``)})),L=async()=>{b&&await A()};function R(){S([...x,`user-publish`]),S(x)}function z(e){console.log(`分享到微信:`,e)}function B(e){console.log(`分享到QQ:`,e)}function V(e){console.log(`分享到朋友圈:`,e)}return f(u,{children:[d(s,{list:I,loading:k,hasMore:j,loadMore:L,canEdit:v,showGroupHeaders:!1,emptyText:y(`publishTab.emptyText`),onActionSuccess:R,onShareWeChat:z,onShareQQ:B,onShareMoments:V}),d(t,{open:!!w,onOpenChange:e=>!e&&P(),onCancel:P,onConfirm:F,isConfirming:D})]})}export{g as PublishTab};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{Button as t}from"../../../../ui/button.mjs";import{useUserStore as n}from"../../../../../store/modules/user-store.mjs";import{gUserGetUserInfo as r,gUserViewUserInfo as i,pInteractionFollow as a,pInteractionUnfollow as o}from"../../../../../service/generated/client.mjs";import{Box as s}from"../../../../ui/box.mjs";import{Skeleton as c}from"../../../../ui/skeleton.mjs";import{Text as l}from"../../../../ui/text.mjs";import{useDeleteRequest as u,useMutation as d,useRequest as f,useUpdateRequest as p}from"../../../../../hooks/query/use-query.mjs";import{useAppContext as m}from"../../../../../hooks/use-app-context/index.mjs";import{useLoginModalStore as h}from"../../../../../store/modules/login-modal-store.mjs";import{LeftArrowIcon as g}from"../../../../common/icons/left-arrow.mjs";import{SettingIcon as _}from"../../../../common/icons/setting.mjs";import{UserProfileAvatar as v}from"./user-profile-avatar.mjs";import{UserProfileCoverBackground as y}from"./user-profile-cover-background.mjs";import{useRouter as b}from"next/navigation";import{useMemo as ee}from"react";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{toast as C}from"sonner";import{useTranslations as w}from"next-intl";import T from"next/link";const E=`https://guadd-sg-ccs-sing-dev.s3.ap-southeast-1.amazonaws.com/default/default_avatar.png`,D=`/images/mine/img_mine_head_bg.png`;function O({userId:e,currentUserId:n,isFollowing:r}){let i=w(`components.pages.profile`),{open:s}=h(),c=u(),l=p(),{mutateAsync:f,isPending:m}=d(async e=>a(e)),{mutateAsync:g,isPending:_}=d(async e=>o(e)),v=m||_;async function y(){if(!v){if(!n){s();return}try{if(r){let t=await g({app_id:0,follower_id:n,followee_id:e});t.code===0?(C.success(i(`client.unfollowSuccess`)),b(!1),c([`check-follow`,e]),c([`user-profile`,`profile`,e])):C.error(t.message||i(`client.unfollowFailed`))}else{let t=await f({app_id:0,follower_id:n,followee_id:e});t.code===0?(C.success(i(`client.followSuccess`)),b(!0),c([`check-follow`,e]),c([`user-profile`,`profile`,e])):C.error(t.message||i(`client.followFailed`))}}catch(e){console.error(`关注操作失败`,e),C.error(i(`client.operationFailed`))}}}function b(t){l([`user-profile`,`profile`,e],e=>!e||!e.data?e:{...e,data:{...e.data,is_following:t}})}return x(t,{variant:r?`outline`:`default`,className:`rounded-full disabled:opacity-100`,onClick:y,disabled:v,children:i(v?`client.processing`:r?`client.followed`:`client.follow`)})}function te({showBackButton:t=!0,className:n}){return S(s,{className:e(`flex flex-col relative`,n),children:[S(s,{className:`absolute top-0 p-3 z-10 flex items-center justify-between w-full`,children:[x(c,{className:e(`w-4 h-4 rounded-sm bg-muted`,{invisible:!t})}),x(c,{className:`w-4 h-4 rounded-sm bg-muted`})]}),x(s,{className:`h-33.75`,children:x(c,{className:`h-full w-full rounded-none bg-white/10`})}),S(s,{className:`flex-1 px-3`,children:[S(s,{className:`relative flex justify-end`,children:[x(c,{className:`!absolute bottom-3 left-0 w-22 h-22 rounded-full animate-none`}),S(s,{className:`flex divide-x divide-text1/5 py-4`,children:[S(s,{className:`px-4 flex flex-col items-center gap-1`,children:[x(c,{className:`w-8 h-4`}),x(c,{className:`w-10 h-3`})]}),S(s,{className:`px-4 flex flex-col items-center gap-1`,children:[x(c,{className:`w-8 h-4`}),x(c,{className:`w-10 h-3`})]}),S(s,{className:`px-4 flex flex-col items-center gap-1`,children:[x(c,{className:`w-8 h-4`}),x(c,{className:`w-10 h-3`})]})]})]}),S(s,{className:`flex items-center justify-between gap-1`,children:[x(c,{className:`h-6 w-26`}),x(c,{className:`h-9 w-20 rounded-full`})]}),x(c,{className:`h-4 w-2/3 mt-2`})]})]})}function k({id:a,showBackButton:o=!0,requireLogin:c=!1,cookieUserId:u,isEditorPreview:d=!1,className:p}){let C=w(`components.pages.profile`),k=w(`components.pages.profile.components`),A=m(),j=d||A===`editor`,M=!j,ne=b(),{open:N}=h(),{isLogin:re,userId:P,token:F}=n(),I=P||u,L=P,R=re&&!!P&&!!F,z=a==null||!!a&&!!L&&a===L,ie=!z&&!!a,B=z?[`user-profile`,`mine`]:[`user-profile`,`profile`,a],{data:V}=f(j?[`editor-preview`,...B]:B,()=>a?i({target_user_id:a,user_id:I||a}):r({user_id:a||I||``}),{staleTime:0,enabled:M&&(!!a||!!I)}),H=ee(()=>{let e=V?V.data:void 0;return e?{userId:e.user_id,isFollowing:e.is_following||!1,name:e.nick_name||`User${a??``}`,avatar:e.avatar||E,followingCnt:e.following_count??0,followersCnt:e.follower_count??0,likeCnt:e.like_count??0,signature:e.signature||``,background:e.bg_image||D}:{}},[a,V]),U=c&&z&&!R,W=!R&&ie,G=z&&R&&!U,K=!R,q={name:C(`client.welcomeToPlanet`),description:C(`client.exploreAdventures`),avatar:E,followingCnt:0,followersCnt:0,likeCnt:0,background:D};function J(){N()}function ae(){ne.back()}function Y(e){!z||R||(e.preventDefault(),e.stopPropagation(),N())}let oe=U?x(t,{className:`rounded-full`,size:`lg`,onClick:J,children:C(`client.loginNow`)}):W?x(t,{className:`rounded-full`,size:`lg`,onClick:J,children:C(`client.follow`)}):R?z?x(T,{href:`/edit`,children:x(t,{variant:`outline`,className:`rounded-full`,children:C(`client.editProfile`)})}):x(O,{userId:a||``,currentUserId:I,isFollowing:H?.isFollowing}):x(t,{className:`rounded-full`,size:`lg`,onClick:J,children:C(`client.loginNow`)}),X=U?q:H,Z=X.name||``,Q=X.description||X.signature||``,$=X.followingCnt??0,se=X.followersCnt??0,ce=X.likeCnt??0,le=X.avatar||``;return j?x(te,{showBackButton:o,className:p}):S(s,{className:e(`flex flex-col relative`,p),children:[S(s,{className:`absolute top-0 p-3 z-10 flex items-center justify-between w-full`,children:[x(`button`,{onClick:ae,className:e({invisible:!o}),children:x(g,{className:`w-4 h-4`})}),x(T,{href:`/settings`,className:e({invisible:!z}),children:x(_,{})})]}),x(y,{isMine:G,src:X.background,onUnauthorizedClick:K?J:void 0}),S(s,{className:`flex-1 px-3`,children:[S(s,{className:`relative flex justify-end`,children:[x(v,{isMine:G,src:le,alt:Z||`avatar`,onUnauthorizedClick:K?J:void 0}),S(s,{className:`flex divide-x divide-text1/5 py-4`,children:[x(T,{href:z?`/followed`:`/followed?user_id=${X.userId}`,onClick:Y,children:S(s,{className:`px-4 flex flex-col items-center`,children:[x(l,{className:`font-bold text-base`,children:$}),x(l,{className:`font-normal text-sm text-text1/66`,children:k(`userProfileHeader.follow`)})]})}),x(T,{href:z?`/fans`:`/fans?user_id=${X.userId}`,onClick:Y,children:S(s,{className:`px-4 flex flex-col items-center`,children:[x(l,{className:`font-bold text-base`,children:se}),x(l,{className:`font-normal text-sm text-text1/66`,children:k(`userProfileHeader.fans`)})]})}),S(s,{className:`px-4 flex flex-col items-center`,children:[x(l,{className:`font-bold text-base`,children:ce}),x(l,{className:`font-normal text-sm text-text1/66`,children:k(`userProfileHeader.likesReceived`)})]})]})]}),S(s,{className:`flex items-center justify-between gap-1`,children:[x(l,{as:`p`,className:`text-text1 text-xl line-clamp-2 font-bold`,children:Z}),oe]}),Q&&x(l,{as:`p`,className:`text-sm py-1 line-clamp-3 text-text1/66`,children:Q})]})]})}export{k as UserProfileHeaderClient};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{useUserStore as t}from"../../../../../store/modules/user-store.mjs";import{pUserEditUserInfo as n}from"../../../../../service/generated/client.mjs";import{uploadFile as r}from"../../../../../utils/upload-file.mjs";import{Avatar as i,AvatarFallback as a,AvatarImage as o}from"../../../../ui/avatar.mjs";import{Dialog as s,DialogContent as c}from"../../../../ui/dialog.mjs";import{useDeleteRequest as l}from"../../../../../hooks/query/use-query.mjs";import{ImageCropModal as u}from"../../../../common/image-crop-modal/image-crop-modal.mjs";import{useRef as d,useState as f}from"react";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";import{toast as g}from"sonner";const _=`https://guadd-sg-ccs-sing-dev.s3.ap-southeast-1.amazonaws.com/default/default_avatar.png`,v=[`image/jpeg`,`image/png`];function y(e){let t=e.name.toLowerCase(),n=e.type.toLowerCase();return v.includes(n)||/\.(?:jpg|jpeg|png)$/i.test(t)}function b({isMine:v,src:b,alt:x,onUnauthorizedClick:S}){let C=d(null),{userId:w,setUserInfo:T,userInfo:E}=t(),D=l(),[O,k]=f(!1),[A,j]=f(!1),[M,N]=f(``),[P,F]=f(!1);function I(){if(!P){if(v){k(!0);return}S?.()}}function L(){M&&(URL.revokeObjectURL(M),N(``))}function R(){k(!1)}function z(){P||C.current?.click()}function B(e){let t=e.target.files?.[0];if(t){if(!y(t)){g.error(`仅支持 JPG/JPEG/PNG 格式`),e.target&&(e.target.value=``);return}N(URL.createObjectURL(t)),j(!0),e.target&&(e.target.value=``)}}async function V(e){if(!w){g.error(`请先登录后再试`);return}try{F(!0);let t=await r(new File([e],`avatar.jpg`,{type:`image/jpeg`}),1);await n({user_id:String(w),avatar:t.objectKey}),T({...E,avatar:t.objectKey}),D([`user-profile`,`mine`]),D([`user-edit-info`,String(w)]),k(!1),j(!1),g.success(`更换完成`)}catch(e){console.error(`上传头像失败`,e),g.error(`头像上传失败,请稍后再试`)}finally{L(),F(!1)}}function H(){j(!1),L()}return h(p,{children:[v||S?m(`button`,{type:`button`,className:`!absolute bottom-3 left-0 cursor-pointer focus-within:outline-none`,onClick:I,children:h(i,{className:`w-22 h-22`,children:[m(o,{src:b||_,alt:x||`avatar`}),m(a,{})]})}):h(i,{className:`!absolute bottom-3 left-0 w-22 h-22`,children:[m(o,{src:b||_,alt:x||`avatar`}),m(a,{})]}),m(s,{open:O,onOpenChange:R,children:m(c,{showCloseButton:!1,className:`bg-black !m-0 !p-0 !fixed !inset-0 !w-screen !h-screen !max-w-none !rounded-none !top-0 !left-0 !translate-x-0 !translate-y-0 !transform-none z-[9999] !pointer-events-auto`,children:h(`div`,{className:`relative flex h-full w-full flex-col items-center justify-center`,children:[m(`button`,{type:`button`,className:`absolute left-0 top-0 flex h-14 w-14 items-center justify-center text-white transition-colors hover:text-white/80 focus-within:outline-none`,onClick:R,children:m(`svg`,{className:`w-4 h-4`,xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,viewBox:`0 0 16 16`,children:m(`path`,{d:`M14.55.2a.889.889 0 0 1 1.25 1.25l-.06.067L9.255 8l6.483 6.482.06.069a.888.888 0 0 1-1.25 1.25l-.067-.062L8 9.256l-6.482 6.483A.888.888 0 1 1 .26 14.482L6.742 8 .26 1.517.2 1.45A.888.888 0 0 1 1.45.2l.067.062 6.482 6.482L14.482.261l.068-.062Z`})})}),h(i,{className:`w-50 h-50`,children:[m(o,{src:b||_,alt:x||`avatar`}),m(a,{})]}),h(`button`,{type:`button`,className:e(`absolute bottom-8 left-0 right-0 mx-auto flex w-[366px] max-w-[90%] items-center justify-between rounded-3xl bg-white/10 px-3 py-3 transition-colors hover:bg-white/20`,`active:scale-95`),onClick:z,disabled:P,children:[m(`span`,{className:`text-base font-medium text-white`,children:P?`上传中...`:`更换头像`}),h(`svg`,{className:`w-6 h-6 text-white`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,children:[m(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z`}),m(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M15 13a3 3 0 11-6 0 3 3 0 016 0z`})]})]})]})})}),m(`input`,{ref:C,type:`file`,accept:`.jpg,.jpeg,.png,image/jpeg,image/png`,className:`hidden`,onChange:B}),m(u,{open:A,onClose:H,imageSrc:M,onConfirm:V})]})}export{b as UserProfileAvatar};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{useUserStore as e}from"../../../../../store/modules/user-store.mjs";import{pUserUploadUserBgImage as t}from"../../../../../service/generated/client.mjs";import{uploadFile as n}from"../../../../../utils/upload-file.mjs";import{Image as r}from"../../../../ui/image.mjs";import{Box as i}from"../../../../ui/box.mjs";import{useDeleteRequest as a}from"../../../../../hooks/query/use-query.mjs";import{BackgroundPreviewModal as o}from"../../../../common/background-preview-modal/background-preview-modal.mjs";import{showImageCrop as s}from"../../../../common/image-crop/show-image-crop.mjs";import{useState as c}from"react";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";import{toast as f}from"sonner";const p=[`image/jpeg`,`image/png`];function m(e){let t=e.name.toLowerCase(),n=e.type.toLowerCase();return p.includes(n)||/\.(?:jpg|jpeg|png)$/i.test(t)}function h({isMine:p,src:h,onUnauthorizedClick:g}){let _=`/images/mine/img_mine_head_bg.png`,{userId:v,setUserInfo:y,userInfo:b}=e(),x=a(),[S,C]=c(!1),[w,T]=c(!1);return d(l,{children:[u(i,{className:`h-33.75`,children:u(i,{className:`relative h-full w-full`,onClick:()=>{if(p){S||T(!0);return}g?.()},children:u(r,{alt:`cover background`,fill:!0,objectFit:`cover`,className:`pointer-events-none`,src:h||_})})}),u(o,{open:w,onClose:()=>{T(!1)},bgUrl:h||_,onUpload:async()=>{try{let e=document.createElement(`input`);e.type=`file`,e.accept=`.jpg,.jpeg,.png,image/jpeg,image/png`;let r=await new Promise((t,n)=>{e.onchange=e=>{let r=e.target.files?.[0];r?t(r):n(Error(`未选择文件`))},e.oncancel=()=>n(Error(`用户取消`)),e.click()});if(!m(r)){f.error(`仅支持 JPG/JPEG/PNG 格式`);return}C(!0);let i=await n(await s(r,{aspectRatio:430/256,cropShape:`rect`,quality:.92,maxWidth:1920,maxHeight:1920}),1);await t({user_id:String(v),bg_image:i.objectKey}),y({...b,bg_image:i.objectKey}),x([`user-profile`,`mine`]),T(!1),f.success(`更换完成`)}catch(e){console.error(`上传背景图失败`,e),e instanceof Error&&e.message!==`用户取消`&&f.error(`背景图上传失败,请稍后再试`)}finally{C(!1)}}})]})}export{h as UserProfileCoverBackground};
@@ -1,2 +0,0 @@
1
-
2
- import{gUserViewUserInfo as e}from"../../../../../service/generated/client.mjs";import{getAppContextResolved as t}from"../../../../../hooks/get-app-context.mjs";import{CollectTabServer as n}from"../tabs/collect-tab/server.mjs";import{HistoryTabServer as r}from"../tabs/history-tab/server.mjs";import{LikeTabServer as i}from"../tabs/like-tab/server.mjs";import{PublishTabServer as a}from"../tabs/publish-tab/server.mjs";import{UserProfileMainShell as o}from"./shell.mjs";import{jsx as s}from"react/jsx-runtime";function c({isMine:e,tab:t}){let n=e?[`collect`,`publish`,`like`,`history`]:[`collect`,`publish`,`like`];return t&&n.includes(t)?t:n[0]}function l(e,t,n){return e&&t.includes(e)?e:n}function u(e,t){return e&&(t===`collect`||t===`like`)}async function d({id:d,showCreateAction:f=!1,requireLogin:p=!1,cookieToken:m,cookieUserId:h,className:g,token:_=``,currentUserId:v=``,authConfig:y,tab:b,likeTab:x,historyTab:S,collectTab:C,collectCollectionTab:w}){let T=(await t()).value===`editor`,E=_||m||``,D=v||h||``,O=!!E,k=d==null||!!D&&d===D,A=!k&&!!d,j=k?D:d?String(d):void 0,M=k?[`user-profile`,`mine`]:[`user-profile`,`profile`,d],N=c({isMine:k,tab:b}),P=`content`;if(p&&k&&!O&&(P=`login-required`),!T&&P===`content`&&u(A,N)){let t=(await e({target_user_id:String(d),user_id:D||String(d)},y))?.data??{},n=Number(t.collections_open??1)>0,r=Number(t.like_open??1)>0;N===`collect`&&!n&&(P=`privacy-collect`),N===`like`&&!r&&(P=`privacy-like`)}let F=T?[]:void 0,I=null;if(P===`content`)switch(N){case`publish`:I=s(a,{isMine:k,targetUserId:j,queryKeyPrefix:M,prefetch:F});break;case`like`:I=s(i,{isMine:k,targetUserId:j,queryKeyPrefix:M,resolvedLikeTab:l(x,[`video`,`post`],`video`),prefetch:F});break;case`history`:I=s(r,{targetUserId:j,queryKeyPrefix:M,resolvedHistoryTab:l(S,[`video`,`post`],`video`),authConfig:y,prefetch:F});break;default:I=s(n,{isMine:k,userId:j,showCreateAction:f&&k,queryKeyPrefix:M,resolvedCollectTab:l(C,[`video`,`post`,`collection`],`video`),resolvedCollectCollectionTab:l(w,[`created`,`subscribed`],`created`),authConfig:y,prefetch:F});break}return s(o,{isMine:k,renderMode:P,className:g,children:I})}export{d as UserProfileMain};
@@ -1,2 +0,0 @@
1
-
2
- "use client";import{cn as e}from"../../../../../utils/cn.mjs";import{Button as t}from"../../../../ui/button.mjs";import{Box as n}from"../../../../ui/box.mjs";import{EmptyState as r}from"../../../../ui/empty.mjs";import{Tabs as i,TabsList as a,TabsTrigger as o}from"../../../../ui/tabs.mjs";import{Text as s}from"../../../../ui/text.mjs";import{useLoginModalStore as c}from"../../../../../store/modules/login-modal-store.mjs";import{useEffect as l,useMemo as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{useTranslations as p}from"next-intl";import{parseAsString as m,useQueryState as h}from"nuqs";const g=[`collect`,`publish`,`like`,`history`],_=[`collect`,`publish`,`like`];function v(e){return e?g:_}function y(e,t){let n=v(t);return n.includes(e)?e:n[0]}function b({isMine:g,renderMode:_,className:b,children:x}){let S=p(`components.pages.profile`),{open:C}=c(),w=v(g),[T,E]=h(`tab`,m.withDefault(`collect`)),D=u(()=>y(T,g),[g,T]);l(()=>{T!==D&&E(D,{shallow:!1})},[D,E,T]);let O={collect:S(`client.collect`),publish:S(`client.publish`),like:S(`client.like`),history:S(`client.history`)},k=x;return _===`login-required`?k=f(n,{className:`flex gap-4 flex-col items-center justify-center py-10 text-center`,children:[d(s,{className:`text-base text-text1`,children:S(`client.loginToView`)}),d(t,{size:`lg`,variant:`secondary`,onClick:C,children:S(`client.loginNow`)})]}):_===`privacy-collect`?k=d(r,{type:`no-content`,text:S(`client.collectionNotPublic`)}):_===`privacy-like`&&(k=d(r,{type:`no-content`,text:S(`client.likeNotPublic`)})),f(n,{className:e(b),children:[d(n,{className:`border-b bg-bg1 sticky z-10 top-0 border-text1/5 h-10`,children:d(i,{value:D,onValueChange:e=>{E(e,{shallow:!1})},className:`w-fit`,children:d(a,{variant:`default`,className:`inline-flex h-9`,children:w.map(e=>d(o,{value:e,className:`p-2.5 !text-base !w-fit data-active:!text-lg data-active:font-bold`,children:O[e]},e))})})}),d(`div`,{className:`p-2`,children:k})]})}export{b as UserProfileMainShell};
@@ -1,2 +0,0 @@
1
-
2
- import{gCommunityGetContentList as e,gInteractionGetBrowseList as t,gInteractionGetLikeList as n}from"../../../service/generated/client.mjs";import r from"dayjs";const i=10,a={video:1,post:2};function o(e){if(e.cover_image)return e.cover_image;let t=``;return e.medias?.find(e=>e?(!e.is_video&&!t&&e.media_url&&(t=e.media_url),!!e.cover_image):!1)?.cover_image||t}function s(e,t){let n=e.name,i=r(t?t?.[e.content_id||``]?.create_time:e.create_time).toDate().getTime(),a=o(e);return{id:e.content_id||``,content_play_progress:{percent:0,series_num:0},detail:{user_info:{name:e.author?.nickname,avatar:e.author?.avatar},info:{name:n,content_id:e.content_id,user_id:e.user_id,content:e.content,tags:e.tags,cover_image:a,like_count:e.like_count,dislike_count:e.dislike_count,comment_count:e.comment_count,share_count:e.share_count,view_count:e.view_count,create_time:e.create_time,update_time:e.update_time,author:e.author?{user_id:e.author.user_id,username:e.author.username,nickname:e.author.nickname,avatar_url:e.author.avatar}:void 0},statics_cnt:{browse_cnt:e.view_count||0},publish_time:i,parent_content_info:{type:0}}}}function c(e,t){let n=e.is_more_link,i=r(t?t?.[e.id||``]?.create_time:e.show_at).toDate().getTime(),a=Number(e.duration??0),o=Number.isFinite(a)?Math.max(0,Math.floor(a)):0;return{id:e.id||``,content_play_progress:{percent:0,series_num:0},detail:{user_info:{name:e.source_username||e.up_user||e.director||e.actor,avatar:void 0},info:{is_more_link:n,name:e.name,content_id:e.id,content:e.description,tags:e.tags?.map(e=>e.name).filter(e=>!!e),cover_image:e.img_y||e.img_x,create_time:e.show_at,video_duration:o},statics_cnt:{browse_cnt:e.play_count||0},publish_time:i,parent_content_info:{type:0}}}}function l(e,t){let n=e.name,i=e.is_more_link,a=t[e.content_id||``].browse_time,s=r(a).toDate().getTime(),c=o(e);return{id:e.content_id||``,content_play_progress:{percent:0,series_num:0},detail:{user_info:{name:e.author?.nickname,avatar:e.author?.avatar},info:{is_more_link:i,name:n||e.content,title:n||e.content,content_id:e.content_id,user_id:e.user_id,content:e.content,tags:e.tags,cover_image:c,like_count:e.like_count,dislike_count:e.dislike_count,comment_count:e.comment_count,share_count:e.share_count,view_count:e.view_count,create_time:e.create_time,update_time:e.update_time,author:e.author?{user_id:e.author.user_id,username:e.author.username,nickname:e.author.nickname,avatar_url:e.author.avatar}:void 0},statics_cnt:{browse_cnt:e.view_count||0},publish_time:s,parent_content_info:{type:0}}}}function u(e,t){let n=e.is_more_link,i=t[e.id||``].browse_time,a=r(i).toDate().getTime(),o=Number(e.duration??0),s=Number.isFinite(o)?Math.max(0,Math.floor(o)):0,c=t[e.id||``]?.browse_duration||0,l=Number(t[e.id||``]?.browse_episode),u=0,d=0;return Number.isNaN(l)||(u=l),s&&c&&(d=Math.min(100,Math.floor(c/s*100))),{id:e.id||``,content_play_progress:{percent:d,series_num:u},detail:{user_info:{name:e.source_username||e.up_user||e.director||e.actor,avatar:void 0},info:{is_more_link:n,name:e.name,content_id:e.id,content:e.description,tags:e.tags?.map(e=>e.name).filter(e=>!!e),cover_image:e.img_y||e.img_x,create_time:e.show_at,video_duration:s},statics_cnt:{browse_cnt:e.play_count||0},publish_time:a,parent_content_info:{type:0}}}}async function d({targetUserId:t,page:n,pageSize:r=10}){if(!t)return{data:{list:[],total:0}};let i=await e({user_id:t,page:n,page_size:r}),a=i.data?.data?.contents??[];return{data:{list:a,total:i.data?.data?.total??a.length,has_more:i.data?.data?.has_more?!0:void 0}}}async function f({targetUserId:e,page:t,contentType:r,pageSize:i=10}){if(!e)return{data:{list:[],total:0}};let o=await n({user_id:e,page:t,content_type:r,page_size:i}),l=o.data.like_infos?.reduce((e,t)=>(t.content_id&&(e[t.content_id]=t),e),{})||{},u=r===a.post?(o.data?.post_infos??[]).map(e=>s(e,l)):(o.data?.video_infos??[]).map(e=>c(e,l)),d=o.data?.has_more,f=typeof d==`boolean`?d:void 0;return{data:{list:u,total:o.data?.total??u.length,has_more:f}}}async function p({targetUserId:e,page:n,contentType:r,pageSize:i=10,authConfig:o}){if(!e)return{data:{list:[],total:0}};let s=await t({user_id:e,page:n,page_size:i,content_type:r},o),c=s.data.records?.reduce((e,t)=>(t.content_id&&(e[t.content_id]=t),e),{})||{},d=r===a.post?(s.data?.post_infos??[]).map(e=>l(e,c)):(s.data?.video_infos??[]).map(e=>u(e,c)),f=s.data?.has_more?!0:void 0;return{data:{list:d,total:s.data?.total??d.length,has_more:f}}}export{i as defaultPageSize,p as getHistoryData,f as getLikeData,d as getPublishData,a as likeContentType};