From a626d3659132a968fb103adbae2526510a598554 Mon Sep 17 00:00:00 2001 From: zhangjing Date: Fri, 15 Sep 2023 17:14:36 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=9C=80=E6=96=B0]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/interfaces/user.js | 9 +- pages/account/index.js | 6 +- pages/account/index.wxml | 17 +++ pages/account/index.wxss | 10 ++ pages/login/index.js | 2 +- pages/mall/details/details.js | 3 +- pages/refund/refund.wxml | 2 +- pages/user/code/code.js | 261 ++++++++++++++++++---------------- pages/user/code/code.json | 4 +- pages/user/code/code.wxml | 63 ++++---- pages/user/code/code.wxss | 40 ++---- pages/user/index.js | 14 +- pages/user/index.wxml | 21 ++- pages/user/index.wxss | 58 ++++++++ pages/user/team/index.wxml | 26 +++- pages/user/team/index.wxss | 49 ++++++- project.private.config.json | 4 +- static/icons/add_icon.png | Bin 4466 -> 3901 bytes static/icons/parent_icon.png | Bin 0 -> 10795 bytes static/icons/parent_tel.png | Bin 0 -> 3863 bytes static/share_00.png | Bin 0 -> 11044 bytes static/share_01.png | Bin 0 -> 10184 bytes 22 files changed, 383 insertions(+), 206 deletions(-) create mode 100644 static/icons/parent_icon.png create mode 100644 static/icons/parent_tel.png create mode 100644 static/share_00.png create mode 100644 static/share_01.png diff --git a/api/interfaces/user.js b/api/interfaces/user.js index b6f2608..a749c66 100644 --- a/api/interfaces/user.js +++ b/api/interfaces/user.js @@ -39,11 +39,18 @@ const teamList = data => req({ data: data }) +// 邀请码背景 +const poster = (data) => req({ + url: "user/posters", + data: data +}) + export default ({ userIndex, userSetup, setting, account, miniShare, - teamList + teamList, + poster }) \ No newline at end of file diff --git a/pages/account/index.js b/pages/account/index.js index 03f2f9e..3d561ea 100644 --- a/pages/account/index.js +++ b/pages/account/index.js @@ -17,7 +17,8 @@ Page({ logsArr : [], page : { current: 1 }, pageLoding : false, - needSign : false + needSign : false, + examine : '' }, /** @@ -40,10 +41,11 @@ Page({ wx.$api.user.account({ page: this.data.page.current }).then(res => { - let { all_in, balance, frozen, need_sign, logs } = res.data + let { all_in, balance, frozen, need_sign, examine, logs } = res.data this.setData({ account : { all_in, balance, frozen }, needSign : need_sign, + examine : examine, logsArr : logs.page.current == 1 ? logs.data : this.data.logsArr.concat(logs.data), page : logs.page, pageLoding : !logs.page.has_more diff --git a/pages/account/index.wxml b/pages/account/index.wxml index 36cf304..ba22041 100644 --- a/pages/account/index.wxml +++ b/pages/account/index.wxml @@ -18,6 +18,23 @@ + + + 销售补贴考核进度 + + + + {{examine.amount}} + + + + + 收益明细 diff --git a/pages/account/index.wxss b/pages/account/index.wxss index 788e7ca..5e050e7 100644 --- a/pages/account/index.wxss +++ b/pages/account/index.wxss @@ -13,6 +13,16 @@ page { background-color: #f6f6f6; } .tab-name{ font-size: 28rpx; color: gray; } .tab-number { font-size: 34rpx; font-weight: bold; margin-top: 5rpx; } +/* 进度条 */ +.bar {margin: 30rpx; background-color: #ffffff; border-radius: 20rpx;box-sizing: border-box; padding: 30rpx;} +.bar-title {font-weight: 600; margin-bottom: 30rpx;} +.bar-line {width: 100%; height: 60rpx; overflow: hidden;position: relative;} +.progress {height: 20rpx; background-color: #ffb0c2;position: absolute; left: 0; top: 0;} +.progress-box {position: absolute; background-color: #dc3159; height: 20rpx;} +.progress-box-name {right: 0rpx;top: 35rpx;position: absolute; font-size: 24rpx; color: #dc3159;} +.progress-box-name.active {right: -15rpx;} +.progress-name {position: absolute;right: 0rpx;top: 35rpx; font-size: 24rpx; color: rgb(146, 146, 146);} + /* 收益明细 */ .listTitle { padding: 30rpx 30rpx 0; font-weight: 600; box-sizing: border-box; font-size: 30rpx; } .list { padding: 30rpx; box-sizing: border-box;} diff --git a/pages/login/index.js b/pages/login/index.js index 917b778..c6f61ee 100644 --- a/pages/login/index.js +++ b/pages/login/index.js @@ -61,7 +61,7 @@ Page({ return } wx.showToast({ - title: '请勾选用户隐私和服务协议', + title: '请勾选隐私协议和服务协议', icon: "none" }) } diff --git a/pages/mall/details/details.js b/pages/mall/details/details.js index 89b91fc..4e91d60 100644 --- a/pages/mall/details/details.js +++ b/pages/mall/details/details.js @@ -84,7 +84,8 @@ Page({ mask : true }) wx.request({ - url : 'https://api.xhtest.douhuofalv.com/api/mall/goods/' + this.data.goodsId, + // url : 'https://api.xhtest.douhuofalv.com/api/mall/goods/' + this.data.goodsId, + url : 'https://api.xuanhuojk.com/api/mall/goods/' + this.data.goodsId, header : { "Accept" : "application/json", "channel" : "client", diff --git a/pages/refund/refund.wxml b/pages/refund/refund.wxml index a6714c1..625ee81 100644 --- a/pages/refund/refund.wxml +++ b/pages/refund/refund.wxml @@ -15,7 +15,7 @@ {{item.state.remark}} - 总退款{{item.refund_total}} + 总退款 ¥{{item.refund_total}} 取消售后 售后详情 diff --git a/pages/user/code/code.js b/pages/user/code/code.js index be80706..1ba1c06 100644 --- a/pages/user/code/code.js +++ b/pages/user/code/code.js @@ -1,68 +1,72 @@ + /* * 手太欠 * 愿这世界都如故事里一样 美好而动人~ */ Page({ - /** * 页面的初始数据 */ data: { - barHeight : getApp().globalData.barHeight, // 状态栏高度 - shareSee : false, // 分享弹出 - inviteText : '', // 邀请码 - inviteCode : '', // 二维码 - nickname : '', // 用户名称 - invite : '', // 邀请码 - //海报 - canvas : '' + nameInfo: '', // 用户名 + invite : '', // 邀请码 + qrcode : '', // 二维码 + posters : [], // 海报数组 + current : 0, // 选项卡下标 }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - // 初始化画布 - wx.createSelectorQuery().select('#coverCanvas').fields({node: true, size: true}).exec(canvasNode => { - const canvas = canvasNode[0].node - canvas.width = 375 - canvas.height = 800 - this.setData({ - canvas - }) - }) - }, - /** * 生命周期函数--监听页面显示 */ - onShow() { - // 小程序码 - this.ShareInfo(); - console.log(wx.getStorageSync("invite")) - }, + onLoad() { + let miniShareFun = wx.$api.user.poster({ url: 'pages/mall/index' }) + // wx.$api.user.poster({ url: 'pages/mall/index' }).then(res => { + // console.log(res.data) + // this.setData({ + // nameInfo : res.data.name, + // posters : res.data.posters, + // qrcode : res.data.qrcode + // }) + // }) - /** - * 小程序码 - */ - ShareInfo() { - wx.$api.user.miniShare({ - url: 'pages/mall/index' - }).then(res => { - let { user_info, qrcode, invite } = res.data + wx.showLoading({ + title: '加载中...', + mask : true + }) + + Promise.all([miniShareFun]).then(res => { + let miniShareData = res[0].data this.setData({ - invite : invite, - inviteCode: qrcode, - nickname : user_info.nickname + nameInfo : miniShareData.name, + posters : miniShareData.posters, + qrcode : miniShareData.qrcode, + invite : miniShareData.invite, + current : 0 }) - }).catch(err => {}) + // wx.getImageInfo({ + // src : miniShareData.qrcode, + // success : qrcodePath => { + // this.setData({ + // qrcode : qrcodePath.path, + // posters : miniShareData.posters, + // nameName : miniShareData.name, + // current: 0 + // }) + // } + // }) + wx.hideLoading() + }) + }, + swiperChange(e) { + let index = e.detail.current + this.setData({ + current: index + }) }, - /** * 检查授权信息 */ - onSetting(){ + onCheckSetting(){ wx.getSetting({ success: res => { if(res.authSetting['scope.writePhotosAlbum'] || res.authSetting['scope.writePhotosAlbum'] === undefined){ @@ -89,96 +93,102 @@ Page({ */ onCanvas(){ wx.showLoading({ - title: '生成图片中...', + title: '加载中...', mask : true }) - const canvas = this.data.canvas - const ctx = canvas.getContext('2d') - const codeImgEl = canvas.createImage() - const backBackEl = canvas.createImage() + wx.getImageInfo({ + src: this.data.posters[this.data.current].cover, + success: imgInfo => { + wx.hideLoading() + wx.showLoading({ + title : '生成海报中...', + mask : true + }) + let posterSrc = imgInfo.path + let posterW = this.data.posters[this.data.current].width + let posterH = this.data.posters[this.data.current].height + let posterY = this.data.posters[this.data.current].qrcode.y + let posterX = this.data.posters[this.data.current].qrcode.x + let qrcodeSize = this.data.posters[this.data.current].qrcode.size + let qrcodeSrc = this.data.qrcode + let nameY = this.data.posters[this.data.current].font.font_y + let nameColor = this.data.posters[this.data.current].font.font_color - codeImgEl.src = this.data.inviteCode //二维码 - backBackEl.src = 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/08/31/555d989b496e6d68ee8405bcae16555e.jpg' //背景素材 - const codeImgLoding = new Promise((resolve, reason) => { - codeImgEl.onload = () => { - resolve() - } - }) - const backBackLoding = new Promise((resolve, reason) => { - backBackEl.onload = () => { - resolve() - } - }) - Promise.all([codeImgLoding, backBackLoding]).then(() => { - ctx.drawImage(backBackEl, 0, 0, 375, 800) - // 绘制[二维码-白色背景] - ctx.fillStyle = "#ffffff"; - ctx.fillRect(140, 570, 130, 130); + wx.createSelectorQuery().select('#canvas').fields({ node: true, size: true }).exec(res => { + const canvas = res[0].node; + const ctx = canvas.getContext("2d"); + const img = canvas.createImage() + const code = canvas.createImage() + const dpr = wx.getSystemInfoSync().pixelRatio - // 绘制[二维码-白色背景黑框] - ctx.strokeStyle = "#da2b54"; - ctx.lineWidth = 2 - ctx.strokeRect(140, 570, 132, 132); + // 设置画布 + canvas.width = posterW * dpr + canvas.height = posterH * dpr + ctx.scale(dpr, dpr) + // 清理画布 + ctx.clearRect(0, 0, canvas.width, canvas.height) + // 绘制背景 + img.src = posterSrc + img.onload = () => { + ctx.drawImage(img, 0, 0, posterW, posterH) + + // 绘制图片二维码 + code.src = qrcodeSrc + code.onload = () => { + var x = (posterX - 0 + 60); + var y = (nameY - 0 + 20); - // 绘制[二维码] - ctx.drawImage(codeImgEl, 150, 580, 110, 110) + //绘制字体 + ctx.font = '22px "微软雅黑"'; + ctx.fillStyle = nameColor; + ctx.textAlign = "center"; + ctx.fillText(this.data.nameInfo, x, y); + // ctx.arc( posterX + qrcodeSize/2, posterY + qrcodeSize/2, qrcodeSize/2 + 5, 0, 2 * Math.PI, false); + ctx.arc(Number(posterX) + qrcodeSize/2, Number(posterY) + Number(qrcodeSize/2), Number(qrcodeSize/2 + 5), 0, 2 * Math.PI,true); + ctx.fillStyle = "#ffffff"; + ctx.fill(); + ctx.drawImage(code, posterX, posterY, qrcodeSize, qrcodeSize) - // 文字 - ctx.font = "bold 14px Arial"; //字体大小 - ctx.fillStyle = "#ffffff"; //字体颜色 - ctx.textAlign = "center" - ctx.fillText('保存并分享二维码', 208, 740); - - // 用户昵称 - ctx.font = "bold 14px Arial"; //字体大小 - ctx.fillStyle = "#ffffff"; //字体颜色 - ctx.textAlign = "center" - ctx.fillText(this.data.nickname, 208, 770); - - wx.hideLoading() - wx.canvasToTempFilePath({ - canvas: this.data.canvas, - success : res => { - wx.saveImageToPhotosAlbum({ - filePath: res.tempFilePath, - success: saveRes => { - wx.showToast({ - title: '海报已保存至您的相册', - icon : 'none' + // 保存海报 + wx.canvasToTempFilePath({ + canvas : canvas, + width : canvas.width, + height : canvas.height, + destWidth : canvas.width, + destHeight : canvas.height, + quality : 1, + success : paths => { + wx.saveImageToPhotosAlbum({ + filePath: paths.tempFilePath, + success: res => { + wx.showToast({ + title : '海报已保存', + }) + } + }) + }, + fail: () => { + wx.hideLoading() + wx.showModal({ + title: '提示', + content: '暂未授权小程序写入您的相册,无法存储海报', + confirmColor: '#e50d01', + confirmText: '去设置', + success: res => { + if (res.confirm) { + wx.openSetting() + } + } + }) + } }) - this.setData({ - shareSee: false - }) - }, - fail: () => { - wx.hideLoading() } - }) - }, - }) - }).catch(err => { - wx.hideLoading() - wx.showToast({ - title: '图片加载失败', - icon : 'none' - }) + } + }) + } }) }, - /** - * 分享弹出 - */ - shareTap() { - this.setData({ - shareSee: !this.data.shareSee - }) - }, - - // 返回上一页 - returnGo() { - wx.navigateBack() - }, - /** * 微信分享 */ @@ -187,9 +197,8 @@ Page({ shareSee: false }) return { - title : '绚火健康,生命可以如此精彩~', - path : "/pages/mall/index?invite=" + this.data.invite, - imageUrl: "https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/08/31/555d989b496e6d68ee8405bcae16555e.jpg" + title : '绚火健康品牌主张', + path : "/pages/mall/index?invite=" + this.data.invite } } }) \ No newline at end of file diff --git a/pages/user/code/code.json b/pages/user/code/code.json index f7efdab..7139157 100644 --- a/pages/user/code/code.json +++ b/pages/user/code/code.json @@ -1,4 +1,4 @@ { "usingComponents": {}, - "navigationStyle": "custom" - } \ No newline at end of file + "navigationBarTitleText": "邀请海报" +} \ No newline at end of file diff --git a/pages/user/code/code.wxml b/pages/user/code/code.wxml index 80be5bc..b2fa41b 100644 --- a/pages/user/code/code.wxml +++ b/pages/user/code/code.wxml @@ -1,40 +1,33 @@ - - - - - - - - - - - - - 保存并分享二维码 - - - - 分享 - - - - - - - - - - - - - - 保存二维码 + + + + + + + + {{nameInfo}} + + + + + + + + 保存海报 - 取消 + + + + + diff --git a/pages/user/code/code.wxss b/pages/user/code/code.wxss index 05f6a2f..4adf050 100644 --- a/pages/user/code/code.wxss +++ b/pages/user/code/code.wxss @@ -1,31 +1,19 @@ -/* 返回上一页 */ -.navigation{ position: fixed; top: 0; left: 0; z-index: 9; width: 100%; height: 90rpx; background-color: transparent; transition: .2s; } -.navigation.active { background-color: transparent; } -.navigation-arrow { width: 44rpx; height: 44rpx; margin: 20rpx 15rpx 0 20rpx; } -/* 二维码海报 */ -.code { width: 100vw; height: 100vh; position: relative; } -.code-back { position: absolute; left: 0; top: 0; width: 100%; height: 100%; } -.code-cont { width: 400rpx; position: absolute; z-index: 9; text-align: center; left: calc(50% - 200rpx); bottom: 8vh; } -.code-img{ margin: 0 auto 20rpx; overflow: hidden; width: 260rpx; height: 260rpx; border: 4rpx solid #ff4f64; background-color: #ffffff; padding: 10rpx; box-sizing: border-box; border-radius: 50%; } -.code-img image { width: 100%; } -.code-text { color: #ffffff; font-size: 30rpx; } +.content{ display: flex; align-items: center; flex-direction: column; justify-content: center; background: white; box-shadow: brown; min-height: 100vh;} -/* 海报分享 */ -.code-share { position: absolute; right: 0; bottom: 15%; background: linear-gradient(to right, #fffafb, #ffd4dd); width: 50rpx; text-align: center; border-radius: 26rpx 0 0 26rpx; padding: 30rpx 10rpx 30rpx 15rpx; box-shadow: 0 0 0 6rpx rgba(249, 96, 116, .8); z-index: 9; -} -.code-share-name { writing-mode:vertical-rl; font-size: 30rpx; padding-left: 4rpx; color: #da2b54; } -.code-share image { width: 36rpx; height: 36rpx; margin-bottom: 5rpx; } +/* 海报预览 */ +.poster{ width: 550rpx; height: 900rpx; background: white; box-shadow: 0 0 10rpx 10rpx rgba(0, 0, 0, .05); border-radius: 20rpx; overflow: hidden; } +.poster-item{ width: 550rpx; height: 900rpx; background-position: center; background-size: cover; position: relative; } +.poster-qrocde{ position: absolute; background-color: white; border-radius: 50%; padding: 10rpx; } +.poster-name{ position: absolute; z-index: 999; text-align: center;} -/* 弹出层 */ -.sharePop-lay{ background: rgba(0, 0, 0, .5); position: fixed; top: 0; left: 0; right: 0; height: 100vh; width: 100vw; z-index: 9; display: none; } -.sharePop-lay.active{ display: block; } -.sharePop { position: fixed; width: 100%; z-index: 99; left: 0; bottom: 0; background-color: #ffffff; } -.shareCont-label image { width: 60rpx; height: 60rpx; display: block; margin: 0 auto 10rpx; } -.shareCancel { border-top: 2rpx solid #ebebeb; color: #000000; width: 100%; text-align: center; line-height: 100rpx; } -.shareCont{ display: flex; padding: 30rpx 0; } -.shareCont-label { color: #000000; flex: 2; text-align: center; font-size: 28rpx; } -.codeShare-button { background-color: transparent; padding: 0; font-weight: normal; } +/* 分享功能 */ +.tool{ display: flex; align-items: center; justify-content: space-around; width: 70vw; margin-top: 80rpx; } +.tool-item{ text-align: center; } +.tool-item[size="mini"]{ padding: 0; margin: 0; background-color: transparent; } +.tool-icon{ background: #f7f8f9; width: 88rpx; height: 88rpx; border-radius: 50%; vertical-align: top; } +.tool-text{ color: gray; font-size: 30rpx; line-height: 40rpx; margin-top: 10rpx; } /* canvas */ -.canvas-img { position: fixed; left: 0%; left: -100%; top: 0; z-index: -1; } \ No newline at end of file +.canvas{ background: #ddd; position: absolute; top: 0; left:-200%; } + diff --git a/pages/user/index.js b/pages/user/index.js index 868bd4b..9348897 100644 --- a/pages/user/index.js +++ b/pages/user/index.js @@ -84,5 +84,17 @@ Page({ url: '/pages/mall/details/details?id=' + id, }) } - } + }, + + /** + * 拨打电话 + */ + toCall(){ + wx.makePhoneCall({ + phoneNumber: this.data.userData.parent.username, + success: res=> { + console.log() + } + }) + }, }) \ No newline at end of file diff --git a/pages/user/index.wxml b/pages/user/index.wxml index d3fb17b..3e1614b 100644 --- a/pages/user/index.wxml +++ b/pages/user/index.wxml @@ -4,7 +4,7 @@ {{userData.user.nickname}} - + @@ -21,6 +21,25 @@ + + + + + + + + {{userData.parent.nickname}}推荐人 + {{userData.parent.hidden_username}} + + + + 智能电话 + + + + + + diff --git a/pages/user/index.wxss b/pages/user/index.wxss index 7515164..f733029 100644 --- a/pages/user/index.wxss +++ b/pages/user/index.wxss @@ -130,6 +130,64 @@ page { border: 4rpx solid #ffffff; } +.parent-user { + display: flex; + padding: 30rpx; + box-sizing: border-box; + position: relative; +} + +.parent-icon { + width: 68rpx; + height: 68rpx; + margin-top: 4rpx; +} + +.parent-cont { + width: calc(100% - 68rpx); + padding: 0 20rpx; + box-sizing: border-box; + color: #000000; +} + +.parent-cont-name { + font-weight: 600; + margin-bottom: 6rpx; + font-size: 28rpx; + display: flex; +} + +.parent-cont-tips { + border: 2rpx solid #da2b54; + color: #da2b54; + font-weight: normal; + font-size: 22rpx; + border-radius: 20rpx; + padding: 0 13rpx; + height: 28rpx; + line-height: 28rpx; + margin-left: 15rpx; + margin-top: 4rpx; +} + +.parent-cont-tel { + font-size: 26rpx; + color: #333; +} + +.parent-tel { + position: absolute; + right: 30rpx; + top: 32rpx; + font-size: 24rpx; + text-align: center; +} + +.parent-tel-icon { + width: 36rpx; + height: 36rpx; + margin: 0 auto; +} /* 工具 */ .tool-list { diff --git a/pages/user/team/index.wxml b/pages/user/team/index.wxml index 9c9b7d4..8873b11 100644 --- a/pages/user/team/index.wxml +++ b/pages/user/team/index.wxml @@ -37,15 +37,33 @@ - + - {{item.nickname || '-'}}{{item.hidden_username || '-'}} - {{item.created_at}} + {{item.nickname || '-'}} + {{item.hidden_username || '-'}}{{item.created_at}} + + + + + 个人业绩(元) + + + {{item.self_perf}} + + + + + 总业绩(元) + + + {{item.group_perf}} + + - 加载中... + 加载中... 没有更多了~ diff --git a/pages/user/team/index.wxss b/pages/user/team/index.wxss index 046dfd0..625f697 100644 --- a/pages/user/team/index.wxss +++ b/pages/user/team/index.wxss @@ -81,8 +81,8 @@ page { padding: 25rpx 30rpx; box-sizing: border-box; margin-bottom: 30rpx; - display: flex; align-items: center; + position: relative; } .listItem-head { @@ -90,14 +90,33 @@ page { } .listItem-cont { - width: 100% - 88rpx; - padding-left: 30rpx; + width: 100%; + position: absolute; + left: 0; + top: 0; + padding: 30rpx 30rpx 30rpx 140rpx; box-sizing: border-box; } .listItem-name { font-weight: 600; line-height: 40rpx; + margin-bottom: 10rpx; + display: flex; +} + +.listItem-name image { + width: 100rpx; + margin: 4rpx 0 0 15rpx; +} + +.listItem-tel { + font-size: 28rpx; + display: flex; +} + +.listItem-tel-user { + flex: 1; } .listItem-name text { @@ -111,6 +130,30 @@ page { line-height: 40rpx; } +.listItem-flex { + display: flex; + margin-top: 20rpx; + padding-top: 20rpx; + background-color: #f6f6f6; + padding: 20rpx; + box-sizing: border-box; + border-radius: 10rpx; +} + +.listItem-label { + flex: 3; + text-align: center; +} + +.listItem-label-name { + font-size: 26rpx; + margin-bottom: 15rpx; +} + +.listItem-label-number { + font-size: 30rpx; + font-weight: 600; +} /* 暂无数据 */ .pages-no { diff --git a/project.private.config.json b/project.private.config.json index ba0737f..823bb97 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -17,8 +17,8 @@ }, { "name": "", - "pathName": "pages/mall/index", - "query": "invite=233232", + "pathName": "pages/user/code/code", + "query": "", "launchMode": "default", "scene": null }, diff --git a/static/icons/add_icon.png b/static/icons/add_icon.png index addb8f4a870feb41938fd29b326fdaee4e75959e..b170b5651292bba9fc5fe11a23579caef820ca49 100644 GIT binary patch delta 3207 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 diff --git a/static/icons/parent_icon.png b/static/icons/parent_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6621e185f4b132b5132cbf450da32afa826847 GIT binary patch literal 10795 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 ZgnNfbl<{w#2ESkDRF>C}tC6t`{a>>W@?-!2 literal 0 HcmV?d00001 diff --git a/static/icons/parent_tel.png b/static/icons/parent_tel.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d6bd2ea3d46719789f25b9bd9084f912877259 GIT binary patch literal 3863 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 literal 0 HcmV?d00001 diff --git a/static/share_00.png b/static/share_00.png new file mode 100644 index 0000000000000000000000000000000000000000..321697765a44e7055a4c3b978e2d84229a0e63b7 GIT binary patch literal 11044 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 C`j