// 鎴戠殑鍟嗗搧璇︽儏椤?v2 - 鎸夌姸鎬佸簳閮ㄦ寜閽?const { useState, useEffect } = React;



var STATUS_MAP = {

  0:{label:'',color:'#d46b08',bg:'#fff7e6'},

  1:{label:'',color:'#389e0d',bg:'#f6ffed'},

  2:{label:'',color:'#cf1322',bg:'#fff1f0'},

  3:{label:'',color:'#999',bg:'#f5f5f5'},

  4:{label:'',color:'#999',bg:'#f5f5f5'},

  5:{label:'',color:'#1677ff',bg:'#e6f4ff'}

};



function MyProductDetailPage() {

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 _product = useState(null); var product = _product[0]; var setProduct = _product[1];

  var _loading = useState(true); var loading = _loading[0]; var setLoading = _loading[1];

  var _curImg = useState(0); var curImg = _curImg[0]; var setCurImg = _curImg[1];

  var _error = useState(''); var error = _error[0]; var setError = _error[1];

  var _loading2 = useState(false); var loading2 = _loading2[0]; var setLoading2 = _loading2[1];



  var pageParams = NK.Store.get('pageParams');

  var productId = pageParams && pageParams.id;



  useEffect(function(){

    if (!productId) { setLoading(false); return; }

    setLoading(true); setError('');

    NK.Api.Accounts.myDetail(productId).then(function(res){

      if (res.code===0) setProduct(res.data); else { setProduct(null); setError(res.message||''); }

    }).catch(function(){setProduct(null);setError('');})

    .finally(function(){setLoading(false);});

  }, [productId]);



  if (loading) {

    return React.createElement('div',{className:'page-loading'},

      React.createElement('div',{className:'spinner'}),

      React.createElement('div',{style:{color:'#999',fontSize:14}},'')

    );

  }



  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('myProducts');}},svgArrL()),

        React.createElement('div',{className:'btitle'},'')

      ),

      React.createElement('div',{className:'empty-state',style:{paddingTop:60}},

        React.createElement('div',{className:'eicon'},''),

        React.createElement('div',null,''),

        React.createElement('div',{style:{color:'#1677ff',marginTop:12,cursor:'pointer',fontSize:14},onClick:function(){NK.Store.navigate('login');}},'')

      )

    );

  }



  if (!product) {

    return React.createElement('div',{className:'detail-page'},

      React.createElement('div',{className:'back-header'},

        React.createElement('div',{className:'bbtn',onClick:function(){NK.Store.back('myProducts');}},svgArrL()),

        React.createElement('div',{className:'btitle'},'')

      ),

      React.createElement('div',{className:'empty-state'},

        React.createElement('div',{className:'eicon'},''),

        React.createElement('div',null,''),

        error && React.createElement('div',{style:{fontSize:12,color:'#999',marginTop:4}},error),

        React.createElement('div',{style:{color:'#1677ff',marginTop:12,cursor:'pointer',fontSize:14},onClick:function(){NK.Store.back('myProducts');}},'')

      )

    );

  }



  var s = product.status;

  var sc = STATUS_MAP[s]||{label:'',color:'#999',bg:'#f5f5f5'};

  var statusBadge = React.createElement('span',{style:{display:'inline-block',padding:'4px 14px',borderRadius:12,fontSize:12,fontWeight:600,color:sc.color,background:sc.bg}},sc.label);



  var topHint = null;

  if (s===0) topHint = '';

  else if (s===2) topHint = '' + (product.audit_reason ? 'Reason: '+product.audit_reason : 'No reason given, please republish');


  return React.createElement('div',{className:'detail-page'},

    React.createElement('div',{className:'back-header'},

      React.createElement('div',{className:'bbtn',onClick:function(){NK.Store.back('myProducts');}},svgArrL()),

      React.createElement('div',{className:'btitle'},'')

    ),



    React.createElement(NK.ProductDetailView,{product:product,curImg:curImg,setCurImg:setCurImg,statusBadge:statusBadge,topHint:topHint}),



    React.createElement('div',{style:{height:80}}),



    // 搴曢儴鐘舵€佹爮

    (function(){

      var btns = [];

      var btn = function(label, cls, onClick){

        return React.createElement('button',{

          className:'pub3-btn'+(cls?' '+cls:''),

          style:{flex:1,height:44,borderRadius:22,border:'none',fontSize:15,fontWeight:600,cursor:'pointer'},

          onClick:onClick

        },label);

      };

      var grayBtn = function(label){

        return React.createElement('div',{style:{flex:1,textAlign:'center',color:'#999',fontSize:14,padding:'12px 0',background:'#f5f5f5',borderRadius:22}},label);

      };



      // 0: Pending
      if (s===0){
        btns.push(grayBtn(""));
        btns.push(btn("Edit","primary",function(){NK.Store.navigate("publish",{editMode:true,productId:product.id});}));
      }
      // 1: Active
      else if (s===1){
        btns.push(btn("View","",function(){NK.Store.navigate("detail",{id:product.id});}));
        btns.push(btn(loading2?"Off Shelf...":"Off Shelf","",function(){
          if(confirm("Confirm off shelf?")){
            setLoading2(true);
            NK.Api.Accounts.offShelf(product.id).then(function(res){
              setLoading2(false);
              if(res.code===0){alert("Off shelf OK");NK.Api.Accounts.myDetail(product.id).then(function(r){if(r.code===0)setProduct(r.data);});}
              else alert(res.message||"Failed");
            }).catch(function(){setLoading2(false);alert("Network error");});
          }
        }));
      }
      // 2: Rejected
      else if (s===2){
        btns.push(btn("Reason","",function(){NK.Store.navigate("messages",{initialTab:"notify",productId:product.id});}));
        btns.push(btn("Republish","primary",function(){NK.Store.navigate("publish",{editMode:true,productId:product.id});}));
      }
      // 3: Sold
      else if (s===3){ btns.push(grayBtn("Sold")); }
      // 4: Off Shelf
      else if (s===4){
        btns.push(grayBtn("Off Shelf"));
        btns.push(btn("Republish","primary",function(){NK.Store.navigate("publish",{editMode:true,productId:product.id});}));
      }

      // 5: Trading
      else if (s===5){

        btns.push(grayBtn(''));

        btns.push(btn('','primary',function(){

          NK.Api.Orders.mySell({page:1,pageSize:50}).then(function(res){

            if(res.code===0){var found=(res.data.list||[]).find(function(o){return String(o.account_id)===String(product.id);});if(found){NK.Store.navigate('tradeRoom',{orderId:found.id,source:'my_product'});}else{alert('');}}

            else alert('');

          }).catch(function(){alert('');});

        }));

      }



      return React.createElement('div',{className:'detail-bottom-bar'},btns);

    })()

  );

}



window.NK = window.NK || {};

NK.MyProductDetailPage = MyProductDetailPage;


