PageSourceSearch

https://sound-valley.net/_expo/static/js/web/admin-blessings-265c361fb7950c46baa43ffa1041c495.js

js sound-valley.net collected 2026-09-24 15:07:47 UTC 5,492 bytes, 3 lines download raw bytes

1var _sentryDebugIds,_sentryDebugIdIdentifier;void 0===_sentryDebugIds&&(_sentryDebugIds={});try{var stack=(new Error).stack;stack&&(_sentryDebugIds[stack]="b976ed3a-a3fe-4149-82a5-96d078f394d3",_sentryDebugIdIdentifier="sentry-dbid-b976ed3a-a3fe-4149-82a5-96d078f394d3")}catch(e){}
2var SENTRY_RELEASE;SENTRY_RELEASE={name: "聲谷", version: "2.3.0"};
3__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return h}});var t=r(d[0]),l=e(r(d[1])),s=e(r(d[2])),o=e(r(d[3])),c=e(r(d[4])),n=e(r(d[5])),u=e(r(d[6])),x=e(r(d[7])),f=e(r(d[8])),p=e(r(d[9]));const b=[{key:'pending',label:'\u5f85\u5be9\u6838'},{key:'approved',label:'\u5df2\u901a\u904e'},{key:'rejected',label:'\u5df2\u62d2\u7d55'}];function y(e){return{auto_approved:{label:'AI \u901a\u904e',textColor:e.successText,backgroundColor:e.successBg},needs_review:{label:'AI \u5f85\u5be9',textColor:e.warningText,backgroundColor:e.warningBg},auto_rejected:{label:'AI \u5efa\u8b70\u62d2\u7d55',textColor:e.error,backgroundColor:e.errorBg}}}function h(){const e=(0,r(d[10]).useThemeColors)(),h=y(e),j=(0,r(d[11]).useAuthStore)(r(d[11]).selectIsAdmin),A=(0,r(d[11]).useAuthStore)(e=>e.isLoading),[C,k]=(0,t.useState)('pending'),[_,N]=(0,t.useState)([]),[w,v]=(0,t.useState)(!0),B=(0,t.useCallback)(async e=>{try{v(!0);const t=await(0,r(d[12],"@/lib/api").adminGetAllBlessings)(e);N(t)}catch(e){console.error('Admin blessings load error:',e)}finally{v(!1)}},[]);(0,t.useEffect)(()=>{A||j&&B(C)},[A,j,C]);const S=(0,t.useCallback)(async e=>{try{await(0,r(d[12],"@/lib/api").adminApproveBlessing)(e),N(t=>t.filter(t=>t.id!==e))}catch(e){console.error('Approve blessing failed:',e)}},[]),P=(0,t.useCallback)(async e=>{try{await(0,r(d[12],"@/lib/api").adminRejectBlessing)(e),N(t=>t.filter(t=>t.id!==e))}catch(e){console.error('Reject blessing failed:',e)}},[]),R=(0,t.useCallback)(async e=>{try{await(0,r(d[12],"@/lib/api").adminDeleteBlessing)(e),N(t=>t.filter(t=>t.id!==e))}catch(e){console.error('Delete blessing failed:',e)}},[]);return j?(0,r(d[13]).jsxs)(x.default,{title:"\u795d\u798f\u8a9e\u5be9\u6838",noScroll:!0,children:[(0,r(d[13]).jsx)(o.default,{className:"px-4",children:(0,r(d[13]).jsx)(f.default,{tabs:b,activeKey:C,onSelect:e=>k(e)})}),w?(0,r(d[13]).jsx)(n.default,{style:{marginTop:40}}):0===_.length?(0,r(d[13]).jsx)(p.default,{icon:"check-circle",title:`\u76ee\u524d\u6c92\u6709${'pending'===C?'\u5f85\u5be9\u6838':'approved'===C?'\u5df2\u901a\u904e':'\u5df2\u62d2\u7d55'}\u7684\u795d\u798f\u8a9e`}):(0,r(d[13]).jsx)(l.default,{data:_,keyExtractor:e=>e.id,contentContainerStyle:{paddingHorizontal:12,paddingBottom:24},renderItem:({item:t})=>(0,r(d[13]).jsxs)(o.default,{className:"p-3.5 mb-2.5 rounded-2xl",style:[{backgroundColor:e.bgCard},r(d[14]).WEB_CARD_SHADOW],children:[(0,r(d[13]).jsxs)(o.default,{className:"flex-row items-center justify-between mb-2",children:[(0,r(d[13]).jsx)(u.default,{className:"text-sm",style:{color:e.textTitle},children:t.author?.name||'\u533f\u540d'}),(0,r(d[13]).jsx)(u.default,{className:"text-xs",style:{color:e.textMuted},children:(0,r(d[15]).formatRelativeTimeZh)(t.created_at)})]}),(0,r(d[13]).jsxs)(u.default,{className:"text-[15px]",style:{color:e.textCard,lineHeight:24},children:["\u300c",t.content,"\u300d"]}),(0,r(d[13]).jsxs)(u.default,{className:"text-xs mt-1",style:{color:e.textMuted},children:["\u2764 ",t.like_count]}),t.ai_status?(0,r(d[13]).jsx)(o.default,{className:"self-start mt-2 px-2 py-1 rounded-full",style:{backgroundColor:h[t.ai_status].backgroundColor},children:(0,r(d[13]).jsx)(u.default,{className:"text-[12px]",style:{color:h[t.ai_status].textColor},children:h[t.ai_status].label})}):null,t.ai_reason?(0,r(d[13]).jsx)(u.default,{className:"text-xs mt-2",style:{color:e.textMuted},children:t.ai_reason}):null,(0,r(d[13]).jsxs)(o.default,{className:"flex-row mt-3",style:{gap:8},children:['pending'===C&&(0,r(d[13]).jsxs)(r(d[13]).Fragment,{children:[(0,r(d[13]).jsxs)(s.default,{onPress:()=>S(t.id),className:"flex-row items-center px-3 py-1.5 rounded-lg",style:{backgroundColor:(0,r(d[16]).withAlpha)(e.primary,r(d[16]).ALPHA.badgeAlt),gap:4},accessibilityRole:"button",children:[(0,r(d[13]).jsx)(c.default,{name:"check",size:14,color:e.success}),(0,r(d[13]).jsx)(u.default,{className:"text-[13px]",style:{color:e.success},children:"\u901a\u904e"})]}),(0,r(d[13]).jsxs)(s.default,{onPress:()=>P(t.id),className:"flex-row items-center px-3 py-1.5 rounded-lg",style:{backgroundColor:(0,r(d[16]).withAlpha)(e.accent,r(d[16]).ALPHA.badgeAlt),gap:4},accessibilityRole:"button",children:[(0,r(d[13]).jsx)(c.default,{name:"times",size:14,color:e.accent}),(0,r(d[13]).jsx)(u.default,{className:"text-[13px]",style:{color:e.accent},children:"\u62d2\u7d55"})]})]}),(0,r(d[13]).jsxs)(s.default,{onPress:()=>R(t.id),className:"flex-row items-center px-3 py-1.5 rounded-lg",style:{backgroundColor:(0,r(d[16]).withAlpha)(e.error,r(d[
316]).ALPHA.badgeAlt),gap:4},accessibilityRole:"button",children:[(0,r(d[13]).jsx)(c.default,{name:"trash-o",size:14,color:e.error}),(0,r(d[13]).jsx)(u.default,{className:"text-[13px]",style:{color:e.error},children:"\u522a\u9664"})]})]})]})})]}):(0,r(d[13]).jsx)(x.default,{title:"\u795d\u798f\u8a9e\u5be9\u6838",children:(0,r(d[13]).jsx)(p.default,{icon:"lock",title:"\u7121\u6b0a\u9650\u8a2a\u554f"})})}},779,[9,173,300,175,875,968,876,1273,1276,1277,937,890,894,482,1100,898,960]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.