Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 6.2 KiB |
@ -0,0 +1,381 @@ |
|||||||
|
<template> |
||||||
|
<div id="AllMessage"> |
||||||
|
<BaseHeader> |
||||||
|
<template v-slot:center> |
||||||
|
<div class="center" @click="isShowType = !isShowType"> |
||||||
|
<span class="f16">{{ showTypeText }}</span> |
||||||
|
<img :class="{show:isShowType}" src="../../assets/img/icon/arrow-up-white.png" alt=""> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
</BaseHeader> |
||||||
|
<transition name="fade"> |
||||||
|
<div class="type-dialog" v-if="isShowType"> |
||||||
|
<div class="dialog-content"> |
||||||
|
<div class="row" @click="toggleShowType(1)"> |
||||||
|
<div class="left"> |
||||||
|
<img src="../../assets/img/icon/message/done-gray.png" alt=""> |
||||||
|
<span>全部消息</span> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row" @click="toggleShowType(2)"> |
||||||
|
<div class="left"> |
||||||
|
<img src="../../assets/img/icon/message/like-gray.png" alt=""> |
||||||
|
<span>赞</span> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row" @click="toggleShowType(3)"> |
||||||
|
<div class="left"> |
||||||
|
<img src="../../assets/img/icon/message/call-gray.png" alt=""> |
||||||
|
<span>@我的</span> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="row" @click="toggleShowType(4)"> |
||||||
|
<div class="left"> |
||||||
|
<img src="../../assets/img/icon/message/comment-gray.png" alt=""> |
||||||
|
<span>评论</span> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="mask" @click="isShowType = false"></div> |
||||||
|
</div> |
||||||
|
</transition> |
||||||
|
<div class="content"> |
||||||
|
<Scroll |
||||||
|
ref="scroll" |
||||||
|
:use-refresh="true" |
||||||
|
@refresh="refresh" |
||||||
|
@pulldown="loadData"> |
||||||
|
<div class="messages"> |
||||||
|
<div class="message" @click="$nav('/message/visitors')"> |
||||||
|
<div class="left"> |
||||||
|
<img v-lazy="$imgPreview(userinfo.avatar)" alt="" class="avatar"> |
||||||
|
</div> |
||||||
|
<div class="right"> |
||||||
|
<div class="desc"> |
||||||
|
<div class="top"> |
||||||
|
<div class="name">主页访客</div> |
||||||
|
</div> |
||||||
|
<div class="desc-content"> |
||||||
|
4人最近访问了你的主页,看看他们是谁 |
||||||
|
</div> |
||||||
|
<div class="bottom"> |
||||||
|
<div class="time">01-11</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<img v-lazy="$imgPreview(userinfo.avatar)" alt="" class="poster"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="message" v-for="item in showMessageList" @click="$no"> |
||||||
|
<div class="left"> |
||||||
|
<img v-lazy="$imgPreview(item.author.avatar)" alt="" class="avatar"> |
||||||
|
<img v-if="selectShowType === 2" src="../../assets/img/icon/message/love-message.webp" alt="" |
||||||
|
class="type"> |
||||||
|
<img v-if="selectShowType === 3" src="../../assets/img/icon/message/call-message.webp" alt="" |
||||||
|
class="type"> |
||||||
|
<img v-if="selectShowType === 4" src="../../assets/img/icon/message/comment-message.webp" alt="" |
||||||
|
class="type"> |
||||||
|
</div> |
||||||
|
<div class="right"> |
||||||
|
<div class="desc"> |
||||||
|
<div class="top"> |
||||||
|
<div class="name">{{ item.author.nickname }}</div> |
||||||
|
<div class="tag">朋友</div> |
||||||
|
</div> |
||||||
|
<div class="desc-content"> |
||||||
|
<span v-if="selectShowType === 1">好好看啊</span> |
||||||
|
<span v-if="selectShowType === 2">赞了你的作品</span> |
||||||
|
<span v-if="selectShowType === 3">@{{ userinfo.nickname }}</span> |
||||||
|
<span v-if="selectShowType === 4">好好看啊</span> |
||||||
|
</div> |
||||||
|
<div class="bottom"> |
||||||
|
<div class="type" v-if="selectShowType === 3">在评论中提到了你</div> |
||||||
|
<div class="type" v-if="selectShowType === 4">回复了你的评论</div> |
||||||
|
<div class="time">01-11</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<img v-lazy="$imgPreview(item.video+'?vframe/jpg/offset/0/w/300')" alt="" class="poster"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="look-all" v-if="!showAll" @click="showAll = true"> |
||||||
|
<span>查看全部</span> |
||||||
|
<back/> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="title"> |
||||||
|
<span>朋友推荐</span> |
||||||
|
<img src="../../assets/img/icon/about-gray.png" alt=""> |
||||||
|
</div> |
||||||
|
<Peoples v-model:list="recommend" |
||||||
|
:loading="loading" |
||||||
|
mode="recommend"/> |
||||||
|
<Loading :is-full-screen="false" v-if="loading"/> |
||||||
|
</Scroll> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
import {mapState} from "vuex"; |
||||||
|
import People from "../people/components/People"; |
||||||
|
import Scroll from "../../components/Scroll"; |
||||||
|
import Loading from "../../components/Loading"; |
||||||
|
import Peoples from "../people/components/Peoples"; |
||||||
|
import resource from "../../assets/data/resource.js"; |
||||||
|
|
||||||
|
|
||||||
|
export default { |
||||||
|
name: "Fans", |
||||||
|
components: { |
||||||
|
Scroll, |
||||||
|
People, |
||||||
|
Loading, |
||||||
|
Peoples |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
loading: false, |
||||||
|
isShowType: false, |
||||||
|
showAll: false, |
||||||
|
recommend: [], |
||||||
|
messages: [], |
||||||
|
selectShowType: 1 |
||||||
|
} |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
...mapState(['userinfo', 'friends']), |
||||||
|
showTypeText() { |
||||||
|
switch (this.selectShowType) { |
||||||
|
case 1: |
||||||
|
return '全部消息' |
||||||
|
case 2: |
||||||
|
return '赞' |
||||||
|
case 3: |
||||||
|
return '@我的' |
||||||
|
case 4: |
||||||
|
return '评论' |
||||||
|
} |
||||||
|
}, |
||||||
|
showMessageList() { |
||||||
|
if (this.showAll) { |
||||||
|
return this.messages |
||||||
|
} |
||||||
|
return this.messages.slice(0, 2) |
||||||
|
} |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.recommend = this.$clone(this.friends.all) |
||||||
|
this.fans = this.$clone(this.friends.all) |
||||||
|
this.recommend.map(v => { |
||||||
|
v.type = -1 |
||||||
|
}) |
||||||
|
this.messages = this.$clone(resource.videos) |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
toggleShowType(index) { |
||||||
|
this.selectShowType = index |
||||||
|
this.isShowType = false |
||||||
|
}, |
||||||
|
remove(index) { |
||||||
|
this.$notice('将不会再为你推荐该用户') |
||||||
|
this.recommend.splice(index, 1) |
||||||
|
}, |
||||||
|
async refresh() { |
||||||
|
await this.$sleep(1000) |
||||||
|
this.$refs.scroll.refreshEnd() |
||||||
|
}, |
||||||
|
async loadData() { |
||||||
|
if (this.loading) return |
||||||
|
this.loading = true |
||||||
|
await this.$sleep(500) |
||||||
|
this.loading = false |
||||||
|
let temp = this.$clone(this.friends.all) |
||||||
|
temp.map(v => { |
||||||
|
v.type = -1 |
||||||
|
}) |
||||||
|
this.recommend = this.recommend.concat(temp) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="less"> |
||||||
|
@import "@/assets/less/index"; |
||||||
|
|
||||||
|
|
||||||
|
.list-complete-enter-from, |
||||||
|
.list-complete-leave-to { |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.list-complete-leave-active { |
||||||
|
position: absolute; |
||||||
|
} |
||||||
|
|
||||||
|
#AllMessage { |
||||||
|
position: fixed; |
||||||
|
left: 0; |
||||||
|
right: 0; |
||||||
|
bottom: 0; |
||||||
|
top: 0; |
||||||
|
overflow: auto; |
||||||
|
color: white; |
||||||
|
font-size: 1.4rem; |
||||||
|
|
||||||
|
.center { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
img { |
||||||
|
width: 1.5rem; |
||||||
|
transform: rotate(180deg); |
||||||
|
transition: all .3s; |
||||||
|
} |
||||||
|
|
||||||
|
.show { |
||||||
|
transform: rotate(0deg); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.type-dialog { |
||||||
|
z-index: 9; |
||||||
|
position: fixed; |
||||||
|
height: 100vh; |
||||||
|
width: 100vw; |
||||||
|
margin-top: @header-height; |
||||||
|
|
||||||
|
.dialog-content { |
||||||
|
background: @main-bg; |
||||||
|
|
||||||
|
img { |
||||||
|
width: 1.6rem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.mask { |
||||||
|
z-index: 8; |
||||||
|
position: fixed; |
||||||
|
height: 100vh; |
||||||
|
width: 100vw; |
||||||
|
background: @mask-dark; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.content { |
||||||
|
padding: @padding-page; |
||||||
|
padding-top: @header-height; |
||||||
|
|
||||||
|
.scroll { |
||||||
|
height: calc(100vh - @header-height); |
||||||
|
} |
||||||
|
|
||||||
|
.messages { |
||||||
|
.message { |
||||||
|
margin-bottom: 2rem; |
||||||
|
display: flex; |
||||||
|
|
||||||
|
&:first-child { |
||||||
|
margin-top: 2rem; |
||||||
|
} |
||||||
|
|
||||||
|
.left { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
position: relative; |
||||||
|
|
||||||
|
.avatar { |
||||||
|
width: 4.8rem; |
||||||
|
border-radius: 50%; |
||||||
|
} |
||||||
|
|
||||||
|
.type { |
||||||
|
position: absolute; |
||||||
|
right: 0; |
||||||
|
bottom: 1rem; |
||||||
|
width: 1.7rem; |
||||||
|
padding: .25rem; |
||||||
|
border-radius: 50%; |
||||||
|
background: black; |
||||||
|
} |
||||||
|
|
||||||
|
margin-right: 1rem; |
||||||
|
} |
||||||
|
|
||||||
|
.right { |
||||||
|
flex: 1; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
|
||||||
|
.desc { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: space-between; |
||||||
|
|
||||||
|
.top { |
||||||
|
//margin-bottom: 1rem; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
.tag { |
||||||
|
color: @second-text-color; |
||||||
|
padding: .1rem .4rem; |
||||||
|
margin-left: 1rem; |
||||||
|
border-radius: .2rem; |
||||||
|
background: @second-btn-color-tran; |
||||||
|
font-size: 1rem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.bottom { |
||||||
|
//margin-top: 1rem; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
font-size: 1.2rem; |
||||||
|
color: @second-text-color; |
||||||
|
|
||||||
|
.type { |
||||||
|
margin-right: 1rem; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.poster { |
||||||
|
margin-left: 1rem; |
||||||
|
width: 6.4rem; |
||||||
|
height: 6.4rem; |
||||||
|
object-fit: cover; |
||||||
|
border-radius: .3rem; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.look-all { |
||||||
|
font-size: 1.2rem; |
||||||
|
color: @second-text-color; |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
.close { |
||||||
|
margin-left: 1rem; |
||||||
|
transform: rotate(270deg) !important; |
||||||
|
width: 1.2rem; |
||||||
|
height: 1.2rem; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.title { |
||||||
|
margin-top: 1.5rem; |
||||||
|
margin-bottom: 1rem; |
||||||
|
font-size: 1.2rem; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
img { |
||||||
|
margin-left: .5rem; |
||||||
|
width: 1.3rem; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,286 @@ |
|||||||
|
<template> |
||||||
|
<div id="Visitors"> |
||||||
|
<BaseHeader> |
||||||
|
<template v-slot:center> |
||||||
|
<span class="f16">主页访客</span> |
||||||
|
</template> |
||||||
|
<template v-slot:right> |
||||||
|
<span class="f14" @click="isShowSetting = !isShowSetting">设置</span> |
||||||
|
</template> |
||||||
|
</BaseHeader> |
||||||
|
<div class="content"> |
||||||
|
<template v-if="realDisplay"> |
||||||
|
<Peoples v-model:list="recommend" |
||||||
|
:loading="loading" |
||||||
|
mode="visitor"/> |
||||||
|
<NoMore/> |
||||||
|
</template> |
||||||
|
<template v-else> |
||||||
|
<div class="open-display-desc"> |
||||||
|
<div class="header"> |
||||||
|
<div class="wrapper"> |
||||||
|
<img src="../../assets/img/icon/message/display2.webp" alt="" class="icon1"> |
||||||
|
<img :src="$imgPreview(userinfo.avatar)" alt="" class="icon2"> |
||||||
|
<img src="../../assets/img/icon/message/display1.webp" alt="" class="icon3"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="title">查看新访客需要你的授权</div> |
||||||
|
<ul class="list"> |
||||||
|
<li>访客记录中仅展示同样已授权的用户</li> |
||||||
|
<li>开户后,你访问他人方面也将留下记录</li> |
||||||
|
<li>你可以随时在访客设置中关闭授权</li> |
||||||
|
</ul> |
||||||
|
|
||||||
|
<div class="buttons"> |
||||||
|
<base-button type="dark" @click="keepClose">保持关闭</base-button> |
||||||
|
<base-button type="primary" @click="display = realDisplay = true">开启访客</base-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
</div> |
||||||
|
|
||||||
|
<from-bottom-dialog |
||||||
|
page-id="Visitors" |
||||||
|
v-model="isShowSetting" |
||||||
|
mode="white" |
||||||
|
mask-mode="dark" |
||||||
|
height="25rem" |
||||||
|
:show-heng-gang="false" |
||||||
|
> |
||||||
|
<div class="setting-dialog"> |
||||||
|
<div class="header"> |
||||||
|
<div class="status"> |
||||||
|
<img class="icon" src="../../assets/img/icon/message/peoples-black2.png" alt=""> |
||||||
|
<transition name="remove"> |
||||||
|
<img v-if="!display" class="remove" src="../../assets/img/icon/message/remove.png" alt=""> |
||||||
|
</transition> |
||||||
|
</div> |
||||||
|
<img class="close" @click="isShowSetting = false" src="../../assets/img/icon/components/gray-close-full2.png" |
||||||
|
alt=""> |
||||||
|
</div> |
||||||
|
<div class="title">主页访客</div> |
||||||
|
<div class="sub-title">关闭后,你查看他人主页时不会留下记录;同时,你也无法查看谁访问了你的主页</div> |
||||||
|
<div class="l-line"></div> |
||||||
|
<div class="row"> |
||||||
|
<div class="left">展示主页访客</div> |
||||||
|
<div class="right"> |
||||||
|
<switches v-model="display" theme="bootstrap" color="success"></switches> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</from-bottom-dialog> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
import {mapState} from "vuex"; |
||||||
|
import Peoples from "../people/components/Peoples"; |
||||||
|
import NoMore from "../../components/NoMore"; |
||||||
|
import FromBottomDialog from "../../components/dialog/FromBottomDialog"; |
||||||
|
import Switches from "./components/swtich/switches"; |
||||||
|
import BaseButton from "../../components/BaseButton"; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "visitors", |
||||||
|
components: { |
||||||
|
BaseButton, |
||||||
|
FromBottomDialog, |
||||||
|
Peoples, |
||||||
|
NoMore, |
||||||
|
Switches |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
recommend: [], |
||||||
|
isShowSetting: false, |
||||||
|
display: false, |
||||||
|
realDisplay: false, |
||||||
|
} |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
isShowSetting(newVal) { |
||||||
|
if (!newVal) { |
||||||
|
this.realDisplay = this.display |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
...mapState(['userinfo', 'friends']), |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.recommend = this.$clone(this.friends.all) |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
keepClose() { |
||||||
|
this.$notice('你将不会再收到相关通知') |
||||||
|
this.$back() |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="less"> |
||||||
|
@import "@/assets/less/index"; |
||||||
|
|
||||||
|
.remove-enter-active, |
||||||
|
.remove-leave-active { |
||||||
|
transition: transform 0.3s ease; |
||||||
|
} |
||||||
|
|
||||||
|
.remove-enter-from, |
||||||
|
.remove-leave-to { |
||||||
|
transform: scale(0); |
||||||
|
} |
||||||
|
|
||||||
|
#Visitors { |
||||||
|
position: fixed; |
||||||
|
left: 0; |
||||||
|
right: 0; |
||||||
|
bottom: 0; |
||||||
|
top: 0; |
||||||
|
overflow: auto; |
||||||
|
color: white; |
||||||
|
font-size: 1.4rem; |
||||||
|
|
||||||
|
.content { |
||||||
|
padding: @padding-page; |
||||||
|
padding-top: @header-height; |
||||||
|
} |
||||||
|
|
||||||
|
.open-display-desc { |
||||||
|
text-align: center; |
||||||
|
|
||||||
|
.header { |
||||||
|
margin-top: 10rem; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
|
||||||
|
.wrapper { |
||||||
|
display: inline-block; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.icon1 { |
||||||
|
left: -2rem; |
||||||
|
bottom: 2rem; |
||||||
|
position: absolute; |
||||||
|
width: 3rem; |
||||||
|
} |
||||||
|
|
||||||
|
.icon2 { |
||||||
|
z-index: 2; |
||||||
|
position: relative; |
||||||
|
padding: .25rem; |
||||||
|
background: black; |
||||||
|
border-radius: 50%; |
||||||
|
width: 8rem; |
||||||
|
} |
||||||
|
|
||||||
|
.icon3 { |
||||||
|
bottom: .5rem; |
||||||
|
right: -3rem; |
||||||
|
z-index: 3; |
||||||
|
position: absolute; |
||||||
|
padding: .2rem; |
||||||
|
background: black; |
||||||
|
border-radius: 50%; |
||||||
|
width: 4rem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.title { |
||||||
|
margin-top: 3rem; |
||||||
|
font-size: 1.6rem; |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
|
||||||
|
.list { |
||||||
|
color: @second-text-color; |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
|
||||||
|
.buttons { |
||||||
|
position: fixed; |
||||||
|
padding: @padding-page; |
||||||
|
bottom: 0; |
||||||
|
left: 0; |
||||||
|
width: 100vw; |
||||||
|
box-sizing: border-box; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
|
||||||
|
.button { |
||||||
|
width: 49%; |
||||||
|
|
||||||
|
&:first-child { |
||||||
|
color: white; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.setting-dialog { |
||||||
|
color: black; |
||||||
|
text-align: center; |
||||||
|
|
||||||
|
.header { |
||||||
|
padding: @padding-page; |
||||||
|
padding-top: 3rem; |
||||||
|
padding-bottom: 2rem; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
|
||||||
|
.status { |
||||||
|
position: relative; |
||||||
|
|
||||||
|
.icon { |
||||||
|
width: 6.4rem; |
||||||
|
} |
||||||
|
|
||||||
|
.remove { |
||||||
|
bottom: 0; |
||||||
|
right: 0; |
||||||
|
position: absolute; |
||||||
|
padding: .2rem; |
||||||
|
border-radius: 50%; |
||||||
|
background: white; |
||||||
|
width: 2rem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.close { |
||||||
|
top: @padding-page; |
||||||
|
right: @padding-page; |
||||||
|
position: absolute; |
||||||
|
width: 2rem; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.title { |
||||||
|
font-size: 1.6rem; |
||||||
|
} |
||||||
|
|
||||||
|
.sub-title { |
||||||
|
padding: @padding-page; |
||||||
|
font-size: 1.2rem; |
||||||
|
color: @second-text-color; |
||||||
|
} |
||||||
|
|
||||||
|
.l-line { |
||||||
|
background: #f2f1f1; |
||||||
|
margin-left: @padding-page; |
||||||
|
width: calc(100vw - @padding-page * 2); |
||||||
|
height: 1px; |
||||||
|
} |
||||||
|
|
||||||
|
.row { |
||||||
|
margin-bottom: 1rem; |
||||||
|
|
||||||
|
.left { |
||||||
|
color: black !important; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |