﻿// My Products Page - clean rebuild
const { useState, useEffect } = React;

var S = {
  0:{label:'\u5F85\u5BA1\u6838',color:'#d46b08',bg:'#fff7e6'},
  1:{label:'\u5728\u552E',color:'#389e0d',bg:'#f6ffed'},
  2:{label:'\u5BA1\u6838\u62D2\u7EDD',color:'#cf1322',bg:'#fff1f0'},
  3:{label:'\u5DF2\u552E',color:'#999',bg:'#f5f5f5'},
  4:{label:'\u5DF2\u4E0B\u67B6',color:'#999',bg:'#f5f5f5'},
  5:{label:'\u4EA4\u6613\u4E2D',color:'#1677ff',bg:'#e6f4ff'}
};

function MyProductsPage() {
function svgArrL(c){return React.createElement('svg',{width:20,height:20,viewBox:'0 0 24 24',fill:'none',stroke:c||'#334155',strokeWidth:1.875,strokeLinecap:'round',strokeLinejoin:'round'},React.createElement('path',{d:'M15 18l-6-6 6-6'}));}

  var _list=useState([]);var list=_list[0],setList=_list[1];
  var _ld=useState(true);var ld=_ld[0],setLd=_ld[1];
  var _err=useState('');var err=_err[0],setErr=_err[1];

  if(!NK.Store.isLoggedIn()){
    return React.createElement('div',{className:'detail-page'},
      React.createElement('div',{className:'back-header'},
        React.createElement('div',{className:'bbtn',onClick:function(){NK.Store.back('mine');}},svgArrL()),
        React.createElement('div',{className:'btitle'},'\u6211\u7684\u53D1\u5E03\u7684')
      ),
      React.createElement('div',{className:'empty-state',style:{paddingTop:60}},
        React.createElement('div',null,'\u8BF7\u5148\u767B\u5F55'),
        React.createElement('div',{style:{color:'#1677ff',marginTop:12,cursor:'pointer',fontSize:14},onClick:function(){NK.Store.navigate('login');}},'\u53BB\u767B\u5F55')
      )
    );
  }

  useEffect(function(){
    setLd(true);setErr('');
    NK.Api.Accounts.my({page:1,pageSize:200}).then(function(r){
      if(r&&r.code===0){setList(r.data.list||[]);}
      else{setErr((r&&r.message)||'\u52A0\u8F7D\u5931\u8D25');}
    }).catch(function(){
      setErr('\u7F51\u7EDC\u9519\u8BEF');
    }).finally(function(){setLd(false);});
  },[]);

  function cv(p){
    if(p.coverImages&&p.coverImages.length&&p.coverImages[0]&&p.coverImages[0].image_url)return p.coverImages[0].image_url;
    if(p.images&&p.images.length&&p.images[0]&&p.images[0].image_url)return p.images[0].image_url;
    return null;
  }
  function pr(v){return '\u00A5'+Number(v||0).toFixed(2);}
  function st(s){
    var c=S[s]||{label:String(s),color:'#999',bg:'#f5f5f5'};
    return React.createElement('span',{style:{display:'inline-block',padding:'2px 8px',borderRadius:10,fontSize:11,fontWeight:600,color:c.color,background:c.bg}},c.label);
  }

  if(ld){
    return React.createElement('div',{className:'detail-page'},
      React.createElement('div',{className:'back-header'},
        React.createElement('div',{className:'bbtn',onClick:function(){NK.Store.back('mine');}},svgArrL()),
        React.createElement('div',{className:'btitle'},'\u6211\u7684\u53D1\u5E03\u7684')
      ),
      React.createElement('div',{className:'page-loading'},
        React.createElement('div',{className:'spinner'}),
        React.createElement('div',{style:{color:'#999',fontSize:14}},'\u52A0\u8F7D\u4E2D...')
      )
    );
  }

  return React.createElement('div',{className:'detail-page'},
    React.createElement('div',{className:'back-header'},
      React.createElement('div',{className:'bbtn',onClick:function(){NK.Store.back('mine');}},svgArrL()),
      React.createElement('div',{className:'btitle'},'\u6211\u7684\u53D1\u5E03\u7684')
    ),
    err&&list.length===0
      ?React.createElement('div',{className:'empty-state',style:{paddingTop:60}},React.createElement('div',null,err))
      :list.length===0
        ?React.createElement('div',{className:'empty-state',style:{paddingTop:60}},
            React.createElement('div',{className:'eicon'},'\uD83D\uDCE6'),
            React.createElement('div',null,'\u6682\u65E0\u5546\u54C1'))
        :React.createElement('div',{className:'product-list'},
            list.map(function(p){
              if(!p)return null;
              var cover=cv(p);
              var pn=p.product_no?String(p.product_no).trim():null;
              return React.createElement('div',{key:p.id,className:'product-item'},
                React.createElement('div',{className:'pi-img'},
                  cover?React.createElement('img',{src:cover,alt:p.title||'',onError:function(e){e.target.style.display='none';}}):'\uD83C\uDFAE')
                ,
                React.createElement('div',{className:'pi-info'},
                  React.createElement('div',{style:{display:'flex',justifyContent:'space-between',alignItems:'center',marginBottom:4}},
                    React.createElement('div',{className:'pi-title',style:{flex:1}},(pn?'\u3010'+pn+'\u3011':'')+(p.title||'\u672A\u77E5\u5546\u54C1')),
                    st(p.status)
                  ),
                  React.createElement('div',{className:'pi-subtitle'},(p.server||'')+(p.account_uid?' \u00B7 '+p.account_uid:'')),
                  React.createElement('div',{style:{display:'flex',justifyContent:'space-between',alignItems:'center',marginTop:6}},
                    React.createElement('span',{className:'pi-price'},pr(p.price)),
                    React.createElement('button',{
                      onClick:function(e){e.stopPropagation();console.log('[MyProducts] manage click, product:',p.id,p.title);NK.Store.navigate('detail',{id:p.id,mode:'manage'});console.log('[MyProducts] after navigate, pageParams:',NK.Store.get('pageParams'));},
                      style:{padding:'5px 14px',borderRadius:14,border:'1px solid #1677ff',background:'#fff',color:'#1677ff',fontSize:12,fontWeight:600,cursor:'pointer'}
                    },'\u7BA1\u7406\u5546\u54C1')
                  )
                )
              );
            })
          )
  );
}

window.NK=window.NK||{};
NK.MyProductsPage=MyProductsPage;
