2024-09-19 07:20:14 +08:00
"use strict" ;
2024-10-01 09:15:35 +08:00
const common _vendor = require ( "../../../../../common/vendor.js" ) ;
const modules _mall _sheep _index = require ( "../../index.js" ) ;
const modules _mall _sheep _hooks _useModal = require ( "../../hooks/useModal.js" ) ;
2024-09-19 07:20:14 +08:00
if ( ! Math ) {
( NavbarItem + Navbar ) ( ) ;
}
const Navbar = ( ) => "./components/navbar.js" ;
const NavbarItem = ( ) => "./components/navbar-item.js" ;
const _sfc _main = {
_ _name : "s-custom-navbar" ,
props : {
data : {
type : Object ,
default : ( ) => ( { } )
} ,
showLeftButton : {
type : Boolean ,
default : false
}
} ,
setup ( _ _props ) {
const props = _ _props ;
2024-10-01 09:15:35 +08:00
const hasHistory = modules _mall _sheep _index . sheep . $router . hasHistory ( ) ;
2024-09-19 07:20:14 +08:00
const sticky = common _vendor . computed ( ( ) => {
if ( props . data . styleType === "inner" ) {
if ( props . data . alwaysShow ) {
return false ;
}
}
if ( props . data . styleType === "normal" ) {
return false ;
}
} ) ;
const navList = common _vendor . computed ( ( ) => {
return props . data . mapCells || [ ] ;
} ) ;
2024-10-01 09:15:35 +08:00
const windowWidth = modules _mall _sheep _index . sheep . $platform . device . windowWidth ;
2024-09-19 07:20:14 +08:00
const cell = common _vendor . computed ( ( ) => {
if ( common _vendor . unref ( navList ) . length ) {
let cell2 = ( windowWidth - 90 ) / 8 ;
2024-10-01 09:15:35 +08:00
cell2 = ( windowWidth - 80 - common _vendor . unref ( modules _mall _sheep _index . sheep . $platform . capsule ) . width ) / 6 ;
2024-09-19 07:20:14 +08:00
return cell2 ;
}
} ) ;
const parseImgStyle = ( item ) => {
const obj = {
width : item . width * cell . value + ( item . width - 1 ) * 10 + "px" ,
left : item . left * cell . value + ( item . left + 1 ) * 10 + "px" ,
"border-radius" : item . borderRadius + "px"
} ;
return obj ;
} ;
const isAlways = common _vendor . computed (
( ) => props . data . styleType === "inner" ? Boolean ( props . data . alwaysShow ) : true
) ;
const isOpacity = common _vendor . computed (
( ) => props . data . styleType === "normal" ? false : props . showLeftButton ? false : props . data . styleType === "inner"
) ;
const isPlaceholder = common _vendor . computed ( ( ) => props . data . styleType === "normal" ) ;
const bgStyles = common _vendor . computed ( ( ) => {
return {
2024-10-01 09:15:35 +08:00
background : props . data . bgType === "img" && props . data . bgImg ? ` url( ${ modules _mall _sheep _index . sheep . $url . cdn ( props . data . bgImg ) } ) no-repeat top center / 100% 100% ` : props . data . bgColor
2024-09-19 07:20:14 +08:00
} ;
} ) ;
function onClickLeft ( ) {
if ( hasHistory ) {
2024-10-01 09:15:35 +08:00
modules _mall _sheep _index . sheep . $router . back ( ) ;
2024-09-19 07:20:14 +08:00
} else {
2024-10-01 09:15:35 +08:00
modules _mall _sheep _index . sheep . $router . go ( "/modules/mall/index/index" ) ;
2024-09-19 07:20:14 +08:00
}
}
function onClickRight ( ) {
2024-10-01 09:15:35 +08:00
modules _mall _sheep _hooks _useModal . showMenuTools ( ) ;
2024-09-19 07:20:14 +08:00
}
return ( _ctx , _cache ) => {
return common _vendor . e ( {
a : _ _props . showLeftButton
} , _ _props . showLeftButton ? common _vendor . e ( {
b : common _vendor . unref ( hasHistory )
} , common _vendor . unref ( hasHistory ) ? { } : { } , {
c : common _vendor . o ( onClickLeft ) ,
d : common _vendor . o ( onClickRight ) ,
e : _ _props . data . styleType === "inner" ? 1 : ""
} ) : { } , {
f : common _vendor . f ( navList . value , ( item , index , i0 ) => {
return {
2024-10-01 09:15:35 +08:00
a : "28e36d40-1-" + i0 + ",28e36d40-0" ,
2024-09-19 07:20:14 +08:00
b : common _vendor . p ( {
data : item ,
width : parseImgStyle ( item ) . width
} ) ,
c : index ,
d : common _vendor . s ( parseImgStyle ( item ) ) ,
e : common _vendor . n ( {
"ss-flex ss-col-center ss-row-center" : item . type !== "search"
} )
} ;
} ) ,
g : common _vendor . p ( {
alway : isAlways . value ,
back : false ,
bg : "" ,
placeholder : isPlaceholder . value ,
bgStyles : bgStyles . value ,
opacity : isOpacity . value ,
sticky : sticky . value
} )
} ) ;
} ;
}
} ;
2024-10-01 09:15:35 +08:00
const Component = /* @__PURE__ */ common _vendor . _export _sfc ( _sfc _main , [ [ "__scopeId" , "data-v-28e36d40" ] ] ) ;
2024-09-19 07:20:14 +08:00
wx . createComponent ( Component ) ;