Skip to content

Commit 1325c88

Browse files
committed
Fix trick modal info layout
1 parent 62a7945 commit 1325c88

1 file changed

Lines changed: 76 additions & 58 deletions

File tree

frontend/src/pages/ExtraPage.vue

Lines changed: 76 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -308,66 +308,71 @@
308308
</header>
309309

310310
<div class="trick-modal-body">
311-
<h3
312-
class="trick-modal-title"
313-
v-html="renderInlineMarkdown(selectedTrick.title || '未命名 trick')"
314-
></h3>
315-
316-
<div class="trick-modal-meta">
317-
<span>发布者:{{ selectedTrick.author?.username || "-" }}</span>
318-
<span>发布时间:{{ formatTime(selectedTrick.created_at) }}</span>
319-
<span>点赞:{{ selectedTrick.like_count || 0 }}</span>
320-
</div>
311+
<section class="trick-modal-overview">
312+
<h3
313+
class="trick-modal-title"
314+
v-html="renderInlineMarkdown(selectedTrick.title || '未命名 trick')"
315+
></h3>
316+
317+
<div class="trick-modal-meta">
318+
<span>发布者:{{ selectedTrick.author?.username || "-" }}</span>
319+
<span>发布时间:{{ formatTime(selectedTrick.created_at) }}</span>
320+
<span>点赞:{{ selectedTrick.like_count || 0 }}</span>
321+
</div>
321322

322-
<div class="trick-card-keywords" v-if="selectedTrick.keywords?.length">
323-
<span
324-
v-for="keyword in selectedTrick.keywords"
325-
:key="`modal-keyword-${selectedTrick.id}-${keyword}`"
326-
class="trick-keyword-chip"
323+
<div
324+
class="trick-card-keywords trick-modal-keywords"
325+
v-if="selectedTrick.keywords?.length"
327326
>
328-
{{ keyword }}
329-
</span>
330-
</div>
327+
<span
328+
v-for="keyword in selectedTrick.keywords"
329+
:key="`modal-keyword-${selectedTrick.id}-${keyword}`"
330+
class="trick-keyword-chip"
331+
>
332+
{{ keyword }}
333+
</span>
334+
</div>
331335

332-
<div
333-
class="trick-action-row trick-modal-manage"
334-
v-if="
335-
canEditTrick(selectedTrick) ||
336-
canDeleteTrick(selectedTrick) ||
337-
canModerateTrick(selectedTrick)
338-
"
339-
>
340-
<button
341-
class="btn btn-mini"
342-
v-if="canEditTrick(selectedTrick)"
343-
@click.stop="startEditTrick(selectedTrick)"
344-
>
345-
{{
346-
editingTrickId === selectedTrick.id ? "取消编辑" : "编辑"
347-
}}
348-
</button>
349-
<button
350-
class="btn btn-mini"
351-
v-if="canDeleteTrick(selectedTrick)"
352-
@click.stop="deleteTrick(selectedTrick)"
353-
>
354-
删除
355-
</button>
356-
<button
357-
class="btn btn-mini"
358-
v-if="canModerateTrick(selectedTrick)"
359-
@click.stop="setTrickStatus(selectedTrick, 'approved')"
360-
>
361-
通过
362-
</button>
363-
<button
364-
class="btn btn-mini"
365-
v-if="canModerateTrick(selectedTrick)"
366-
@click.stop="setTrickStatus(selectedTrick, 'rejected')"
336+
<div
337+
class="trick-action-row trick-modal-manage"
338+
v-if="
339+
canEditTrick(selectedTrick) ||
340+
canDeleteTrick(selectedTrick) ||
341+
canModerateTrick(selectedTrick)
342+
"
367343
>
368-
拒绝
369-
</button>
370-
</div>
344+
<button
345+
class="btn btn-mini"
346+
v-if="canEditTrick(selectedTrick)"
347+
@click.stop="startEditTrick(selectedTrick)"
348+
>
349+
{{
350+
editingTrickId === selectedTrick.id ? "取消编辑" : "编辑"
351+
}}
352+
</button>
353+
<button
354+
class="btn btn-mini"
355+
v-if="canDeleteTrick(selectedTrick)"
356+
@click.stop="deleteTrick(selectedTrick)"
357+
>
358+
删除
359+
</button>
360+
<button
361+
class="btn btn-mini"
362+
v-if="canModerateTrick(selectedTrick)"
363+
@click.stop="setTrickStatus(selectedTrick, 'approved')"
364+
>
365+
通过
366+
</button>
367+
<button
368+
class="btn btn-mini"
369+
v-if="canModerateTrick(selectedTrick)"
370+
@click.stop="setTrickStatus(selectedTrick, 'rejected')"
371+
>
372+
拒绝
373+
</button>
374+
</div>
375+
</section>
371376

372377
<div
373378
v-if="editingTrickId === selectedTrick.id"
@@ -1833,6 +1838,7 @@ onMounted(async () => {
18331838
color: #475569;
18341839
background: rgba(148, 163, 184, 0.16);
18351840
border: 1px solid rgba(148, 163, 184, 0.18);
1841+
word-break: break-word;
18361842
}
18371843
18381844
.trick-keyword-chip--muted {
@@ -1959,12 +1965,18 @@ onMounted(async () => {
19591965
flex: 1 1 auto;
19601966
padding: 18px 26px 14px;
19611967
display: grid;
1962-
gap: 12px;
1968+
gap: 18px;
19631969
min-height: 0;
19641970
overflow-y: auto;
19651971
overscroll-behavior: contain;
19661972
}
19671973
1974+
.trick-modal-overview {
1975+
display: grid;
1976+
gap: 12px;
1977+
min-width: 0;
1978+
}
1979+
19681980
.trick-modal-title {
19691981
margin: 0;
19701982
font-size: clamp(24px, 3vw, 34px);
@@ -1988,13 +2000,19 @@ onMounted(async () => {
19882000
font-size: 14px;
19892001
}
19902002
1991-
.trick-modal-body > .trick-card-keywords {
2003+
.trick-modal-keywords {
19922004
min-height: 0;
19932005
gap: 6px;
2006+
padding: 2px 0 0;
19942007
}
19952008
19962009
.trick-modal-manage {
19972010
margin: 0;
2011+
padding: 12px 14px;
2012+
border-radius: 18px;
2013+
border: 1px solid color-mix(in srgb, var(--hairline) 84%, transparent);
2014+
background: color-mix(in srgb, var(--surface-soft) 84%, transparent);
2015+
align-items: flex-start;
19982016
}
19992017
20002018
.trick-detail-markdown {

0 commit comments

Comments
 (0)