xto-fronted 0.4.102 → 0.4.104

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.
Files changed (145) hide show
  1. package/dist/{index-CJSTBnGF.js → index-C2zTmROz.js} +1072 -1062
  2. package/dist/{index-BKj-34y6.js → index-Ci9SM-gg.js} +2 -2
  3. package/dist/{index-BK4Mut6H.js → index-HtulbTHk.js} +2 -2
  4. package/dist/{index-3ekBp4iW.js → index-j1GPEQjY.js} +2 -2
  5. package/dist/{index-B5DLfOYb.js → index-x7bKZmey.js} +23 -23
  6. package/dist/index.js +1 -1
  7. package/dist/stores/app.d.ts +8 -2
  8. package/dist/stores/auth.d.ts +2 -2
  9. package/dist/style.css +1 -1
  10. package/package.json +94 -94
  11. package/src/App.vue +48 -48
  12. package/src/api/index.ts +7 -7
  13. package/src/assets/styles/_dark.scss +639 -639
  14. package/src/assets/styles/_root.scss +183 -183
  15. package/src/assets/styles/_variables.scss +69 -69
  16. package/src/assets/styles/index.scss +460 -460
  17. package/src/components/Layout/Header.vue +2 -2
  18. package/src/components/Layout/MixTopMenu.vue +1185 -1185
  19. package/src/components/Layout/Sidebar.vue +229 -229
  20. package/src/components/Layout/SidebarMenuItem.vue +163 -163
  21. package/src/components/Layout/TopMenu.vue +1177 -1177
  22. package/src/components/Layout/index.vue +199 -199
  23. package/src/composables/useI18n.ts +43 -43
  24. package/src/index.ts +114 -100
  25. package/src/router/guards.ts +129 -127
  26. package/src/router/layoutRoute.ts +70 -70
  27. package/src/stores/app.ts +9 -0
  28. package/src/stores/index.ts +15 -15
  29. package/src/stores/locale.ts +66 -66
  30. package/src/stores/user.ts +0 -2
  31. package/src/types/api.d.ts +0 -1
  32. package/src/types/json-bigint.d.ts +18 -18
  33. package/src/types/xto.d.ts +172 -172
  34. package/src/utils/request.ts +184 -184
  35. package/src/views/dashboard/index.vue +545 -545
  36. package/src/views/error/403.vue +251 -251
  37. package/src/views/error/404.vue +253 -253
  38. package/src/views/login/index.vue +586 -586
  39. package/src/views/system/menu/index.vue +690 -690
  40. package/src/views/system/role/index.vue +583 -583
  41. package/src/views/system/user/index.vue +655 -655
  42. package/vite.config.ts +139 -139
  43. package/dist/assets/404-C9Uh6Uu-.css +0 -1
  44. package/dist/assets/404-fVB40gfP.js +0 -1
  45. package/dist/assets/404-zjGLLssH.js +0 -1
  46. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  47. package/dist/assets/index-B2Y_ySNp.js +0 -2
  48. package/dist/assets/index-B5xc4gQB.css +0 -1
  49. package/dist/assets/index-B75sburk.js +0 -1
  50. package/dist/assets/index-BBdRdMfs.js +0 -1
  51. package/dist/assets/index-BDgOY6Rp.js +0 -1
  52. package/dist/assets/index-BIoRANs0.js +0 -1
  53. package/dist/assets/index-BRR97dc6.js +0 -1
  54. package/dist/assets/index-Bz0BgZQ1.js +0 -1
  55. package/dist/assets/index-CAdztNsv.css +0 -1
  56. package/dist/assets/index-CCXrcISf.css +0 -1
  57. package/dist/assets/index-CDPHn9Pd.js +0 -1
  58. package/dist/assets/index-CfpZmcpk.css +0 -1
  59. package/dist/assets/index-Cpew6d-v.css +0 -1
  60. package/dist/assets/index-CwJSA85U.js +0 -1
  61. package/dist/assets/index-CwRA10ac.js +0 -1
  62. package/dist/assets/index-D8NDxq9d.js +0 -1
  63. package/dist/assets/index-DEB6-Iv_.js +0 -2
  64. package/dist/assets/index-DM4Ezclc.css +0 -1
  65. package/dist/assets/index-DYv7nImj.css +0 -1
  66. package/dist/assets/index-Dm3Gq6SY.js +0 -1
  67. package/dist/assets/index-DxbgF-OR.js +0 -1
  68. package/dist/assets/index-RUdXk1fA.css +0 -1
  69. package/dist/assets/index-_xB0udHf.js +0 -1
  70. package/dist/assets/index-t-2Y0KhA.css +0 -1
  71. package/dist/assets/vendor-CUVPinTg.js +0 -13
  72. package/dist/assets/vue-vendor-Bpie-0gH.js +0 -29
  73. package/dist/assets/vue-vendor-DeJXJVbN.js +0 -29
  74. package/dist/assets/xto-base-C3XNcx7i.js +0 -1
  75. package/dist/assets/xto-base-CL2NKZJJ.css +0 -1
  76. package/dist/assets/xto-base-PwLGsxxb.js +0 -1
  77. package/dist/assets/xto-business--V1F5Gwb.css +0 -1
  78. package/dist/assets/xto-core-B1Ho_Ytu.js +0 -1
  79. package/dist/assets/xto-core-CtL4zKiV.js +0 -1
  80. package/dist/assets/xto-data-Coeo_ZYH.js +0 -1
  81. package/dist/assets/xto-data-MxZsiJgi.css +0 -1
  82. package/dist/assets/xto-data-bCXQa7fT.js +0 -1
  83. package/dist/assets/xto-feedback-Bxx38c3P.css +0 -1
  84. package/dist/assets/xto-feedback-CFysasJi.js +0 -1
  85. package/dist/assets/xto-feedback-CPydp0kn.js +0 -1
  86. package/dist/assets/xto-form-Cu6q3VLG.css +0 -1
  87. package/dist/assets/xto-form-DBlhgyXp.js +0 -1
  88. package/dist/assets/xto-form-bywohdAf.js +0 -1
  89. package/dist/assets/xto-layout-BDD6sSlM.css +0 -1
  90. package/dist/assets/xto-navigation-Bbdpine9.js +0 -1
  91. package/dist/assets/xto-navigation-I2o1CycT.js +0 -1
  92. package/dist/assets/xto-navigation-XfpyMpEo.css +0 -1
  93. package/dist/index-58aI1w0v.js +0 -515
  94. package/dist/index-A_B_Ap_A.js +0 -4240
  95. package/dist/index-B-lMqzxZ.js +0 -479
  96. package/dist/index-B6s_uLJE.js +0 -189
  97. package/dist/index-BAmYUT0G.js +0 -189
  98. package/dist/index-BJlOXgu5.js +0 -515
  99. package/dist/index-BMQao91y.js +0 -189
  100. package/dist/index-BRvi9qW-.js +0 -515
  101. package/dist/index-BVGW4DDQ.js +0 -189
  102. package/dist/index-BXg94yA2.js +0 -515
  103. package/dist/index-BYAkZ2gD.js +0 -641
  104. package/dist/index-BfXnrw05.js +0 -515
  105. package/dist/index-Bmb0rt9C.js +0 -641
  106. package/dist/index-Bmf0YbVq.js +0 -189
  107. package/dist/index-C1BnOFy7.js +0 -3145
  108. package/dist/index-C1j4f3mM.js +0 -479
  109. package/dist/index-C2-a5KSQ.js +0 -4233
  110. package/dist/index-C3K89jzC.js +0 -515
  111. package/dist/index-C92NkXAn.js +0 -479
  112. package/dist/index-CAHSv7LK.js +0 -4285
  113. package/dist/index-CVH7bDsl.js +0 -4285
  114. package/dist/index-Ccp6zfq-.js +0 -4290
  115. package/dist/index-CeZ0CSSs.js +0 -641
  116. package/dist/index-Cf8E7FM1.js +0 -4270
  117. package/dist/index-CgyQqbdx.js +0 -189
  118. package/dist/index-ChowNrlU.js +0 -641
  119. package/dist/index-CvQgEgUM.js +0 -641
  120. package/dist/index-D25KzR0I.js +0 -479
  121. package/dist/index-D4LWXVnG.js +0 -515
  122. package/dist/index-DCApv1oX.js +0 -641
  123. package/dist/index-DCBIjLHy.js +0 -515
  124. package/dist/index-DEYOivza.js +0 -641
  125. package/dist/index-DHH8Os_2.js +0 -189
  126. package/dist/index-DReodgBw.js +0 -4233
  127. package/dist/index-DTRJONCd.js +0 -515
  128. package/dist/index-DgffG7KK.js +0 -641
  129. package/dist/index-DjERNRXX.js +0 -515
  130. package/dist/index-DjXyzwL0.js +0 -479
  131. package/dist/index-DkOqM4e2.js +0 -3147
  132. package/dist/index-Ds8IV04t.js +0 -189
  133. package/dist/index-LSdsO2Ox.js +0 -479
  134. package/dist/index-UJixTdep.js +0 -479
  135. package/dist/index-WPRGF_GX.js +0 -189
  136. package/dist/index-WPWzllES.js +0 -641
  137. package/dist/index-Wl2Qg26t.js +0 -3147
  138. package/dist/index-dk0diNwi.js +0 -479
  139. package/dist/index-gBlRG4kk.js +0 -479
  140. package/dist/index-mVol7F2K.js +0 -479
  141. package/dist/index-xWU3J3OH.js +0 -641
  142. package/dist/index-zKJLxthI.js +0 -189
  143. package/dist/index.es.js +0 -95
  144. package/dist/index.html +0 -28
  145. package/dist/index.umd.js +0 -8
