@jx3box/jx3box-common-ui 6.6.6 → 6.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/header.less +247 -59
- package/assets/data/box2.json +0 -117
- package/assets/img/header/bell.svg +1 -0
- package/assets/img/header/coin.svg +1 -0
- package/assets/img/header/edit.svg +1 -0
- package/assets/img/header/manage.svg +1 -0
- package/assets/img/header/send.svg +56 -0
- package/assets/img/header/vip.svg +1 -0
- package/assets/js/utils.js +28 -0
- package/index.js +1 -1
- package/package.json +3 -3
- package/service/thx.js +5 -0
- package/src/App.vue +29 -117
- package/src/Header.vue +7 -2
- package/src/LeftSidebar.vue +14 -12
- package/src/header/gameSwitch.vue +227 -0
- package/src/header/user.vue +156 -49
- package/src/interact/batchReward.vue +152 -0
- package/src/single/Thx.vue +35 -46
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jx3box/jx3box-common-ui",
|
|
3
|
-
"version": "6.6.
|
|
3
|
+
"version": "6.6.8",
|
|
4
4
|
"description": "JX3BOX UI",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"last 2 versions"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@jx3box/jx3box-comment-ui": "^1.7.
|
|
33
|
+
"@jx3box/jx3box-comment-ui": "^1.7.8",
|
|
34
34
|
"@jx3box/jx3box-common": "^7.6.2",
|
|
35
35
|
"@jx3box/jx3box-data": "^3.0.3",
|
|
36
|
-
"@jx3box/jx3box-editor": "^1.6.
|
|
36
|
+
"@jx3box/jx3box-editor": "^1.6.9",
|
|
37
37
|
"axios": "^0.26.1",
|
|
38
38
|
"dayjs": "^1.11.0",
|
|
39
39
|
"element-ui": "^2.13.2",
|
package/service/thx.js
CHANGED
|
@@ -42,6 +42,10 @@ function checkGiftStatus(accessUserId){
|
|
|
42
42
|
return $pay().get(`/api/cny/consume/user-charge/to/${accessUserId}/check-status`)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
function batchReward(articleType,count,data){
|
|
46
|
+
return $pay().post(`/api/inspire/batch/article/${articleType}/coins/${count}`, data);
|
|
47
|
+
}
|
|
48
|
+
|
|
45
49
|
export {
|
|
46
50
|
getPostBoxcoinRecords,
|
|
47
51
|
grantBoxcoin,
|
|
@@ -52,4 +56,5 @@ export {
|
|
|
52
56
|
sendCny,
|
|
53
57
|
checkCnyStatus,
|
|
54
58
|
checkGiftStatus,
|
|
59
|
+
batchReward,
|
|
55
60
|
};
|
package/src/App.vue
CHANGED
|
@@ -1,42 +1,19 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="container-page">
|
|
3
3
|
<Header></Header>
|
|
4
|
-
<Breadcrumb
|
|
5
|
-
|
|
6
|
-
slug="slug"
|
|
7
|
-
root="/slug"
|
|
8
|
-
:publishEnable="true"
|
|
9
|
-
:feedbackEnable="true"
|
|
10
|
-
:adminEnable="true"
|
|
11
|
-
>
|
|
12
|
-
<img
|
|
13
|
-
slot="logo"
|
|
14
|
-
svg-inline
|
|
15
|
-
src="../assets/img/jx3.svg"
|
|
16
|
-
/>
|
|
4
|
+
<Breadcrumb name="频道名称" slug="slug" root="/slug" :publishEnable="true" :feedbackEnable="true" :adminEnable="true">
|
|
5
|
+
<img slot="logo" svg-inline src="../assets/img/jx3.svg" />
|
|
17
6
|
bread info
|
|
18
7
|
</Breadcrumb>
|
|
19
8
|
|
|
20
9
|
<LeftSidebar :open="true" :uid="8">
|
|
21
|
-
<LeftSideToggle :mobileOnly="true"/>
|
|
22
|
-
<Author
|
|
23
|
-
:author="author"
|
|
24
|
-
:uid="8"
|
|
25
|
-
/>
|
|
10
|
+
<LeftSideToggle :mobileOnly="true" />
|
|
11
|
+
<Author :author="author" :uid="8" />
|
|
26
12
|
</LeftSidebar>
|
|
27
13
|
|
|
28
|
-
<Main
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
>
|
|
32
|
-
<el-tabs
|
|
33
|
-
v-model="tab"
|
|
34
|
-
type="card"
|
|
35
|
-
>
|
|
36
|
-
<el-tab-pane
|
|
37
|
-
label="CMS作品"
|
|
38
|
-
name="post"
|
|
39
|
-
>
|
|
14
|
+
<Main :withoutLeft="false" :withoutRight="false">
|
|
15
|
+
<el-tabs v-model="tab" type="card">
|
|
16
|
+
<el-tab-pane label="CMS作品" name="post">
|
|
40
17
|
<el-radio-group v-model="post_id">
|
|
41
18
|
<el-radio label="41346">临时测试</el-radio>
|
|
42
19
|
<el-radio label="35605">Markdown</el-radio>
|
|
@@ -45,66 +22,23 @@
|
|
|
45
22
|
<el-radio label="30582">小册和联合创作者</el-radio>
|
|
46
23
|
<el-radio label="31129">无小册和联合创作者</el-radio>
|
|
47
24
|
</el-radio-group>
|
|
48
|
-
<singlebox
|
|
49
|
-
:post="post"
|
|
50
|
-
@extendUpdate="updateExtend"
|
|
51
|
-
/>
|
|
25
|
+
<singlebox :post="post" @extendUpdate="updateExtend" />
|
|
52
26
|
</el-tab-pane>
|
|
53
|
-
<el-tab-pane
|
|
54
|
-
label="通用组件"
|
|
55
|
-
name="widget"
|
|
56
|
-
>
|
|
27
|
+
<el-tab-pane label="通用组件" name="widget">
|
|
57
28
|
<PostHeader :post="post" />
|
|
58
|
-
<Creators
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
/>
|
|
62
|
-
<Collection
|
|
63
|
-
:id="59"
|
|
64
|
-
:defaultVisible="true"
|
|
65
|
-
/>
|
|
66
|
-
<UserPop
|
|
67
|
-
title="添加用户"
|
|
68
|
-
v-model="visible"
|
|
69
|
-
@confirm="addUser"
|
|
70
|
-
/>
|
|
29
|
+
<Creators :postId="30432" style="margin-bottom: 10px" />
|
|
30
|
+
<Collection :id="59" :defaultVisible="true" />
|
|
31
|
+
<UserPop title="添加用户" v-model="visible" @confirm="addUser" />
|
|
71
32
|
<el-button @click="visible = true">用户POP</el-button>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
:
|
|
75
|
-
postType="bbs"
|
|
76
|
-
postTitle="bbs23865的标题"
|
|
77
|
-
:userId="7"
|
|
78
|
-
:adminBoxcoinEnable="true"
|
|
79
|
-
:userBoxcoinEnable="true"
|
|
80
|
-
/>
|
|
81
|
-
|
|
33
|
+
<Thx :postId="23865" postType="bbs" postTitle="bbs23865的标题" type="batchReward" :userId="7"
|
|
34
|
+
:adminBoxcoinEnable="true" :userBoxcoinEnable="true"
|
|
35
|
+
:items="[{ user_id: 10, article_id: '11111', article_type: '' }]" />
|
|
82
36
|
<hr />
|
|
83
|
-
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
/>
|
|
89
|
-
<Down
|
|
90
|
-
:count="100"
|
|
91
|
-
:showCount="true"
|
|
92
|
-
/>
|
|
93
|
-
<Mark
|
|
94
|
-
label="KEY"
|
|
95
|
-
value="VALUE"
|
|
96
|
-
BGL="#000"
|
|
97
|
-
BGR="#F39"
|
|
98
|
-
/>
|
|
99
|
-
<Fav
|
|
100
|
-
post-id="90"
|
|
101
|
-
post-type="jx3dat"
|
|
102
|
-
post-title="jx3dat测试标题"
|
|
103
|
-
/>
|
|
104
|
-
<Feed
|
|
105
|
-
post-id="90"
|
|
106
|
-
post-type="jx3dat"
|
|
107
|
-
/>
|
|
37
|
+
<Like mode="heart" :count="100" :showCount="true" />
|
|
38
|
+
<Down :count="100" :showCount="true" />
|
|
39
|
+
<Mark label="KEY" value="VALUE" BGL="#000" BGR="#F39" />
|
|
40
|
+
<Fav post-id="90" post-type="jx3dat" post-title="jx3dat测试标题" />
|
|
41
|
+
<Feed post-id="90" post-type="jx3dat" />
|
|
108
42
|
<Print title="传入标题" />
|
|
109
43
|
<QRcode />
|
|
110
44
|
<Sharing />
|
|
@@ -114,24 +48,15 @@
|
|
|
114
48
|
<markBy />
|
|
115
49
|
<menuBy :data="['test1', 'test2']" />
|
|
116
50
|
<orderBy />
|
|
117
|
-
<tagBy
|
|
118
|
-
:data="['PVE', 'PVX']"
|
|
119
|
-
:type="tag"
|
|
120
|
-
/>
|
|
51
|
+
<tagBy :data="['PVE', 'PVX']" :type="tag" />
|
|
121
52
|
<clientBy type="" />
|
|
122
53
|
<zlpBy />
|
|
123
54
|
|
|
124
55
|
<hr />
|
|
125
|
-
<uploadImage
|
|
126
|
-
v-model="upload"
|
|
127
|
-
info="非必选。首页海报尺寸1100*300(推荐2200*600支持高分屏),最大20M。"
|
|
128
|
-
></uploadImage>
|
|
56
|
+
<uploadImage v-model="upload" info="非必选。首页海报尺寸1100*300(推荐2200*600支持高分屏),最大20M。"></uploadImage>
|
|
129
57
|
<AuthorMedal :author-id="8"></AuthorMedal>
|
|
130
58
|
</el-tab-pane>
|
|
131
|
-
<el-tab-pane
|
|
132
|
-
label="百科组件"
|
|
133
|
-
name="wiki"
|
|
134
|
-
>
|
|
59
|
+
<el-tab-pane label="百科组件" name="wiki">
|
|
135
60
|
<WikiPanel :wiki-post="wikiPost">
|
|
136
61
|
<template slot="head-title">
|
|
137
62
|
<i class="el-icon-location-information"></i>
|
|
@@ -148,22 +73,13 @@
|
|
|
148
73
|
</WikiPanel>
|
|
149
74
|
<hr />
|
|
150
75
|
|
|
151
|
-
<WikiRevisions
|
|
152
|
-
type="achievement"
|
|
153
|
-
source-id="2996"
|
|
154
|
-
/>
|
|
76
|
+
<WikiRevisions type="achievement" source-id="2996" />
|
|
155
77
|
<hr />
|
|
156
78
|
|
|
157
|
-
<WikiComments
|
|
158
|
-
type="achievement"
|
|
159
|
-
source-id="2996"
|
|
160
|
-
/>
|
|
79
|
+
<WikiComments type="achievement" source-id="2996" />
|
|
161
80
|
<hr />
|
|
162
81
|
</el-tab-pane>
|
|
163
|
-
<el-tab-pane
|
|
164
|
-
label="头像"
|
|
165
|
-
name="avatar"
|
|
166
|
-
>
|
|
82
|
+
<el-tab-pane label="头像" name="avatar">
|
|
167
83
|
<el-radio-group v-model="avatar_size">
|
|
168
84
|
<el-radio label="xxs">xxs-36/48</el-radio>
|
|
169
85
|
<el-radio label="xs">xs-48/68</el-radio>
|
|
@@ -173,12 +89,8 @@
|
|
|
173
89
|
<el-radio label="xl">xl-150/210</el-radio>
|
|
174
90
|
</el-radio-group>
|
|
175
91
|
<div style="padding:60px;background-color: #e3e3e3;">
|
|
176
|
-
<Avatar
|
|
177
|
-
|
|
178
|
-
url="https://console.cnyixun.com/upload/avatar/2022/3/2/8_9860765.png"
|
|
179
|
-
:size="avatar_size"
|
|
180
|
-
frame="moon_1"
|
|
181
|
-
/>
|
|
92
|
+
<Avatar :id="8" url="https://console.cnyixun.com/upload/avatar/2022/3/2/8_9860765.png" :size="avatar_size"
|
|
93
|
+
frame="moon_1" />
|
|
182
94
|
</div>
|
|
183
95
|
</el-tab-pane>
|
|
184
96
|
</el-tabs>
|
|
@@ -349,6 +261,6 @@ export default {
|
|
|
349
261
|
|
|
350
262
|
<style lang="less">
|
|
351
263
|
body {
|
|
352
|
-
|
|
264
|
+
padding-top: 0;
|
|
353
265
|
}
|
|
354
266
|
</style>
|
package/src/Header.vue
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
<header-logo />
|
|
11
11
|
|
|
12
12
|
<!-- origin -->
|
|
13
|
-
<clientSwitch :defaultValue="client" />
|
|
13
|
+
<!-- <clientSwitch :defaultValue="client" /> -->
|
|
14
|
+
|
|
15
|
+
<!-- game -->
|
|
16
|
+
<gameSwitch />
|
|
14
17
|
|
|
15
18
|
<!-- search -->
|
|
16
19
|
<header-search :client="client" />
|
|
@@ -38,6 +41,7 @@ import search from "./header/search.vue";
|
|
|
38
41
|
import nav from "./header/nav.vue";
|
|
39
42
|
import user from "./header/user.vue";
|
|
40
43
|
import Box from "../src/Box2.vue";
|
|
44
|
+
import gameSwitch from "./header/gameSwitch.vue";
|
|
41
45
|
|
|
42
46
|
export default {
|
|
43
47
|
name: "Header",
|
|
@@ -82,11 +86,12 @@ export default {
|
|
|
82
86
|
mounted: function () {},
|
|
83
87
|
components: {
|
|
84
88
|
"header-logo": logo,
|
|
85
|
-
clientSwitch,
|
|
89
|
+
// clientSwitch,
|
|
86
90
|
"header-search": search,
|
|
87
91
|
"header-nav": nav,
|
|
88
92
|
"header-user": user,
|
|
89
93
|
Box,
|
|
94
|
+
gameSwitch,
|
|
90
95
|
},
|
|
91
96
|
};
|
|
92
97
|
</script>
|
package/src/LeftSidebar.vue
CHANGED
|
@@ -88,7 +88,7 @@ export default {
|
|
|
88
88
|
this.setDecoration(JSON.parse(decoration_sidebar))
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
-
getDecoration({using:1,user_id:this.user_id}).then(data=>{
|
|
91
|
+
getDecoration({using:1,user_id:this.user_id,type:'sidebar'}).then(data=>{
|
|
92
92
|
let res=data.data.data
|
|
93
93
|
if(res.length==0){
|
|
94
94
|
//空 则为无主题,不再加载接口,界面设No
|
|
@@ -96,17 +96,19 @@ export default {
|
|
|
96
96
|
this.bg =""
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
99
|
+
sessionStorage.setItem('decoration_sidebar'+this.user_id,JSON.stringify(res[0]))
|
|
100
|
+
this.setDecoration(res[0])
|
|
101
|
+
// let decoration=res.filter(val => {
|
|
102
|
+
// return val.type === 'sidebar'
|
|
103
|
+
// })
|
|
104
|
+
// if(decoration.length>0){
|
|
105
|
+
|
|
106
|
+
// this.setDecoration(decoration[0])
|
|
107
|
+
// }else{
|
|
108
|
+
// //空 则为无主题,不再加载接口,界面设No
|
|
109
|
+
// sessionStorage.setItem('decoration_sidebar'+this.user_id,'no')
|
|
110
|
+
// this.bg =""
|
|
111
|
+
// }
|
|
110
112
|
})
|
|
111
113
|
},
|
|
112
114
|
setDecoration(decoration_sidebar){
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="c-game-switch">
|
|
3
|
+
<div class="u-current on" @click.stop="onShow">
|
|
4
|
+
<span>{{ currentGame.name }}</span>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div class="c-game-list" v-show="showMore">
|
|
8
|
+
<a
|
|
9
|
+
class="u-game-item"
|
|
10
|
+
v-for="item in games"
|
|
11
|
+
:key="item.key"
|
|
12
|
+
:class="{ active: current === item.key, disabled: item.disabled }"
|
|
13
|
+
:href="itemHref(item)"
|
|
14
|
+
@click.stop="handleClick(item)"
|
|
15
|
+
>
|
|
16
|
+
<img class="u-img" :src="item.img" alt="" />
|
|
17
|
+
<span>{{ item.name }}</span>
|
|
18
|
+
</a>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script>
|
|
24
|
+
import { __imgPath } from "@jx3box/jx3box-common/data/jx3box.json";
|
|
25
|
+
export default {
|
|
26
|
+
name: "gameSwitch",
|
|
27
|
+
data() {
|
|
28
|
+
return {
|
|
29
|
+
games: [
|
|
30
|
+
{
|
|
31
|
+
name: "剑网3",
|
|
32
|
+
img: __imgPath + "image/xsj/jx3czb.png",
|
|
33
|
+
key: "jx3",
|
|
34
|
+
path: "https://www.jx3box.com",
|
|
35
|
+
disabled: false,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "剑网3缘起",
|
|
39
|
+
img: __imgPath + "image/xsj/jx3yq.png",
|
|
40
|
+
key: "jx3origin",
|
|
41
|
+
path: "https://origin.jx3box.com",
|
|
42
|
+
disabled: false,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "指尖江湖",
|
|
46
|
+
img: __imgPath + "image/xsj/zjjh.png",
|
|
47
|
+
key: "zjjh",
|
|
48
|
+
path: "https://zjjh.jx3box.com",
|
|
49
|
+
disabled: true,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: "指尖对弈",
|
|
53
|
+
img: __imgPath + "image/xsj/zjdy.png",
|
|
54
|
+
key: "zjdy",
|
|
55
|
+
path: "https://zjdy.jx3box.com",
|
|
56
|
+
disabled: true,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "剑侠世界3",
|
|
60
|
+
img: __imgPath + "image/xsj/jxsj3.png",
|
|
61
|
+
key: "jxsj3",
|
|
62
|
+
path: "https://jxsj3.jx3box.com",
|
|
63
|
+
disabled: true,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "剑侠世界",
|
|
67
|
+
img: __imgPath + "image/xsj/jxsj.png",
|
|
68
|
+
key: "jxsj",
|
|
69
|
+
path: "https://jxsj.jx3box.com",
|
|
70
|
+
disabled: true,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "剑网1:归来",
|
|
74
|
+
img: __imgPath + "image/xsj/jx1gl.png",
|
|
75
|
+
key: "jx1",
|
|
76
|
+
path: "https://jx1.jx3box.com",
|
|
77
|
+
disabled: true,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "双生视界",
|
|
81
|
+
img: __imgPath + "image/xsj/sssj.png",
|
|
82
|
+
key: "sssj",
|
|
83
|
+
path: "https://sssj.jx3box.com",
|
|
84
|
+
disabled: true,
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
current: "jx3",
|
|
88
|
+
|
|
89
|
+
showMore: false,
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
computed: {
|
|
93
|
+
currentGame() {
|
|
94
|
+
return this.games.find((item) => item.key == this.current);
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
mounted() {
|
|
98
|
+
const _host = window.location.host;
|
|
99
|
+
const _game = this.games.find((item) => item.path.indexOf(_host) > -1);
|
|
100
|
+
if (_game) {
|
|
101
|
+
this.current = _game.key;
|
|
102
|
+
}
|
|
103
|
+
this.close();
|
|
104
|
+
},
|
|
105
|
+
methods: {
|
|
106
|
+
handleClick(item) {
|
|
107
|
+
if (item.disabled) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.current = item.key;
|
|
111
|
+
},
|
|
112
|
+
itemHref(item) {
|
|
113
|
+
if (item.disabled) {
|
|
114
|
+
return "javascript:;";
|
|
115
|
+
}
|
|
116
|
+
return item.path;
|
|
117
|
+
},
|
|
118
|
+
onShow() {
|
|
119
|
+
this.showMore = !this.showMore;
|
|
120
|
+
},
|
|
121
|
+
close() {
|
|
122
|
+
document.addEventListener("click", () => {
|
|
123
|
+
this.showMore = false;
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
</script>
|
|
129
|
+
|
|
130
|
+
<style lang="less">
|
|
131
|
+
.arrow(t,@width,@color,@x:50%) {
|
|
132
|
+
&:before {
|
|
133
|
+
bottom: 100%;
|
|
134
|
+
left: @x;
|
|
135
|
+
content: " ";
|
|
136
|
+
height: 0;
|
|
137
|
+
width: 0;
|
|
138
|
+
position: absolute;
|
|
139
|
+
pointer-events: none;
|
|
140
|
+
border-style: solid;
|
|
141
|
+
border-color: transparent;
|
|
142
|
+
border-bottom-color: @color;
|
|
143
|
+
border-width: unit(@width, px);
|
|
144
|
+
@margin: -@width;
|
|
145
|
+
margin-left: unit(@margin, px);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
.c-game-switch {
|
|
149
|
+
.fl;
|
|
150
|
+
margin: 15px 0;
|
|
151
|
+
.mr(10px);
|
|
152
|
+
.pr;
|
|
153
|
+
.u-current {
|
|
154
|
+
.flex;
|
|
155
|
+
align-items: center;
|
|
156
|
+
.pointer;
|
|
157
|
+
.dbi;
|
|
158
|
+
.y(top);
|
|
159
|
+
font-size: 14px;
|
|
160
|
+
color: #fff;
|
|
161
|
+
padding: 5px 10px;
|
|
162
|
+
background-color: #7d7d7d;
|
|
163
|
+
border: 2px solid #303133;
|
|
164
|
+
border-radius: 4px;
|
|
165
|
+
.pr;
|
|
166
|
+
.z(1);
|
|
167
|
+
.u-img {
|
|
168
|
+
width: 20px;
|
|
169
|
+
height: 20px;
|
|
170
|
+
margin-right: 5px;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
&.on {
|
|
174
|
+
background-color: @primary;
|
|
175
|
+
.pointer;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
.c-game-list {
|
|
180
|
+
.arrow(t,5px,@bg-black,12%);
|
|
181
|
+
position: absolute;
|
|
182
|
+
top: calc(100% + 14px);
|
|
183
|
+
left: -10px;
|
|
184
|
+
width: 300px;
|
|
185
|
+
background-color: #24292e;
|
|
186
|
+
padding: 10px;
|
|
187
|
+
border: 1px solid rgba(27, 31, 35, 0.15);
|
|
188
|
+
border-radius: 4px;
|
|
189
|
+
box-shadow: 0 3px 12px rgba(27, 31, 35, 0.15);
|
|
190
|
+
margin-top: 6px;
|
|
191
|
+
display: grid;
|
|
192
|
+
grid-template-columns: repeat(2, 1fr);
|
|
193
|
+
// gap:10px;
|
|
194
|
+
grid-row-gap: 8px;
|
|
195
|
+
grid-column-gap: 10px;
|
|
196
|
+
.u-game-item {
|
|
197
|
+
.flex;
|
|
198
|
+
align-items: center;
|
|
199
|
+
padding: 6px;
|
|
200
|
+
.pointer;
|
|
201
|
+
border-radius: 4px;
|
|
202
|
+
color: #fff;
|
|
203
|
+
font-size: 14px;
|
|
204
|
+
.u-img {
|
|
205
|
+
width: 24px;
|
|
206
|
+
height: 24px;
|
|
207
|
+
margin-right: 5px;
|
|
208
|
+
border-radius: 4px;
|
|
209
|
+
}
|
|
210
|
+
&.active {
|
|
211
|
+
background-color: @primary;
|
|
212
|
+
color: #fff;
|
|
213
|
+
}
|
|
214
|
+
&:not(.disabled) {
|
|
215
|
+
&:hover {
|
|
216
|
+
background-color: @primary;
|
|
217
|
+
color: #fff;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
&.disabled {
|
|
221
|
+
filter: grayscale(100%);
|
|
222
|
+
color: #c0c4cc;
|
|
223
|
+
cursor: not-allowed;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
</style>
|