You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1040 lines
24 KiB

<template>
<view class="container">
<block v-if="isload">
<view class="pages-hd"
:style="{'padding-top': menuButtonTop + 'px'}">
<view class="navigation flex al-item-center" v-if="!storeInfo.name"
:style="{'height': menuButtonHeight + 'px'}">
<text class="iconfont icon-icon_arrow_left" v-if="isShowBack" @click="goBack"></text>
<view class="navigation-title">{{storeInfo.name ? '商品分类' : '全部商品'}}</view>
</view>
<view class="pages-hd__search">
<view class="left" @click="goto" data-url="/pagesA/shop/sizeShop?types=classify" v-if="!storeInfo.name">
<view class="l_top">
<text class="iconfont icon-dianpu1"></text>
<text class="txt">请选择店铺</text> <text class="iconfont icon-shang"></text>
</view>
</view>
<view @tap.stop="goto" :data-url="'/pages/shop/search?bid='+bid" class="search-container">
<view class="search-box">
<image class="img" :src="event_rul + '/static/img/static/img/search_ico.png'"></image>
<view class="search-text">搜索感兴趣的商品</view>
</view>
</view>
</view>
<view class="pages-hd__shop" @click="goto" data-url="/pagesA/shop/sizeShop?types=classify" v-if="storeInfo.name">
<view class="shop-name flex al-item-center">{{storeInfo.name}}<text class="iconfont icon-arrow-right"></text></view>
<view class="shop-distance">
<text class="iconfont icon-didian"></text>距离{{storeInfo.juli}}
</view>
</view>
</view>
<view class="coentent_box" v-if="!storeInfo.name" style="flex: 1; overflow: hidden;">
<view class="nav-pai1">
<view class="nav-paili1 flex al-item-center j-center" :class="(!field||field=='sort')?'actived':''" @tap="changeOrder" data-field="sort" data-order="desc">综合</view>
<view class="nav-paili1 flex al-item-center j-center" :class="field=='sales'?'actived':''" @tap="changeOrder" data-field="sales" data-order="desc">销量</view>
<view class="nav-paili1 flex al-item-center j-center" :class="field=='createtime'?'actived':''" @tap="changeOrder" data-field="createtime" data-order="desc">上新</view>
<view class="nav-paili1 flex al-item-center j-center" @tap="changeOrder" data-field="sell_price" :data-order="order=='asc'?'desc':'asc'">
<view :class="field=='sell_price'?'selected':''">价格</view>
<text style="font-size: 26rpx; " class="iconfont icon-danbianjiantou1" :style="field=='sell_price'&&order=='asc'?'color:'+'#333333;':''"></text>
<text style="margin-left: -10rpx; font-size: 26rpx;" class="iconfont icon-danbianjiantou" :style="field=='sell_price'&&order=='desc'?'color:'+'#333333;':''"></text>
</view>
</view>
<scroll-view class="classify-box" scroll-y="true" @scrolltolower="scrolltolower">
<view class="product-container" style="padding: 20rpx;">
<block v-if="datalist && datalist.length>0">
<!-- <dp-product-item types='search' :data="datalist" :menuindex="-1"></dp-product-item> -->
<view class="product-box flex flex-w j-between">
<block v-for="(item, idx) in datalist" :key="idx">
<view
class="product-item bg-color-white overflow-hd"
@click="goto"
:data-url="'/pages/shop/product?id=' + item.id"
>
<view class="product-item__hd flex j-center al-item-center">
<image
class="product-img"
:src="item.pic"
mode="widthFix"
></image>
</view>
<view class="item-info">
<view class="item-info__name text-overflow-line">{{ item.name }}</view>
<view class="item-info__salse">已售 {{ item.sales ? (item.sales >= 10000 ? (item.sales / 10000).toFixed(1) + '万': item.sales) : 0 }}</view>
<view class="item-info__price"><text class="symbol">¥</text>{{ item.sell_price }}</view>
<view class="item-info__shop flex al-item-center j-between">
<view class="item-info__shop-bd flex al-item-center"
@click="goto"
:data-url="'/pagesA/shop/index?id=' + item.business.id">
<image class="item-info__shop-logo" :src="item.business.logo"></image>
<view class="item-info__shop-name">{{item.business.name}}</view>
</view>
<view
class="item-info__shop-cart flex border-rius-r al-item-center j-center"
@click.stop="buydialogChange"
:data-proid="item.id"
>
<text class="iconfont icon-gouwuche1"></text>
</view>
</view>
</view>
</view>
</block>
</view>
</block>
<nomore text="没有更多商品了" v-else></nomore>
<!-- <nodata text="没有查找到相关商品" v-if="nodata"></nodata> -->
<!-- <loading v-if="loading"></loading> -->
</view>
</scroll-view>
</view>
<view class="content-container" v-else>
<view class="nav_left">
<view :class="'nav_left_items ' + (curIndex == -1 ? 'active' : '')" @tap="switchRightTab"
data-index="-1" data-id="0">全部
</view>
<block v-for="(item, index) in clist" :key="index">
<view :class="'nav_left_items ' + (curIndex == index ? 'active' : '')" @tap="switchRightTab"
:data-index="index" :data-id="item.id">{{item.name}}
</view>
</block>
</view>
<view class="nav_right">
<scroll-view class="nav_right-scroll" v-if="curIndex>-1" scroll-x="true">
<view class="nav-paili" :class="{'nav-pailiz':curIndex2==-1}"
@tap="changeCTab" :data-id="clist[curIndex].id" data-index="-1">全部</view>
<view class="nav-paili" :class="{'nav-pailiz':curIndex2== idx2}"
v-for="(item, idx2) in clist[curIndex].child" :key="idx2" @tap="changeCTab"
:data-id="item.id" :data-index="idx2">{{item.name}}</view>
</scroll-view>
<view class="nav_right-content">
<scroll-view class="classify-box" scroll-y="true" @scrolltolower="scrolltolower">
<view class="product-itemlist">
<view class="item" v-for="(item,index) in datalist" :key="index" @click="goto"
:data-url="'/pages/shop/product?id='+item.id">
<view class="product-pic">
<image class="image" :src="item.pic" mode="widthFix" />
</view>
<view class="product-info flex j-between">
<view class="product-info__name"><text>{{item.name}}</text></view>
<view class="product-info__bot flex j-between">
<view class="product-info__price">
<text class="current-price"><text
class="symbol">¥</text>{{item.sell_price}}</text>
<text class="original-price"
v-if="item.market_price*1 > item.sell_price*1">¥{{item.market_price}}</text>
</view>
<view class="car-btn"
@click.stop="buydialogChange" :data-proid="item.id"><text
class="iconfont icon-jiahao"></text></view>
</view>
</view>
</view>
</view>
<nomore text="没有更多商品了" v-if="nomore"></nomore>
<nodata text="暂无相关商品" v-if="nodata"></nodata>
<view style="width:100%;height:100rpx"></view>
</scroll-view>
</view>
</view>
</view>
</block>
<buydialog v-if="buydialogShow" :proid="proid" @buydialogChange="buydialogChange" :menuindex="menuindex">
</buydialog>
<loading v-if="loading" ></loading>
<dp-tabbar v-if="tab_show" :opt="opt" @getmenuindex="getmenuindex"></dp-tabbar>
<popmsg ref="popmsg"></popmsg>
<!-- 弹窗 -->
<view class="hm_box" v-if="hm_show">
<view class="contoent">
<view class="title">
检测到您的定位已经发生变化,是否切换店铺为你提供服务?
</view>
<view class="item">
<text class="wai" @click="hm30_show = !hm30_show "><text v-if="hm30_show" class="nei"></text></text> 最近30天内不显示该选项
</view>
<view class="btn_box">
<view class="left" @click="hm_btn(1)">
切换
</view>
<view class="right" @click="hm_btn(0)">
不切换
</view>
</view>
</view>
</view>
<!-- 悬浮按钮 -->
<drag-button></drag-button>
</view>
</template>
<script>
var app = getApp();
export default {
data() {
return {
tab_show:true,
class_hm30_show: uni.getStorageSync('class_hm30_show') || '',
hm_show:false,
hm30_show:false,
storeInfo: uni.getStorageSync('class_store_info')?JSON.parse(uni.getStorageSync('class_store_info')): {},
opt: {},
loading: false,
isload: false,
menuindex: -1,
pagenum: 1,
nomore: false,
nodata: false,
order: '',
field: '',
clist: [],
curIndex: -1,
curIndex2: -1,
datalist: [],
nodata: false,
curCid: 0,
proid: 0,
buydialogShow: false,
bid: '',
menuButtonTop: 0,
menuButtonHeight: 40,
isShowBack: true,
event_rul: app.globalData.event_url,
};
},
onLoad: function(opt) {
this.opt = app.getopts(opt);
const pages = getCurrentPages();
if (pages.length === 1) {
this.isShowBack = false;
} else {
this.isShowBack = true;
}
if(this.storeInfo.id){
this.bid = this.storeInfo.id ||'';
}else{
this.bid = this.opt.bid ||'';
}
if(opt.homeType){ //首页进来,默认全部商品
this.storeInfo ={};
this.bid= '';
this.tab_show = false;
}else{
if(this.storeInfo.id&&(!this.class_hm30_show || Number(new Date) >(this.class_hm30_show+ 2592000000))){
this.resetFn();
}
}
// #ifdef MP
// 获取右上角胶囊坐标信息
let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
this.menuButtonHeight = menuButtonInfo.height; // 胶囊的高度
if(this.storeInfo.name) {
this.menuButtonTop = menuButtonInfo.top - (48 - this.menuButtonHeight) / 2;
} else {
this.menuButtonTop = menuButtonInfo.top;
}
// #endif
this.getdata();
},
onPullDownRefresh: function() {
this.getdata();
},
methods: {
hm_btn(e){
if(this.hm30_show){
uni.setStorageSync('class_hm30_show',Number(new Date))
}
if(e == 1){
uni.navigateTo({
url:'/pagesA/shop/sizeShop'
})
}else{
this.hm_show = false;
}
},
resetFn(){
var that = this;
let newTime = Number(new Date)
let oldTime = this.storeInfo.resetTime || 0
console.log(newTime,oldTime)
if(newTime > (oldTime+3600000)){
app.getLocation(function(res) {
var latitude = res.latitude;
var longitude = res.longitude;
app.post('ApiBusiness/nearby',{latitude,longitude,bid:that.bid},function (res){
if(res.bid !== 0){
that.hm_show = true;
}
})
})
}
},
getdata: function() {
var that = this;
var nowcid = that.opt.cid;
if (!nowcid) nowcid = '';
that.pagenum = 1;
that.datalist = [];
that.loading = true;
app.get('ApiShop/classify', {
cid: nowcid,
bid: that.bid
}, function(res) {
that.loading = false;
var clist = res.data;
that.clist = clist;
if (nowcid) {
for (var i = 0; i < clist.length; i++) {
if (clist[i]['id'] == nowcid) {
that.curIndex = i;
that.curCid = nowcid;
}
var downcdata = clist[i]['child'];
var isget = 0;
for (var j = 0; j < downcdata; j++) {
if (downcdata[j]['id'] == nowcid) {
that.curIndex = i;
that.curIndex2 = j;
that.curCid = nowcid;
isget = 1;
break;
}
}
if (isget) break;
}
}
that.loaded();
that.getdatalist();
});
},
getdatalist: function(loadmore) {
if (!loadmore) {
this.pagenum = 1;
this.datalist = [];
}
var that = this;
var pagenum = that.pagenum;
var cid = that.curCid;
var bid = this.bid;
var order = that.order;
var field = that.field;
that.loading = true;
that.nodata = false;
that.nomore = false;
var wherefield = {};
wherefield.pagenum = pagenum;
wherefield.field = field;
wherefield.order = order;
wherefield.bid = bid;
if (bid > 0) {
wherefield.cid2 = cid;
} else {
wherefield.cid = cid;
}
app.post('ApiShop/getprolist', wherefield, function(res) {
that.loading = false;
uni.stopPullDownRefresh();
var data = res.data;
if (data.length == 0) {
if (pagenum == 1) {
that.nodata = true;
} else {
that.nomore = true;
}
}
var datalist = that.datalist;
var newdata = datalist.concat(data);
that.datalist = newdata;
});
},
scrolltolower: function() {
if (!this.nomore) {
this.pagenum = this.pagenum + 1;
this.getdatalist(true);
}
},
//改变子分类
changeCTab: function(e) {
var that = this;
var id = e.currentTarget.dataset.id;
var index = parseInt(e.currentTarget.dataset.index);
this.curIndex2 = index;
this.nodata = false;
this.curCid = id;
this.pagenum = 1;
this.datalist = [];
this.nomore = false;
this.getdatalist();
},
//改变排序规则
changeOrder: function(e) {
var t = e.currentTarget.dataset;
this.field = t.field;
this.order = t.order;
this.pagenum = 1;
this.datalist = [];
this.nomore = false;
this.getdatalist();
},
//事件处理函数
switchRightTab: function(e) {
var that = this;
var id = e.currentTarget.dataset.id;
var index = parseInt(e.currentTarget.dataset.index);
this.curIndex = index;
this.curIndex2 = -1;
this.nodata = false;
this.curCid = id;
this.pagenum = 1;
this.datalist = [];
this.nomore = false;
this.getdatalist();
},
buydialogChange: function(e) {
if (!this.buydialogShow) {
this.proid = e.currentTarget.dataset.proid
}
this.buydialogShow = !this.buydialogShow;
},
goBack() {
uni.navigateBack({
delta: 1,
})
}
}
};
</script>
<style lang="scss">
// 弹窗
.hm_box{
position: fixed;
z-index: 9;
top: 0;
bottom: 0;
right: 0;
left: 0;
background-color: rgba($color: #000000, $alpha: .5);
display: flex;
justify-content: center;
align-items: center;
.contoent{
width: 598rpx;
background-color: #fff;
padding: 60rpx 50rpx 44rpx;
border-radius: 12rpx;
.title {
font-size: 28rpx;
font-weight: 500;
color: #333333;
line-height: 40rpx;
}
.btn_box{
margin-top: 50rpx;
width: 100%;
display: flex;
justify-content: space-around;
.left,.right{
width: 336rpx;
text-align: center;
padding: 0rpx 20rpx;
box-sizing: border-box;
border-radius: 40rpx;
font-size: 28rpx;
color: #666666;
line-height: 80rpx;
}
.left {
border: 1rpx solid #E8E8E8;
}
.right{
margin-left: 26rpx;
color: #FFFFFF;
background: linear-gradient(to right,#00AE68 0%,#096742 100%);
}
}
.item{
margin-top: 20rpx;
width: 100%;
justify-content: center;
display: flex;
align-items: center;
font-size: 24rpx;
color: #666666;
line-height: 34rpx;
.wai{
width: 24rpx;
height: 24rpx;
margin-right: 6rpx;
border-radius: 50%;
overflow: hidden;
padding: 4rpx;
border: 1px solid#0A5D3B;
}
.nei{
display: block;
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #0A5D3B;
}
}
}
}
.coentent_box{
display: flex;
flex-direction: column;
.nav-pai1{
width: 100%;display:flex;align-items:center;justify-content:center;background: #FFF;
.nav-paili1{
flex:1; text-align:center;color:#999; font-size:28rpx;height:80rpx;line-height:80rpx;
&.actived,.selected {
font-weight:bold;
position: relative;
color: #333;
height: 80rpx;
line-height: 80rpx;
&::after {
content: '';position: absolute;left: 50%;bottom: 10rpx;width:42rpx;height: 6rpx;transform: translateX(-50%);background: #0A5D3B;border-radius: 4rpx;
}
}
}
.nav-paili1 .iconshangla{position: absolute;top:-4rpx;padding: 0 6rpx;font-size: 20rpx;color:#7D7D7D}
.nav-paili1 .icondaoxu{position: absolute;top: 8rpx;padding: 0 6rpx;font-size: 20rpx;color:#7D7D7D}
}
.head_nav{
margin-bottom: 20rpx;
width: 100%;
display: flex;
justify-content: space-between;
.item{
color: #333;
}
.itemz{
color: #f0bd71;
font-size: 34rpx;
font-weight: bold;
}
}
}
.pages-hd {
background: #FFF;
&__search {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12rpx 24rpx 10rpx;
// #ifdef H5
padding: 28rpx 24rpx 10rpx;
// #endif
.left {
margin-right: 16rpx;
.l_top {
color: #333;
display: flex;
align-items: center;
background: #F7F7F7;
height: 72rpx;
border-radius: 36rpx;
padding: 0 20rpx;
flex-shrink: 0;
width: 274rpx;
.txt {
font-weight: 28rpx;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin: 0 20rpx;
}
.iconfont {
color: #333333;
font-weight: 600;
}
.icon-dianpu1 {
font-size: 32rpx;
}
.icon-shang {
font-size: 22rpx;
transform: rotate(180deg);
}
}
}
}
&__shop {
padding: 22rpx 24rpx 10rpx;
.shop-name {
font-size: 32rpx;
font-weight: 500;
color: #333333;
line-height: 44rpx;
.iconfont {
font-size: 36rpx;
line-height: 44rpx;
}
}
.shop-distance {
font-size: 26rpx;
color: #999999;
line-height: 36rpx;
margin-top: 12rpx;
.iconfont {
font-size: 28rpx;
margin-right: 6rpx;
}
}
}
}
page {
height: 100%;
}
.container {
width: 100%;
height: 100%;
color: #f5f5f5;
display: flex;
flex-direction: column
}
.product-box {
.product-item {
width: 340rpx;
box-sizing: border-box;
border-radius: 10rpx;
margin-bottom: 24rpx;
&__hd {
width: 100%;
display: flex;
justify-content: center;
}
.product-img {
width: 100%rpx;
height: 260rpx;
}
.item-info {
padding: 24rpx 20rpx;
width: 100%;
&__name {
font-size: 26rpx;
font-weight: bold;
color: #333333;
line-height: 36rpx;
height: 72rpx;
}
&__salse {
margin-top: 10rpx;
font-size: 20rpx;
color: #999999;
line-height: 22rpx;
}
&__price {
margin-top: 4rpx;
font-size: 36rpx;
font-weight: bold;
color: #ED5925;
line-height:50rpx;
.symbol {
font-size: 24rpx;
line-height: 34rpx;
}
}
&__shop {
margin-top: 14rpx;
&-bd {
flex: 1;
}
&-logo {
width: 50rpx;
height: 50rpx;
flex-shrink: 0;
border-radius: 50%;
margin-right: 6rpx;
}
&-name {
flex: 1;
max-width: 175rpx;
font-size: 22rpx;
color: #666666;
line-height: 32rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
&-cart {
width:52rpx;
height:52rpx;
background: linear-gradient(to bottom,#01a664 0%,#086e45 100%);
.iconfont {
font-size:36rpx;
height: 52rpx;
line-height: 50rpx;
color: #FFFFFF;
}
}
}
}
.product-b-t {
padding-top: 28rpx;
.b-t1 {
color: #ED5925;
font-size: 24rpx;
}
.b-t2 {
font-size: 36rpx;
margin-left: 6rpx;
}
.car {
width: 54rpx;
height: 54rpx;
background: linear-gradient(to bottom,#F96648 0%,#FD4641 100%);
.icon-gouwuche1 {
color: #fff;
font-size: 36rpx;
line-height: 44rpx;
height: 48rpx;
}
}
}
}
.shops-cont:nth-child(2n) {
// margin-left: calc(100% - 680rpx);
margin-left: 2%;
}
.shops-cont:nth-child(n + 3) {
margin-top: 20rpx;
}
}
.navigation {
box-sizing: content-box;
.icon-icon_arrow_left {
font-size: 45rpx;
color: #000000;
}
&-title {
flex: 1;
padding-right: 44rpx;
text-align: center;
font-size: 36rpx;
font-weight: 500;
color: #333333;
line-height: 50rpx;
}
}
.search-container {
width: 100%;
height: 72rpx;
}
.search-box {
display: flex;
align-items: center;
width: 100%;
height: 100%;
border-radius: 36rpx;
border: 0;
background-color: #F7F7F7;
flex: 1
}
.search-box .img {
width: 32rpx;
height: 32rpx;
margin-right: 16rpx;
margin-left: 20rpx
}
.search-box .search-text {
font-size: 28rpx;
color: #C2C2C2;
width: 100%;
}
.content-container {
flex: 1;
height: 100%;
display: flex;
overflow: hidden;
}
.nav_left {
width: 176rpx;
height: 100%;
background: #F5F5F5;
overflow-y: scroll;
&_items {
width: 100%;
text-align: center;
color: #666666;
font-size: 28rpx;
line-height: 108rpx;
&.active {
position: relative;
background: #fff;
color: #333333;
font-size: 28rpx;
padding: 0 20rpx;
box-sizing: border-box;
font-weight: bold;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
position: relative;
&::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 6rpx;
height: 46rpx;
border-radius: 6rpx;
background: #0A5D3B;
}
}
}
}
.nav_right {
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
background: #FFFFFF;
box-sizing: border-box;
padding: 20rpx 20rpx 0 20rpx;
&-scroll {
width: 100%;
white-space: nowrap;
& ::-webkit-scrollbar {
display: none;
}
}
}
.nav_right-content {
background: #ffffff;
padding-right: 20rpx;
height: 100%
}
.nav-paili {
display: inline-block;
margin: 0 10rpx 20rpx 0;
min-width: 96rpx;
box-sizing: border-box;
padding: 0 22rpx;
border-radius: 54rpx;
background: #F7F7F7;
height: 54rpx;
line-height: 54rpx;
color: #666;
font-size: 24rpx;
text-align: center;
}
.nav-pailiz {
background: #E2F7EF;
color: #0A5D3B;
font-weight: bold;
}
.nav-paili .iconshangla {
position: absolute;
top: -4rpx;
padding: 0 6rpx;
font-size: 20rpx;
color: #7D7D7D
}
.nav-paili .icondaoxu {
position: absolute;
top: 8rpx;
padding: 0 6rpx;
font-size: 20rpx;
color: #7D7D7D
}
.classify-ul {
width: 100%;
height: 100rpx;
padding: 0 10rpx;
}
.classify-li {
flex-shrink: 0;
display: flex;
background: #F5F6F8;
border-radius: 22rpx;
color: #6C737F;
font-size: 20rpx;
text-align: center;
height: 44rpx;
line-height: 44rpx;
padding: 0 28rpx;
margin: 12rpx 10rpx 12rpx 0
}
.classify-box {
width: 100%;
height: calc(100%);
overflow-y: scroll;
& ::-webkit-scrollbar {
display: none;
}
}
.classify-box .nav_right_items {
width: 100%;
border-bottom: 1px #f4f4f4 solid;
padding: 16rpx 0;
box-sizing: border-box;
position: relative;
}
.product-itemlist {
height: auto;
position: relative;
overflow: hidden;
padding: 0px;
display: flex;
flex-wrap: wrap
}
.product-itemlist .item {
width: 100%;
display: inline-block;
position: relative;
margin-bottom: 12rpx;
background: #fff;
display: flex;
padding: 14rpx 0;
border-radius: 10rpx;
border-bottom: 1px solid #F4F4F4;
}
.product-itemlist .product-pic {
width: 180rpx;
overflow: hidden;
background: #ffffff;
border-radius: 4px;
}
.product-itemlist .product-pic .image {
width: 100%;
}
.product-itemlist .product-info {
flex-direction: column;
flex: 1;
padding: 0 10rpx 5rpx 20rpx;
&__name {
font-size: 26rpx;
font-weight: 500;
color: #333333;
line-height: 36rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
/* autoprefixer: ignore next */
-webkit-box-orient: vertical;
text-align: justify;
white-space: pre-wrap;
word-break: break-all;
}
&__price {
.current-price {
font-size: 36rpx;
font-weight: 500;
color: #ED5925;
line-height: 36rpx;
}
.original-price {
margin-left: 10rpx;
font-size: 24rpx;
color: #aaa;
text-decoration: line-through;
}
.symbol {
font-size: 22rpx;
}
}
.icon-jiahao {
color: #068150;
font-size: 45rpx;
}
}
::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}
</style>