@funhub/platform 0.1.72 → 0.1.74

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.
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{Button as e}from"../../../../ui/button.mjs";import{useUserStore as t}from"../../../../../store/modules/user-store.mjs";import{Avatar as n,AvatarFallback as r,AvatarImage as i}from"../../../../ui/avatar.mjs";import{useLoginModalStore as a}from"../../../../../store/modules/login-modal-store.mjs";import o from"../../../../../assets/icons/search/avatar.mjs";import{jsx as s,jsxs as c}from"react/jsx-runtime";import l from"next/link";import{useShallow as u}from"zustand/react/shallow";function d(){let{isLogin:d,userInfo:f}=t(u(e=>({isLogin:e.isLogin,userInfo:e.userInfo}))),p=a(e=>e.open),m=f?.avatar_url||f?.avatar||void 0;return d?s(l,{href:`/mine`,children:c(n,{className:`w-[36px] h-[36px]`,children:[s(i,{src:m,alt:`用户头像`}),s(r,{})]})}):s(e,{onClick:p,"aria-label":`登录`,className:`inline-flex rounded-full w-[36px] h-[36px] bg-transparent p-0 m-0`,children:s(o,{className:`w-[36px] h-[36px]`})})}export{d as UserAvatar};
2
+ "use client";import{Button as e}from"../../../../ui/button.mjs";import{useUserStore as t}from"../../../../../store/modules/user-store.mjs";import{Avatar as n,AvatarFallback as r,AvatarImage as i}from"../../../../ui/avatar.mjs";import{useLoginModalStore as a}from"../../../../../store/modules/login-modal-store.mjs";import o from"../../../../../assets/icons/search/avatar.mjs";import{jsx as s,jsxs as c}from"react/jsx-runtime";import l from"next/link";import{useShallow as u}from"zustand/react/shallow";function d(){let{isLogin:d,userInfo:f}=t(u(e=>({isLogin:e.isLogin,userInfo:e.userInfo}))),p=a(e=>e.open),m=f?.avatar_url||f?.avatar||void 0;return d?s(l,{href:`/user/mine`,children:c(n,{className:`w-[36px] h-[36px]`,children:[s(i,{src:m,alt:`用户头像`}),s(r,{})]})}):s(e,{onClick:p,"aria-label":`登录`,className:`inline-flex rounded-full w-[36px] h-[36px] bg-transparent p-0 m-0`,children:s(o,{className:`w-[36px] h-[36px]`})})}export{d as UserAvatar};
@@ -1,2 +1,2 @@
1
1
 
2
- import e from"./client.mjs";import{normalizeHomeRecommendRuntimeProps as t}from"../shared/home-recommend-runtime-props.mjs";import{resolveHomeRecommendServerData as n}from"../shared/home-recommend-server-data.mjs";import{jsx as r}from"react/jsx-runtime";function i({rows:e,columns:t,smartTagEnabled:n,items:r}){let i=Array.isArray(r)?r.length:0;if(n!==!0&&i>0)return i;let a=Number(e),o=Number(t);if(!Number.isFinite(a)||!Number.isFinite(o))return 16;let s=Math.floor(a)*Math.floor(o);return!Number.isFinite(s)||s<=0?16:s}async function a(a){let{mode:o=`renderer`,...s}=a,c=t(s);if(o!==`renderer`)return r(e,{...c,mode:o});let l=await n({smartTagEnabled:c.smartTagEnabled,smartTagIds:c.smartTagIds,catId:c.catId,enableInfinite:c.enableInfinite,pageSize:i(c),items:c.items});return r(e,{...c,prefetchData:l.data,mode:o})}export{a as HomeRecommendGrid};
2
+ import e from"./client.mjs";import{normalizeHomeRecommendRuntimeProps as t}from"../shared/home-recommend-runtime-props.mjs";import{resolveHomeRecommendServerData as n}from"../shared/home-recommend-server-data.mjs";import{jsx as r}from"react/jsx-runtime";function i({rows:e,columns:t,smartTagEnabled:n,enableInfinite:r,items:i}){if(r===!0)return 16;let a=Array.isArray(i)?i.length:0;if(n!==!0&&a>0)return a;let o=Number(e),s=Number(t);if(!Number.isFinite(o)||!Number.isFinite(s))return 16;let c=Math.floor(o)*Math.floor(s);return!Number.isFinite(c)||c<=0?16:c}async function a(a){let{mode:o=`renderer`,...s}=a,c=t(s);if(o!==`renderer`)return r(e,{...c,mode:o});let l=await n({smartTagEnabled:c.smartTagEnabled,smartTagIds:c.smartTagIds,catId:c.catId,enableInfinite:c.enableInfinite,pageSize:i(c),items:c.items});return r(e,{...c,prefetchData:l.data,mode:o})}export{a as HomeRecommendGrid};
@@ -1,2 +1,2 @@
1
1
 
