feat: add theme radius customization

This commit is contained in:
jxxghp
2026-06-05 23:06:10 +08:00
parent a73c28c1f7
commit f3c524b6b5
34 changed files with 231 additions and 52 deletions

View File

@@ -75,7 +75,6 @@ async function deleteDownload() {
<VCard
:key="props.info?.hash"
class="downloading-card flex flex-col h-full overflow-hidden"
rounded="lg"
min-height="150"
>
<template #image>
@@ -133,11 +132,11 @@ async function deleteDownload() {
// 外层壳承载主题阴影,避免 VCard 的圆角裁切层影响阴影外扩。
.downloading-card-shadow-shell {
position: relative;
border-radius: 8px;
border-radius: var(--app-surface-radius);
block-size: 100%;
box-shadow: var(--app-surface-shadow);
inline-size: 100%;
transition: box-shadow 0.2s ease;
transition: border-radius 0.2s ease, box-shadow 0.2s ease;
}
@media (hover: hover) {

View File

@@ -137,7 +137,7 @@ function handleDropToFolder(event: DragEvent) {
&.sortable-ghost {
border: 2px dashed #2196f3;
border-radius: 16px;
border-radius: var(--app-surface-radius);
background: rgba(33, 150, 243, 10%);
opacity: 0.3;
}
@@ -151,7 +151,7 @@ function handleDropToFolder(event: DragEvent) {
&.drag-over {
border: 2px dashed #2196f3;
border-radius: 16px;
border-radius: var(--app-surface-radius);
box-shadow: 0 0 20px rgba(33, 150, 243, 50%);
transform: scale(1.02);
}

View File

@@ -255,7 +255,6 @@ onMounted(() => {
:ripple="false"
variant="flat"
elevation="0"
rounded="lg"
:hover="!cardProps.sortable"
@click="handleCardClick"
>

View File

@@ -404,7 +404,7 @@ function handleCardClick() {
<VHover>
<template #default="hover">
<div
class="w-full h-full rounded-lg relative"
class="subscribe-card-shell w-full h-full relative"
:class="{
'transition transform-cpu duration-300 -translate-y-1': hover.isHovering && !props.sortable,
'outline-dotted outline-pink-500 outline-2': props.batchMode && props.selected,
@@ -419,7 +419,6 @@ function handleCardClick() {
'subscribe-card-paused': subscribeState === 'S',
'cursor-move': props.sortable,
}"
rounded="lg"
min-height="150"
@click="handleCardClick"
:ripple="!props.batchMode && !props.sortable"
@@ -594,10 +593,14 @@ function handleCardClick() {
position: relative;
}
.subscribe-card-shell {
border-radius: var(--app-surface-radius);
}
.subscribe-card-pending-tint::after {
position: absolute;
z-index: 3;
border-radius: 8px;
border-radius: inherit;
box-shadow: inset 0 0 48px rgba(56, 189, 248, 40%); // sky-400
content: '';
inset: 0;

View File

@@ -94,7 +94,7 @@ function doDelete() {
<VHover>
<template #default="hover">
<div
class="w-full h-full rounded-lg overflow-hidden"
class="w-full h-full overflow-hidden"
:class="{
'transition transform-cpu duration-300 -translate-y-1': hover.isHovering,
}"
@@ -103,7 +103,6 @@ function doDelete() {
v-bind="hover.props"
:key="props.media?.id"
class="flex flex-col h-full"
rounded="0"
min-height="150"
@click="showForkSubscribe"
>

View File

@@ -102,7 +102,6 @@ function doDelete() {
:class="{
'workflow-share-card--hovering': hover.isHovering,
}"
rounded="lg"
min-height="150"
:style="{ background: gradientStyle }"
@click="showForkWorkflow"