UI Refresh

This commit is contained in:
pa
2026-01-02 22:24:28 +09:00
committed by Natsumi
parent b02d287190
commit 00745b54f1
120 changed files with 3931 additions and 2015 deletions
+17 -17
View File
@@ -32,7 +32,7 @@
<el-slider
v-model="cardScale"
class="friend-view__slider"
:min="0.6"
:min="0.5"
:max="1.0"
:step="0.01"
:show-tooltip="false" />
@@ -45,8 +45,8 @@
<el-slider
v-model="cardSpacing"
class="friend-view__slider"
:min="0.5"
:max="1.5"
:min="0.25"
:max="1.0"
:step="0.05"
:show-tooltip="false" />
</div>
@@ -688,7 +688,7 @@
});
</script>
<style scoped lang="scss">
<style scoped>
.friend-view {
display: grid;
grid-template-rows: auto 1fr;
@@ -699,12 +699,12 @@
display: flex;
gap: 20px;
align-items: center;
padding: 6px 10px 0 2px;
padding: 6px 2px 0 2px;
}
.friend-view__toolbar--loading {
justify-content: flex-end;
color: rgba(15, 23, 42, 0.55);
color: var(--el-text-color-secondary);
font-size: 13px;
font-weight: 500;
}
@@ -720,7 +720,7 @@
flex: 1;
flex-wrap: wrap;
justify-content: flex-end;
color: rgba(15, 23, 42, 0.65);
color: var(--el-text-color-regular);
}
.friend-view__settings-label {
@@ -746,7 +746,7 @@
.friend-view__scale-value {
font-size: 12px;
font-weight: 600;
color: rgba(15, 23, 42, 0.55);
color: var(--el-text-color-secondary);
min-width: 42px;
text-align: right;
}
@@ -762,14 +762,14 @@
}
.friend-view__scroll {
padding: 2px 10px 2px 2px;
padding: 2px;
}
.friend-view__initial-loading {
display: grid;
place-items: center;
min-height: 240px;
color: rgba(15, 23, 42, 0.45);
color: var(--el-text-color-secondary);
}
.friend-view__grid {
@@ -780,7 +780,7 @@
);
gap: var(--friend-card-gap, 18px);
justify-content: start;
padding-right: 2px;
padding: 2px;
}
.friend-view__instances {
@@ -802,7 +802,7 @@
margin: 5px 10px;
font-weight: 600;
font-size: 13px;
color: rgba(15, 23, 42, 0.75);
color: var(--el-text-color-primary);
}
.friend-view__divider {
@@ -810,7 +810,7 @@
align-items: center;
gap: 12px;
margin: 16px 4px;
color: rgba(15, 23, 42, 0.6);
color: var(--el-text-color-regular);
font-size: 13px;
font-weight: 600;
}
@@ -820,7 +820,7 @@
content: '';
flex: 1;
height: 1px;
background: rgba(148, 163, 184, 0.35);
background: var(--el-border-color);
}
.friend-view__divider-text {
@@ -829,14 +829,14 @@
.friend-view__instance-count {
font-size: 12px;
color: rgba(15, 23, 42, 0.45);
color: var(--el-text-color-secondary);
}
.friend-view__empty {
display: grid;
place-items: center;
min-height: 240px;
color: rgba(0, 0, 0, 0.45);
color: var(--el-text-color-secondary);
font-size: 15px;
letter-spacing: 0.5px;
}
@@ -847,7 +847,7 @@
justify-content: center;
gap: 8px;
padding: 18px 0 12px;
color: rgba(0, 0, 0, 0.55);
color: var(--el-text-color-secondary);
font-size: 14px;
}
@@ -12,11 +12,11 @@
</el-avatar>
</div>
<span class="friend-card__status-dot" :class="statusDotClass"></span>
<div class="friend-card__name" :title="friend.name">{{ friend.name }}</div>
<div class="friend-card__name ml-0.5" :title="friend.name">{{ friend.name }}</div>
</div>
<div class="friend-card__body">
<div class="friend-card__signature" :title="friend.ref?.statusDescription">
<i v-if="friend.ref?.statusDescription" class="ri-pencil-line" style="opacity: 0.7"></i>
<i v-if="friend.ref?.statusDescription" class="ri-pencil-line mr-0.5" style="opacity: 0.7"></i>
{{ friend.ref?.statusDescription || '&nbsp;' }}
</div>
<div v-if="displayInstanceInfo" @click.stop class="friend-card__world" :title="friend.worldName">
@@ -87,17 +87,17 @@
});
</script>
<style scoped lang="scss">
<style scoped>
.friend-card {
--card-scale: 1;
--card-spacing: 1;
position: relative;
display: grid;
gap: calc(14px * var(--card-scale) * var(--card-spacing));
border-radius: calc(8px * var(--card-scale));
background: #fff;
border-radius: 8px;
background: var(--el-bg-color-overlay);
border: 1px solid var(--el-border-color);
box-shadow: 0 calc(6px * var(--card-scale)) calc(16px * var(--card-scale)) rgba(15, 23, 42, 0.04);
box-shadow: var(--el-box-shadow-lighter);
transition:
box-shadow 0.2s ease,
transform 0.2s ease;
@@ -105,7 +105,7 @@
min-width: var(--friend-card-min-width, 220px);
&:hover {
box-shadow: 0 calc(10px * var(--card-scale)) calc(24px * var(--card-scale)) rgba(15, 23, 42, 0.07);
box-shadow: var(--el-box-shadow-light);
transform: translateY(calc(-2px * var(--card-scale)));
}
}
@@ -123,8 +123,8 @@
}
.friend-card__avatar {
border: 1px solid rgba(255, 255, 255, 0.85);
box-shadow: 0 calc(5px * var(--card-scale)) calc(10px * var(--card-scale)) rgba(15, 23, 42, 0.14);
border: 1px solid var(--el-border-color);
box-shadow: var(--el-box-shadow-lighter);
}
.friend-card__status-dot {
@@ -134,8 +134,8 @@
inline-size: calc(12px * var(--card-scale));
block-size: calc(12px * var(--card-scale));
border-radius: 999px;
border: calc(2px * var(--card-scale)) solid #fff;
box-shadow: 0 0 calc(4px * var(--card-scale)) rgba(15, 23, 42, 0.12);
border: calc(2px * var(--card-scale)) solid var(--el-bg-color-overlay);
box-shadow: var(--el-box-shadow-lighter);
pointer-events: none;
}
@@ -144,23 +144,23 @@
}
.friend-card__status-dot--online {
background: linear-gradient(145deg, #67c23a, #4aa12d);
box-shadow: 0 0 calc(8px * var(--card-scale)) rgba(103, 194, 58, 0.4);
background: #67c23a;
box-shadow: 0 0 calc(8px * var(--card-scale)) color-mix(in oklch, #67c23a 40%, transparent);
}
.friend-card__status-dot--join {
background: linear-gradient(145deg, #409eff, #2f7ed9);
box-shadow: 0 0 calc(8px * var(--card-scale)) rgba(64, 158, 255, 0.4);
background: #409eff;
box-shadow: 0 0 calc(8px * var(--card-scale)) color-mix(in oklch, #409eff 40%, transparent);
}
.friend-card__status-dot--busy {
background: linear-gradient(145deg, #ff2c2c, #d81f1f);
box-shadow: 0 0 calc(8px * var(--card-scale)) rgba(255, 44, 44, 0.4);
background: #ff2c2c;
box-shadow: 0 0 calc(8px * var(--card-scale)) color-mix(in oklch, #ff2c2c 40%, transparent);
}
.friend-card__status-dot--ask {
background: linear-gradient(145deg, #ff9500, #d97800);
box-shadow: 0 0 calc(8px * var(--card-scale)) rgba(255, 149, 0, 0.4);
background: #ff9500;
box-shadow: 0 0 calc(8px * var(--card-scale)) color-mix(in oklch, #ff9500 40%, transparent);
}
.friend-card__body {
@@ -171,7 +171,7 @@
.friend-card__name {
font-size: calc(17px * var(--card-scale));
font-weight: 600;
color: #1f2937;
color: var(--el-text-color-primary);
line-height: 1.2;
overflow: hidden;
text-overflow: ellipsis;
@@ -181,7 +181,7 @@
.friend-card__signature {
margin-top: calc(6px * var(--card-spacing));
font-size: calc(13px * var(--card-scale));
color: rgba(31, 41, 55, 0.7);
color: var(--el-text-color-secondary);
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
@@ -194,12 +194,21 @@
justify-content: center;
min-height: calc(40px * var(--card-scale));
padding: calc(6px * var(--card-scale)) calc(10px * var(--card-scale));
border-radius: calc(12px * var(--card-scale));
background: rgba(148, 163, 184, 0.18);
color: rgba(71, 85, 105, 0.95);
border-radius: calc(10px * var(--card-scale));
background: var(--el-fill-color);
color: var(--el-text-color-regular);
font-size: calc(12px * var(--card-scale));
line-height: 1.3;
box-sizing: border-box;
max-width: 100%;
min-width: 0;
overflow: hidden;
}
:global(html.dark) .friend-card__world,
:global(:root.dark) .friend-card__world,
:global(:root[data-theme='dark']) .friend-card__world {
color: var(--color-zinc-300);
}
.friend-card__location {