2
- import e from"./client.mjs";import{normalizeHomeRecommendRuntimeProps as t}from"../shared/home-recommend-runtime-props.mjs";import{resolveHomeRecommendServerData as n}from"../shared/home-recommend-server-data.mjs";import{jsx as r}from"react/jsx-runtime";function i(e){let t=Array.isArray(e)?e.length:0;return t<=0?16:t}async function a(a){let{mode:o=`renderer`,...s}=a,c=t(s);if(o!==`renderer`)return r(e,{...c,mode:o});let l=await n({smartTagEnabled:c.smartTagEnabled,smartTagIds:c.smartTagIds,catId:c.catId,enableInfinite:c.enableInfinite,pageSize:i(c.items),items:c.items});return r(e,{...c,prefetchData:l.data,mode:o})}export{a as HomeRecommendWaterfall};
2
+ import e from"./client.mjs";import{normalizeHomeRecommendRuntimeProps as t}from"../shared/home-recommend-runtime-props.mjs";import{resolveHomeRecommendServerData as n}from"../shared/home-recommend-server-data.mjs";import{jsx as r}from"react/jsx-runtime";function i(e,t){if(e===!0)return 16;let n=Array.isArray(t)?t.length:0;return n<=0?16:n}async function a(a){let{mode:o=`renderer`,...s}=a,c=t(s);if(o!==`renderer`)return r(e,{...c,mode:o});let l=await n({smartTagEnabled:c.smartTagEnabled,smartTagIds:c.smartTagIds,catId:c.catId,enableInfinite:c.enableInfinite,pageSize:i(c.enableInfinite,c.items),items:c.items});return r(e,{...c,prefetchData:l.data,mode:o})}export{a as HomeRecommendWaterfall};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{pContentGetPopularVideoList as e}from"../../../../../service/generated/client.mjs";import{Image as t}from"../../../../ui/image.mjs";import{Box as n}from"../../../../ui/box.mjs";import{Text as r}from"../../../../ui/text.mjs";import i from"../../../../../assets/icons/detail/video_flag.mjs";import{MiniThreeCard as a}from"../../../../common/cards/mini-three-card.mjs";import{HOME_RECOMMEND_DEFAULT_GRID_COLUMNS as o,HOME_RECOMMEND_DEFAULT_GRID_ROWS as s,HOME_RECOMMEND_DEFAULT_PLAY_COUNT_DELTA as c,HOME_RECOMMEND_DEFAULT_SHOW_EPISODE as l,HOME_RECOMMEND_DEFAULT_SHOW_PLAY_COUNT as u,HOME_RECOMMEND_MAX_GRID_COLUMNS as ee,HOME_RECOMMEND_MAX_GRID_ROWS as te}from"./home-recommend-default-config.mjs";import{HOME_RECOMMEND_CARD_CONFIG_FIELD as d}from"./home-recommend-preview.mjs";import{useCallback as f,useEffect as p,useLayoutEffect as m,useMemo as h,useRef as g,useState as _}from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{useRouter as ne}from"next/navigation";const re={},ie={list:[]};function b({variant:t,props:i=re,data:a=ie,mode:d=`renderer`}){let b=d===`editor`,S=ne(),{list:C,title:T,cursor:E}=a,D=h(()=>Array.isArray(C)?C:[],[C]),O=h(()=>Array.isArray(a.icons)?a.icons:[],[a.icons]),{rows:se,columns:k,moreLink:A,title:j,smartTagEnabled:le,smartTagIds:P,catId:ue,showPlayCount:de,playCountDelta:fe,showEpisode:pe,enableInfinite:me}=i,F=me===!0,I=!b&&F&&le===!0,L=h(()=>Array.isArray(P)?P.map(e=>String(e||``).trim()).filter(Boolean):[],[P]),R=typeof ue==`string`?ue.trim():``,[z,he]=_(0),[B,ge]=_(D),[_e,ve]=_(O),[V,H]=_(()=>M(E)),[ye,be]=_(!1),xe=g(null),U=g(null),W=g(!1);p(()=>{ge(D),ve(O),H(M(E))},[E,O,D]);let Se=oe(se,s,te),G=oe(k,o,ee),K=t===`grid`?Se*G:16,Ce=Se*G,we=b&&t===`grid`,q=we?B.slice(0,Ce):B,J=we?_e.slice(0,Ce):_e,Y=q.length>0?Math.max(0,q.length-4):-1,Te=!!V,Ee=j&&j.trim()||T||``,X=de??u,Z=Number(fe??c),Q=pe??l,De=!F,$=De?ae(A):``,Oe=De&&!!$,ke=f(async()=>{let t=V;if(!(!I||!t||W.current)){W.current=!0,be(!0);try{let n=await e({cursor:t,page_size:K,tags:L.length>0?L:void 0,cat_id:R||void 0}),r=Array.isArray(n.data?.videos)?n.data.videos:[],i=M(n.data?.cursor);r.length>0&&ge(e=>e.concat(r)),H(e=>{if(!(!r.length||!i))return i===e?void 0:i})}catch(e){console.error(`推荐位加载下一页失败(client)`,e),H(void 0)}finally{W.current=!1,be(!1)}}},[V,R,K,L,I]),Ae=f(()=>{$&&($.startsWith(`http`)?window.location.href=$:S.push($))},[$,S]);p(()=>{let e=U.current;if(!e||!I||!Te)return;let t=document.getElementById(`app-scroll-container`)||null,n=new IntersectionObserver(e=>{!e[0]?.isIntersecting||ye||ke()},{root:t,threshold:0});return n.observe(e),()=>{n.disconnect()}},[ke,Te,ye,q.length,K,I,Y]),m(()=>{let e=xe.current;if(!e||t!==`waterfall`)return;let n=()=>{let t=e.clientWidth||0;he(t>0?(t-12)/2:0)};n();let r=new ResizeObserver(n);return r.observe(e),()=>{r.disconnect()}},[t]);let je=h(()=>t===`waterfall`?ce(q,J,z):{left:[],right:[]},[z,J,q,t]);return q.length?y(n,{className:`w-full mt-[16px]`,children:[y(n,{className:`flex items-center justify-between px-[12px] mb-[8px]`,children:[v(r,{className:`flex-1 min-w-0 text-text1 text-[18px] leading-[26px] font-bold line-clamp-1`,children:Ee}),Oe&&v(r,{className:`text-text3 text-[12px] leading-[18px] cursor-pointer`,onClick:Ae,children:`更多`})]}),t===`grid`&&v(n,{className:`w-full flex flex-wrap px-[12px]`,children:q.map((e,n)=>{let r=J[n],i=w(e),a=X&&(i?.showPlayCount??!0),o=i?.playCountDelta??Z,s=i?.showEpisode??Q,c=n%G,l=G>1?{paddingLeft:12*c/G,paddingRight:12*(G-c-1)/G}:void 0;return v(`div`,{ref:n===Y?U:void 0,className:`min-w-0`,style:{width:`${100/G}%`,...l||{}},children:v(x,{variant:t,item:e,icon:r,index:n,showPlayCount:a,playCountDelta:o,showEpisode:s,widthStyle:{width:`100%`}})},N(e,n))})}),t===`waterfall`&&y(n,{ref:xe,className:`w-full px-[12px] flex gap-[12px]`,children:[v(n,{className:`flex-1 min-w-0 flex flex-col`,children:je.left.map(e=>{let n=w(e.item),r=X&&(n?.showPlayCount??!0),i=n?.playCountDelta??Z,a=n?.showEpisode??Q;return v(`div`,{ref:e.index===Y?U:void 0,children:v(x,{variant:t,item:e.item,icon:e.icon,index:e.index,showPlayCount:r,playCountDelta:i,showEpisode:a,widthStyle:{width:`100%`}})},N(e.item,e.index))})}),v(n,{className:`flex-1 min-w-0 flex flex-col`,children:je.right.map(e=>{let n=w(e.item),r=X&&(n?.showPlayCount??!0),i=n?.playCountDelta??Z,a=n?.showEpisode??Q;return v(`div`,{ref:e.index===Y?U:void 0,children:v(x,{variant:t,item:e.item,icon:e.icon,index:e.index,showPlayCount:r,playCountDelta:i,showEpisode:a,widthStyle:{width:`100%`}})},N(e.item,e.index))})})]})]}):null}function x({variant:e,item:t,icon:o,index:s,showPlayCount:c,playCountDelta:l,showEpisode:u,widthStyle:ee}){let te=T(t),d=t.name||``,f=se(t.static?.browse_cnt??0),p=D(t,u),m=j(t,o,s);return v(a,{url:te,text:d,className:`w-full`,style:ee,topRightChild:m?v(S,{url:m}):void 0,bottomLeftChild:c?y(n,{className:`h-[20px] leading-[20px] text-[#fff] text-[12px] px-[4px] rounded-[4px] bg-[#333] ml-[4px] flex items-center`,children:[v(i,{className:`w-[16px] h-[auto] text-[#fff] mr-[4px]`}),f]}):null,bottomRightChild:u?p&&v(r,{className:`text-[#fff] text-[12px] leading-[18px] pr-2`,children:p}):null,textChild:v(n,{className:`py-[4px]`,children:v(r,{as:`h3`,className:`text-text1 text-[16px] leading-[24px] ${e===`waterfall`?`break-words`:`line-clamp-1`}`,children:d})}),linkPath:C(t)})}function S({url:e}){return v(n,{className:`relative w-[40px] h-[20px]`,children:v(t,{src:e,alt:`corner`,fill:!0,objectFit:`cover`})})}function C(e){let t=encodeURIComponent(e.name||``);return`/video/${e.id||``}/${t}/episode/1`}function ae(e){return e?e.trim():``}function oe(e,t,n){let r=Number(e);return!Number.isFinite(r)||r<=0?t:Math.min(n,Math.floor(r))}function w(e){return e[d]}function T(e){return e.img_y||e.img_x||``}function E(e){return typeof e==`string`?e:``}function D(e,t){if(!t)return``;if(O(e)){let t=Number(e.episode_cnt||e.links?.length||0);return t>0?`全${t}集`:``}return A(Number(e.duration||0))}function O(e){if(Number(e.type??0)===2)return!0;let t=e.is_more_link;if(t===!0||t===`y`||t===`1`)return!0;let n=Number(e.episode_cnt||e.links?.length||0);return Number.isFinite(n)&&n>1}function se(e){return!Number.isFinite(e)||e<=0?`0`:e>=1e6?`${k(e/1e6)}M`:e>=1e3?`${k(e/1e3)}k`:Math.floor(e).toString()}function k(e){let t=e.toFixed(1);return t.endsWith(`.0`)?t.slice(0,-2):t}function A(e){if(!Number.isFinite(e)||e<=0)return``;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`}function j(e,t,n){return E(e.badge_url)||E(t?.material_url)||``}function ce(e,t,n){let r=[],i=[],a=n<=0,o=0,s=0;return e.forEach((e,c)=>{let l=t[c];if(a){c%2==0?r.push({item:e,icon:l,index:c}):i.push({item:e,icon:l,index:c});return}let u=le(n,e);o<=s?(r.push({item:e,icon:l,index:c}),o+=u):(i.push({item:e,icon:l,index:c}),s+=u)}),{left:r,right:i}}function le(e,t){if(!e)return 0;let n=e*1.3461538461538463,r=D(t,!0)?18:0;return n+20+r+6+16}function M(e){if(typeof e==`string`)return e.trim()||void 0}function N(e,t){return e.id?`home-recommend-${e.id}`:`home-recommend-${t}`}export{b as default};
2
+ "use client";import{pContentGetPopularVideoList as e}from"../../../../../service/generated/client.mjs";import{Image as t}from"../../../../ui/image.mjs";import{Box as n}from"../../../../ui/box.mjs";import{Text as r}from"../../../../ui/text.mjs";import i from"../../../../../assets/icons/detail/video_flag.mjs";import{MiniThreeCard as a}from"../../../../common/cards/mini-three-card.mjs";import{HOME_RECOMMEND_DEFAULT_GRID_COLUMNS as o,HOME_RECOMMEND_DEFAULT_GRID_ROWS as s,HOME_RECOMMEND_DEFAULT_PLAY_COUNT_DELTA as c,HOME_RECOMMEND_DEFAULT_SHOW_EPISODE as l,HOME_RECOMMEND_DEFAULT_SHOW_PLAY_COUNT as u,HOME_RECOMMEND_MAX_GRID_COLUMNS as ee,HOME_RECOMMEND_MAX_GRID_ROWS as te}from"./home-recommend-default-config.mjs";import{HOME_RECOMMEND_CARD_CONFIG_FIELD as d}from"./home-recommend-preview.mjs";import{useCallback as f,useEffect as p,useLayoutEffect as m,useMemo as h,useRef as g,useState as _}from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{useRouter as ne}from"next/navigation";const re={},ie={list:[]};function b({variant:t,props:i=re,data:a=ie,mode:d=`renderer`}){let b=d===`editor`,S=ne(),{list:C,title:se,cursor:T}=a,E=h(()=>Array.isArray(C)?C:[],[C]),D=h(()=>Array.isArray(a.icons)?a.icons:[],[a.icons]),{rows:ce,columns:O,moreLink:le,title:k,smartTagIds:A,catId:de,showPlayCount:fe,playCountDelta:pe,showEpisode:me,enableInfinite:he}=i,N=he===!0,P=!b&&N&&E.length>=16,F=h(()=>Array.isArray(A)?A.map(e=>String(e||``).trim()).filter(Boolean):[],[A]),I=typeof de==`string`?de.trim():``,[L,ge]=_(0),[R,_e]=_(E),[z,ve]=_(D),[B,V]=_(()=>j(T)),[ye,be]=_(!1),xe=g(null),H=g(null),U=g(!1);p(()=>{_e(E),ve(D),V(j(T))},[T,D,E]);let Se=oe(ce,s,te),W=oe(O,o,ee),G=N?16:t===`grid`?Se*W:16,Ce=Se*W,we=b&&t===`grid`,K=we?R.slice(0,Ce):R,q=we?z.slice(0,Ce):z,Te=t===`waterfall`?6:4,J=K.length>0?Math.max(0,K.length-Te):-1,Ee=!!B,De=k&&k.trim()||se||``,Y=fe??u,X=Number(pe??c),Z=me??l,Oe=!N,Q=Oe?ae(le):``,ke=Oe&&!!Q,Ae=f(async()=>{let t=B;if(!(!P||!t||U.current)){U.current=!0,be(!0);try{let n=await e({cursor:t,page_size:G,tags:F.length>0?F:void 0,cat_id:I||void 0}),r=Array.isArray(n.data?.videos)?n.data.videos:[],i=j(n.data?.cursor);r.length>0&&_e(e=>e.concat(r)),V(e=>{if(!(!r.length||!i))return i===e?void 0:i})}catch(e){console.error(`推荐位加载下一页失败(client)`,e),V(void 0)}finally{U.current=!1,be(!1)}}},[B,I,G,F,P]),je=f(()=>{Q&&(Q.startsWith(`http`)?window.location.href=Q:S.push(Q))},[Q,S]);p(()=>{let e=H.current;if(!e||!P||!Ee)return;let t=document.getElementById(`app-scroll-container`)||null,n=new IntersectionObserver(e=>{!e[0]?.isIntersecting||ye||Ae()},{root:t,threshold:0});return n.observe(e),()=>{n.disconnect()}},[Ae,Ee,ye,K.length,G,P,J]),m(()=>{let e=xe.current;if(!e||t!==`waterfall`)return;let n=()=>{let t=e.clientWidth||0;ge(t>0?(t-12)/2:0)};n();let r=new ResizeObserver(n);return r.observe(e),()=>{r.disconnect()}},[t]);let $=h(()=>t===`waterfall`?ue(K,q,L):{left:[],right:[]},[L,q,K,t]);return K.length?y(n,{className:`w-full mt-[16px]`,children:[y(n,{className:`flex items-center justify-between px-[12px] mb-[8px]`,children:[v(r,{className:`flex-1 min-w-0 text-text1 text-[18px] leading-[26px] font-bold line-clamp-1`,children:De}),ke&&v(r,{className:`text-text3 text-[12px] leading-[18px] cursor-pointer`,onClick:je,children:`更多`})]}),t===`grid`&&v(n,{className:`w-full flex flex-wrap px-[12px]`,children:K.map((e,n)=>{let r=q[n],i=w(e),a=Y&&(i?.showPlayCount??!0),o=i?.playCountDelta??X,s=i?.showEpisode??Z,c=n%W,l=W>1?{paddingLeft:12*c/W,paddingRight:12*(W-c-1)/W}:void 0;return v(`div`,{ref:n===J?H:void 0,className:`min-w-0`,style:{width:`${100/W}%`,...l||{}},children:v(x,{variant:t,item:e,icon:r,index:n,showPlayCount:a,playCountDelta:o,showEpisode:s,widthStyle:{width:`100%`}})},M(e,n))})}),t===`waterfall`&&y(n,{ref:xe,className:`w-full px-[12px] flex gap-[12px]`,children:[v(n,{className:`flex-1 min-w-0 flex flex-col`,children:$.left.map(e=>{let n=w(e.item),r=Y&&(n?.showPlayCount??!0),i=n?.playCountDelta??X,a=n?.showEpisode??Z;return v(`div`,{ref:e.index===J?H:void 0,children:v(x,{variant:t,item:e.item,icon:e.icon,index:e.index,showPlayCount:r,playCountDelta:i,showEpisode:a,widthStyle:{width:`100%`}})},M(e.item,e.index))})}),v(n,{className:`flex-1 min-w-0 flex flex-col`,children:$.right.map(e=>{let n=w(e.item),r=Y&&(n?.showPlayCount??!0),i=n?.playCountDelta??X,a=n?.showEpisode??Z;return v(`div`,{ref:e.index===J?H:void 0,children:v(x,{variant:t,item:e.item,icon:e.icon,index:e.index,showPlayCount:r,playCountDelta:i,showEpisode:a,widthStyle:{width:`100%`}})},M(e.item,e.index))})})]})]}):null}function x({variant:e,item:t,icon:o,index:s,showPlayCount:c,playCountDelta:l,showEpisode:u,widthStyle:ee}){let te=se(t),d=t.name||``,f=ce(t.static?.browse_cnt??0),p=E(t,u),m=k(t,o,s);return v(a,{url:te,text:d,className:`w-full`,style:ee,topRightChild:m?v(S,{url:m}):void 0,bottomLeftChild:c?y(n,{className:`h-[20px] leading-[20px] text-[#fff] text-[12px] px-[4px] rounded-[4px] bg-[#333] ml-[4px] flex items-center`,children:[v(i,{className:`w-[16px] h-[auto] text-[#fff] mr-[4px]`}),f]}):null,bottomRightChild:u?p&&v(r,{className:`text-[#fff] text-[12px] leading-[18px] pr-2`,children:p}):null,textChild:v(n,{className:`py-[4px]`,children:v(r,{as:`h3`,className:`text-text1 text-[16px] leading-[24px] ${e===`waterfall`?`break-words line-clamp-3`:`line-clamp-1`}`,children:d})}),linkPath:C(t)})}function S({url:e}){return v(n,{className:`relative w-[40px] h-[20px]`,children:v(t,{src:e,alt:`corner`,fill:!0,objectFit:`cover`})})}function C(e){let t=encodeURIComponent(e.name||``);return`/video/${e.id||``}/${t}/episode/1`}function ae(e){return e?e.trim():``}function oe(e,t,n){let r=Number(e);return!Number.isFinite(r)||r<=0?t:Math.min(n,Math.floor(r))}function w(e){return e[d]}function se(e){return e.img_y||e.img_x||``}function T(e){return typeof e==`string`?e:``}function E(e,t){if(!t)return``;if(D(e)){let t=Number(e.episode_cnt||e.links?.length||0);return t>0?`全${t}集`:``}return le(Number(e.duration||0))}function D(e){if(Number(e.type??0)===2)return!0;let t=e.is_more_link;if(t===!0||t===`y`||t===`1`)return!0;let n=Number(e.episode_cnt||e.links?.length||0);return Number.isFinite(n)&&n>1}function ce(e){return!Number.isFinite(e)||e<=0?`0`:e>=1e6?`${O(e/1e6)}M`:e>=1e3?`${O(e/1e3)}k`:Math.floor(e).toString()}function O(e){let t=e.toFixed(1);return t.endsWith(`.0`)?t.slice(0,-2):t}function le(e){if(!Number.isFinite(e)||e<=0)return``;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`}function k(e,t,n){return T(e.badge_url)||T(t?.material_url)||``}function ue(e,t,n){let r=[],i=[],a=n<=0,o=0,s=0;return e.forEach((e,c)=>{let l=t[c];if(a){c%2==0?r.push({item:e,icon:l,index:c}):i.push({item:e,icon:l,index:c});return}let u=A(n,e);o<=s?(r.push({item:e,icon:l,index:c}),o+=u):(i.push({item:e,icon:l,index:c}),s+=u)}),{left:r,right:i}}function A(e,t){if(!e)return 0;let n=e*1.3461538461538463,r=E(t,!0)?18:0;return n+20+r+6+16}function j(e){if(typeof e==`string`)return e.trim()||void 0}function M(e,t){return e.id?`home-recommend-${e.id}`:`home-recommend-${t}`}export{b as default};
@@ -6,7 +6,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
6
6
  //#region components/ui/badge.d.ts
7
7
  /** badgeVariants 工具定义。 */
8
8
  declare const badgeVariants: (props?: ({
9
- variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
9
+ variant?: "default" | "link" | "outline" | "secondary" | "ghost" | "destructive" | null | undefined;
10
10
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
11
11
  /** Badge 组件。 */
12
12
  declare function Badge({
@@ -7,7 +7,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
7
7
  //#region components/ui/button.d.ts
8
8
  /** buttonVariants 工具定义。 */
9
9
  declare const buttonVariants: (props?: ({
10
- variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
10
+ variant?: "default" | "link" | "outline" | "secondary" | "ghost" | "destructive" | null | undefined;
11
11
  size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
12
12
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
13
13
  /** Button 组件属性。 */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@funhub/platform",
3
3
  "type": "module",
4
- "version": "0.1.72",
4
+ "version": "0.1.74",
5
5
  "private": false,
6
6
  "sideEffects": [
7
7
  "**/*.css"