@@ -1,252 +1,252 @@
1
- <script setup lang="ts">
2
- import { useRouter } from 'vue-router'
3
- import { Button } from '@xto/base'
4
-
5
- const router = useRouter()
6
-
7
- const goBack = () => {
8
- router.push('/')
9
- }
10
- </script>
11
-
12
- <template>
13
- <div class="error-page">
14
- <div class="error-container">
15
- <!-- 装饰背景 -->
16
- <div class="error-bg">
17
- <div class="bg-circle circle-1"></div>
18
- <div class="bg-circle circle-2"></div>
19
- <div class="bg-circle circle-3"></div>
20
- </div>
21
-
22
- <!-- 内容 -->
23
- <div class="error-content">
24
- <div class="error-code">
25
- <span class="code-digit">4</span>
26
- <span class="code-zero warning">
27
- <span class="zero-inner">0</span>
28
- </span>
29
- <span class="code-digit">3</span>
30
- </div>
31
-
32
- <div class="error-illustration">
33
- <svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg">
34
- <!-- 盾牌 -->
35
- <path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z"
36
- fill="var(--color-warning-lighter)" stroke="var(--color-warning)" stroke-width="2"/>
37
- <!-- 锁 -->
38
- <rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)"/>
39
- <path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--color-warning)" stroke-width="3"/>
40
- <!-- 禁止符号 -->
41
- <circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2"/>
42
- <line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2"/>
43
- </svg>
44
- </div>
45
-
46
- <h1 class="error-title">无访问权限</h1>
47
- <p class="error-desc">抱歉,您没有权限访问此页面,请联系管理员获取权限</p>
48
-
49
- <div class="error-actions">
50
- <Button type="primary" size="large" @click="goBack">
51
- <template #icon>
52
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
53
- <path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"/>
54
- <polyline points="9,22 9,12 15,12 15,22"/>
55
- </svg>
56
- </template>
57
- 返回首页
58
- </Button>
59
- <Button size="large" @click="router.go(-1)">
60
- <template #icon>
61
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
62
- <path d="M19 12H5M12 19l-7-7 7-7"/>
63
- </svg>
64
- </template>
65
- 返回上一页
66
- </Button>
67
- </div>
68
-
69
- <!-- 提示 -->
70
- <div class="error-tip">
71
- <p>可能的原因:</p>
72
- <ul>
73
- <li>您的账号权限不足</li>
74
- <li>该页面需要特定角色才能访问</li>
75
- <li>您的登录状态已过期</li>
76
- </ul>
77
- </div>
78
- </div>
79
- </div>
80
- </div>
81
- </template>
82
-
83
- <style lang="scss" scoped>
84
- .error-page {
85
- width: 100%;
86
- height: 100%;
87
- display: flex;
88
- align-items: center;
89
- justify-content: center;
90
- background: var(--bg-color-page);
91
- position: relative;
92
- overflow: hidden;
93
- }
94
-
95
- .error-container {
96
- position: relative;
97
- z-index: 2;
98
- max-width: 600px;
99
- padding: 40px;
100
- }
101
-
102
- .error-bg {
103
- position: absolute;
104
- inset: 0;
105
- z-index: 1;
106
- overflow: hidden;
107
-
108
- .bg-circle {
109
- position: absolute;
110
- border-radius: 50%;
111
- opacity: 0.1;
112
-
113
- &.circle-1 {
114
- width: 400px;
115
- height: 400px;
116
- top: -100px;
117
- right: -100px;
118
- background: var(--color-warning);
119
- }
120
-
121
- &.circle-2 {
122
- width: 300px;
123
- height: 300px;
124
- bottom: -50px;
125
- left: -50px;
126
- background: var(--color-warning);
127
- }
128
-
129
- &.circle-3 {
130
- width: 200px;
131
- height: 200px;
132
- top: 50%;
133
- left: 50%;
134
- transform: translate(-50%, -50%);
135
- background: var(--color-warning-light);
136
- }
137
- }
138
- }
139
-
140
- .error-content {
141
- text-align: center;
142
- }
143
-
144
- .error-code {
145
- display: flex;
146
- justify-content: center;
147
- align-items: center;
148
- gap: 8px;
149
- margin-bottom: 32px;
150
-
151
- .code-digit {
152
- font-size: 80px;
153
- font-weight: 700;
154
- color: var(--color-text-primary);
155
- line-height: 1;
156
- }
157
-
158
- .code-zero {
159
- position: relative;
160
- width: 80px;
161
- height: 80px;
162
- display: flex;
163
- align-items: center;
164
- justify-content: center;
165
- background: linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-light) 100%);
166
- border-radius: 50%;
167
-
168
- .zero-inner {
169
- font-size: 48px;
170
- font-weight: 700;
171
- color: #fff;
172
- }
173
- }
174
- }
175
-
176
- .error-illustration {
177
- width: 200px;
178
- height: 120px;
179
- margin: 0 auto 24px;
180
- }
181
-
182
- .error-title {
183
- font-size: 24px;
184
- font-weight: 600;
185
- color: var(--color-text-primary);
186
- margin-bottom: 12px;
187
- }
188
-
189
- .error-desc {
190
- font-size: 14px;
191
- color: var(--color-text-secondary);
192
- margin-bottom: 32px;
193
- }
194
-
195
- .error-actions {
196
- display: flex;
197
- justify-content: center;
198
- gap: 16px;
199
- margin-bottom: 32px;
200
-
201
- :deep(.x-button) {
202
- padding: 12px 24px;
203
- border-radius: 8px;
204
-
205
- svg {
206
- width: 18px;
207
- height: 18px;
208
- margin-right: 8px;
209
- }
210
- }
211
- }
212
-
213
- .error-tip {
214
- padding: 20px;
215
- background: var(--color-warning-lighter);
216
- border-radius: var(--border-radius-large);
217
-
218
- p {
219
- font-size: 14px;
220
- font-weight: 500;
221
- color: var(--color-text-primary);
222
- margin-bottom: 12px;
223
- }
224
-
225
- ul {
226
- list-style: none;
227
- padding: 0;
228
- margin: 0;
229
-
230
- li {
231
- font-size: 13px;
232
- color: var(--color-text-secondary);
233
- padding: 4px 0;
234
- position: relative;
235
- padding-left: 16px;
236
-
237
- &:before {
238
- content: '';
239
- position: absolute;
240
- left: 0;
241
- top: 50%;
242
- transform: translateY(-50%);
243
- width: 6px;
244
- height: 6px;
245
- background: var(--color-warning);
246
- border-radius: 50%;
247
- opacity: 0.6;
248
- }
249
- }
250
- }
251
- }
1
+ <script setup lang="ts">
2
+ import { useRouter } from 'vue-router'
3
+ import { Button } from '@xto/base'
4
+
5
+ const router = useRouter()
6
+
7
+ const goBack = () => {
8
+ router.push('/')
9
+ }
10
+ </script>
11
+
12
+ <template>
13
+ <div class="error-page">
14
+ <div class="error-container">
15
+ <!-- 装饰背景 -->
16
+ <div class="error-bg">
17
+ <div class="bg-circle circle-1"></div>
18
+ <div class="bg-circle circle-2"></div>
19
+ <div class="bg-circle circle-3"></div>
20
+ </div>
21
+
22
+ <!-- 内容 -->
23
+ <div class="error-content">
24
+ <div class="error-code">
25
+ <span class="code-digit">4</span>
26
+ <span class="code-zero warning">
27
+ <span class="zero-inner">0</span>
28
+ </span>
29
+ <span class="code-digit">3</span>
30
+ </div>
31
+
32
+ <div class="error-illustration">
33
+ <svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg">
34
+ <!-- 盾牌 -->
35
+ <path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z"
36
+ fill="var(--color-warning-lighter)" stroke="var(--color-warning)" stroke-width="2"/>
37
+ <!-- 锁 -->
38
+ <rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)"/>
39
+ <path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--color-warning)" stroke-width="3"/>
40
+ <!-- 禁止符号 -->
41
+ <circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2"/>
42
+ <line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2"/>
43
+ </svg>
44
+ </div>
45
+
46
+ <h1 class="error-title">无访问权限</h1>
47
+ <p class="error-desc">抱歉,您没有权限访问此页面,请联系管理员获取权限</p>
48
+
49
+ <div class="error-actions">
50
+ <Button type="primary" size="large" @click="goBack">
51
+ <template #icon>
52
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
53
+ <path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"/>
54
+ <polyline points="9,22 9,12 15,12 15,22"/>
55
+ </svg>
56
+ </template>
57
+ 返回首页
58
+ </Button>
59
+ <Button size="large" @click="router.go(-1)">
60
+ <template #icon>
61
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
62
+ <path d="M19 12H5M12 19l-7-7 7-7"/>
63
+ </svg>
64
+ </template>
65
+ 返回上一页
66
+ </Button>
67
+ </div>
68
+
69
+ <!-- 提示 -->
70
+ <div class="error-tip">
71
+ <p>可能的原因:</p>
72
+ <ul>
73
+ <li>您的账号权限不足</li>
74
+ <li>该页面需要特定角色才能访问</li>
75
+ <li>您的登录状态已过期</li>
76
+ </ul>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </template>
82
+
83
+ <style lang="scss" scoped>
84
+ .error-page {
85
+ width: 100%;
86
+ height: 100%;
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ background: var(--bg-color-page);
91
+ position: relative;
92
+ overflow: hidden;
93
+ }
94
+
95
+ .error-container {
96
+ position: relative;
97
+ z-index: 2;
98
+ max-width: 600px;
99
+ padding: 40px;
100
+ }
101
+
102
+ .error-bg {
103
+ position: absolute;
104
+ inset: 0;
105
+ z-index: 1;
106
+ overflow: hidden;
107
+
108
+ .bg-circle {
109
+ position: absolute;
110
+ border-radius: 50%;
111
+ opacity: 0.1;
112
+
113
+ &.circle-1 {
114
+ width: 400px;
115
+ height: 400px;
116
+ top: -100px;
117
+ right: -100px;
118
+ background: var(--color-warning);
119
+ }
120
+
121
+ &.circle-2 {
122
+ width: 300px;
123
+ height: 300px;
124
+ bottom: -50px;
125
+ left: -50px;
126
+ background: var(--color-warning);
127
+ }
128
+
129
+ &.circle-3 {
130
+ width: 200px;
131
+ height: 200px;
132
+ top: 50%;
133
+ left: 50%;
134
+ transform: translate(-50%, -50%);
135
+ background: var(--color-warning-light);
136
+ }
137
+ }
138
+ }
139
+
140
+ .error-content {
141
+ text-align: center;
142
+ }
143
+
144
+ .error-code {
145
+ display: flex;
146
+ justify-content: center;
147
+ align-items: center;
148
+ gap: 8px;
149
+ margin-bottom: 32px;
150
+
151
+ .code-digit {
152
+ font-size: 80px;
153
+ font-weight: 700;
154
+ color: var(--color-text-primary);
155
+ line-height: 1;
156
+ }
157
+
158
+ .code-zero {
159
+ position: relative;
160
+ width: 80px;
161
+ height: 80px;
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+ background: linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-light) 100%);
166
+ border-radius: 50%;
167
+
168
+ .zero-inner {
169
+ font-size: 48px;
170
+ font-weight: 700;
171
+ color: #fff;
172
+ }
173
+ }
174
+ }
175
+
176
+ .error-illustration {
177
+ width: 200px;
178
+ height: 120px;
179
+ margin: 0 auto 24px;
180
+ }
181
+
182
+ .error-title {
183
+ font-size: 24px;
184
+ font-weight: 600;
185
+ color: var(--color-text-primary);
186
+ margin-bottom: 12px;
187
+ }
188
+
189
+ .error-desc {
190
+ font-size: 14px;
191
+ color: var(--color-text-secondary);
192
+ margin-bottom: 32px;
193
+ }
194
+
195
+ .error-actions {
196
+ display: flex;
197
+ justify-content: center;
198
+ gap: 16px;
199
+ margin-bottom: 32px;
200
+
201
+ :deep(.x-button) {
202
+ padding: 12px 24px;
203
+ border-radius: 8px;
204
+
205
+ svg {
206
+ width: 18px;
207
+ height: 18px;
208
+ margin-right: 8px;
209
+ }
210
+ }
211
+ }
212
+
213
+ .error-tip {
214
+ padding: 20px;
215
+ background: var(--color-warning-lighter);
216
+ border-radius: var(--border-radius-large);
217
+
218
+ p {
219
+ font-size: 14px;
220
+ font-weight: 500;
221
+ color: var(--color-text-primary);
222
+ margin-bottom: 12px;
223
+ }
224
+
225
+ ul {
226
+ list-style: none;
227
+ padding: 0;
228
+ margin: 0;
229
+
230
+ li {
231
+ font-size: 13px;
232
+ color: var(--color-text-secondary);
233
+ padding: 4px 0;
234
+ position: relative;
235
+ padding-left: 16px;
236
+
237
+ &:before {
238
+ content: '';
239
+ position: absolute;
240
+ left: 0;
241
+ top: 50%;
242
+ transform: translateY(-50%);
243
+ width: 6px;
244
+ height: 6px;
245
+ background: var(--color-warning);
246
+ border-radius: 50%;
247
+ opacity: 0.6;
248
+ }
249
+ }
250
+ }
251
+ }
252
252
  </style>