blob: d0b10c8abff877a5a55d43892a3ee1d7e6565998 [file] [log] [blame]
lfmylbhf1783a092025-06-07 20:05:22 +08001@import '../globals.scss';
2
lfmylbhf789e7172025-06-06 18:37:21 +08003//全局容器样式
4.user-container {
5 max-width: 1200px;
6 margin: 0 auto;
7 padding: 0 2rem;
8
9 .p-tabview-title {
10 font-size: 20px;
11 }
12}
13
14//个人信息样式
15.user-profile-card {
16 display: flex;
17
18 .user-avatar {
19 height: 200px;
20 width: 200px;
21 margin: 30px;
22 }
23 .user-info {
24 width: 796px;
25 position: relative;
26 margin-top: 22px;
27
28 .user-detail-info {
29 display: flex;
30 justify-content: space-between;
31
32 .name-container {
33 width: 750px;
34 margin-left: 1rem;
35 .name {
36 font-size: 43px;
37 margin-bottom: 3px;
38 }
39
40 .signature {
41 margin-top: 0;
42 font-size: 20px;
43 }
44 }
45
46 .stats-container {
47 display: flex;
48 flex-wrap: wrap; // 允许换行
49 margin-top: 60px;
50
51 .stats {
52 width: 50%;
53 display: flex;
54 flex-direction: row;
55 align-items: center;
56 margin-bottom: 16px;
57
58 // 左上角:粉丝
59 &:nth-child(1) {
60 justify-content: flex-start; // 左对齐
61 }
62
63 // 右上角:累计上传量
64 &:nth-child(2) {
65 justify-content: flex-end; // 右对齐
66 }
67
68 // 左下角:关注
69 &:nth-child(3) {
70 justify-content: flex-start; // 左对齐
71 }
72
73 // 右下角:累计被下载量
74 &:nth-child(4) {
75 justify-content: flex-end; // 右对齐
76 }
77
78 .stats-label {
79 font-size: 18px;
80 color: #666;
81 margin-right: 4px;
82 white-space: nowrap;
83 }
84
85 .stats-value {
86 font-size: 20px;
87 font-weight: bold;
88 color: #333;
89 }
90 }
91 }
92 }
93
94 .action-button {
95 align-self: flex-end; // 底部对齐
96 margin-top: auto; // 自动上边距将其推到底部
97 // 固定位置:
98 position: absolute;
99 right: 0;
100 bottom: 10px;
101 }
102 }
103}
104
105
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800106.p-tabview-panels {
107 padding-top: 0;
lfmylbhf789e7172025-06-06 18:37:21 +0800108}
109
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800110.homepage-item {
111 //每一模块的首部样式
112 .section-header {
113 display: flex;
114 justify-content: space-between;
115 align-items: center;
116 margin-top: 20px;
117 }
lfmylbhf789e7172025-06-06 18:37:21 +0800118
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800119 //每个模块中的资源样式
120 .resource-grid {
121 display: grid;
122 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
123 gap: 1rem;
lfmylbhf789e7172025-06-06 18:37:21 +0800124
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800125 .resource-card {
126 transition: transform 0.2s ease;
127 cursor: pointer;
128 box-shadow: none !important;
129
130 .p-image {
131 img {
132 border-radius: 0.5rem 0.5rem 0 0;
133 object-fit: cover;
134 }
lfmylbhf789e7172025-06-06 18:37:21 +0800135 }
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800136
137 .p-card-body {
138 padding: 0;
139 }
140
141 .p-card-content {
142 padding: 0;
143 }
144
145 &:hover {
146 transform: translateY(-4px);
147 }
148
149 .card-content {
150 display: flex;
151 flex-direction: column;
152 position: relative;
153 margin-left: 16px;
154 margin-right: 16px;
155 margin-bottom: 16px;
156
157 h3 {
158 margin: 1rem 0;
159 font-size: 1rem;
160 line-height: 1.5;
161 color: #2d3748;
162 }
163
164 .view-count {
165 position: absolute;
166 bottom: 0rem;
167 right: 0rem;
168 display: flex;
169 align-items: center;
170 gap: 0.5rem;
171 color: #718096;
172 font-size: 0.9rem;
173 }
174 }
175 }
176 }
177}
178
179
180.resources-list {
181 width: 100%;
182 padding: 1rem;
183
184 &-card {
185 height: 140px;
186 padding: 1.5rem;
187 margin-bottom: 1rem;
188 border-radius: 0.5rem;
189 transition: transform 0.3s ease;
190 box-shadow: none !important; // 取消阴影
191
192 //填充卡片
193 &.p-card.p-component {
194 padding: 0;
lfmylbhf789e7172025-06-06 18:37:21 +0800195 }
196
197 .p-card-body {
198 padding: 0;
199 }
200
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800201 &:hover {
202 transform: translateY(-3px);
203 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
204 }
205
lfmylbhf789e7172025-06-06 18:37:21 +0800206 .p-card-content {
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800207 height: 140px;
208 display: flex;
209 justify-content: space-between;
lfmylbhf789e7172025-06-06 18:37:21 +0800210 padding: 0;
211 }
212
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800213 img {
214 border-radius: 0.5rem 0 0 0.5rem;
215 object-fit: cover;
lfmylbhf789e7172025-06-06 18:37:21 +0800216 }
217
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800218
219 .resource-avatar {
220 width: 80px;
221 height: 80px;
222 border-radius: 8px;
223 object-fit: cover;
224 }
225
226 .resource-header {
227 display: flex;
228 flex: 1;
229 max-width: 850px;
230 padding-left: 20px;
231 padding-right: 20px;
232 margin-bottom: 20px;
233 }
234
235 .resource-content {
236 flex: 1;
lfmylbhf789e7172025-06-06 18:37:21 +0800237 display: flex;
238 flex-direction: column;
lfmylbhf789e7172025-06-06 18:37:21 +0800239
240 h3 {
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800241 font-size: 1.5rem;
242 font-weight: bold;
243 color: #2c3e50;
lfmylbhf789e7172025-06-06 18:37:21 +0800244 }
245
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800246
247 }
248
249 .resource-operation {
250 min-width: 240px;
251 display: flex;
252 flex-direction: row;
253 justify-content: flex-end;
254 align-items: flex-end;
255 gap: 1rem;
lfmylbhf789e7172025-06-06 18:37:21 +0800256 }
257 }
258}
259
260
261
lfmylbhf1783a092025-06-07 20:05:22 +0800262//发布资源弹窗样式
263.publish-dialog {
264 width: 600px !important;
265 max-width: 90vw;
266
267 .p-dialog-header {
268 font-size: 1.5rem;
269 font-weight: bold;
270 color: $heading-color;
271 padding-bottom: 0.5rem;
272 }
273
274 .p-dialog-content {
275 padding-top: 0;
276 padding-bottom: 0;
277
278 .publish-form {
279 display: flex;
280 flex-direction: column;
281 gap: 1.5rem;
282 margin-top: 1rem;
283
284 .form-field {
285 display: flex;
286 flex-direction: column;
287 gap: 0.5rem;
288
289 .form-field-header {
290
291 //*号的样式
292 .form-field-sign {
293 color: red;
294 margin-right: 5px;
295 }
296 }
297
298 label {
299 font-weight: 600;
300 color: $heading-color;
301 }
302
303 input,
304 textarea {
305 padding: 0.75rem 1rem;
306 border-radius: 8px;
307 font-size: 1rem;
308 color: #2d3748;
309 }
310
311
312 .p-fileupload {
313 .p-button {
314 width: 100%;
315 justify-content: center;
316 border: none;
317 margin-bottom: 1rem;
318 }
319 }
320
321 //资源分类样式
322 .form-field-classify {
323 display: flex;
324 justify-content: space-between;
325
326 .ml-2 {
327 margin-left: 10px;
328 }
329 }
330 }
331 }
332 }
333}
334
lfmylbhfa9fa5c82025-06-09 00:34:49 +0800335//删除资源弹窗样式
336.resource-delete-dialog {
337 width: 350px !important;
338 max-width: 90vw;
339
340 .dialog-footer {
341 margin-top: 10px;
342 display: flex;
343 justify-content: center;
344 }
345
346 .p-dialog-header {
347 font-size: 1.5rem;
348 font-weight: bold;
349 color: $heading-color;
350 padding-bottom: 0.5rem;
351 }
352
353 .p-dialog-content {
354 padding-top: 0;
355 padding-bottom: 0;
356
357 .dialog-form {
358 display: flex;
359 flex-direction: column;
360 gap: 1.5rem;
361 margin-top: 1rem;
362
363 .form-field {
364 display: flex;
365 flex-direction: column;
366 gap: 0.5rem;
367
368 label {
369 font-weight: 600;
370 color: $heading-color;
371 }
372
373 input,
374 textarea{
375 padding: 0.75rem 1rem;
376 border-radius: 8px;
377 font-size: 1rem;
378 color: #2d3748;
379 }
380
381 }
382 }
383 }
384}
385
386//资源编辑弹窗样式
387.resource-edit-dialog {
388 width: 600px !important;
389 max-width: 90vw;
390
391 .dialog-footer {
392 margin-top: 10px;
393 display: flex;
394 justify-content: center;
395 }
396
397 .p-dialog-header {
398 font-size: 1.5rem;
399 font-weight: bold;
400 color: $heading-color;
401 padding-bottom: 0.5rem;
402 }
403
404 .p-dialog-content {
405 padding-top: 0;
406 padding-bottom: 0;
407
408 .dialog-form {
409 display: flex;
410 flex-direction: column;
411 gap: 1.5rem;
412 margin-top: 1rem;
413
414 .form-field {
415 display: flex;
416 flex-direction: column;
417 gap: 0.5rem;
418
419 label {
420 font-weight: 600;
421 color: $heading-color;
422 }
423
424 input,
425 textarea{
426 padding: 0.75rem 1rem;
427 border-radius: 8px;
428 font-size: 1rem;
429 color: #2d3748;
430 }
431
432 .p-fileupload {
433 .p-button {
434 width: 100%;
435 justify-content: center;
436 border: none;
437 margin-bottom: 1rem;
438 }
439 }
440 }
441 }
442 }
443}
444
lfmylbhf1783a092025-06-07 20:05:22 +0800445
446