+
@@ -131,6 +141,16 @@ const groups = computed(() => matter.value.groups || [])
}
}
+@media (min-width: 1280px) {
+ .vp-friends.cols-large {
+ max-width: 1152px;
+ }
+
+ .friends-list {
+ grid-template-columns: repeat(var(--vp-friends-cols), minmax(0, 1fr));
+ }
+}
+
.edit-link-button {
display: flex;
align-items: center;
diff --git a/theme/src/client/components/VPFriendsGroup.vue b/theme/src/client/components/VPFriendsGroup.vue
index 6cbd57d6..cd81c2a0 100644
--- a/theme/src/client/components/VPFriendsGroup.vue
+++ b/theme/src/client/components/VPFriendsGroup.vue
@@ -74,4 +74,10 @@ const { group } = defineProps<{
padding: 0;
}
}
+
+@media (min-width: 1280px) {
+ .friends-list {
+ grid-template-columns: repeat(var(--vp-friends-cols), minmax(0, 1fr));
+ }
+}
diff --git a/theme/src/client/components/VPFriendsItem.vue b/theme/src/client/components/VPFriendsItem.vue
index 0a1f5ad4..47b6e22b 100644
--- a/theme/src/client/components/VPFriendsItem.vue
+++ b/theme/src/client/components/VPFriendsItem.vue
@@ -67,9 +67,14 @@ const friendStyle = computed(() => {
margin-bottom: 8px;
background-color: var(--vp-friends-bg-color);
border-radius: 6px;
+ box-shadow: 0 0 0 transparent;
transition: all var(--vp-t-color);
}
+.vp-friend:hover {
+ box-shadow: var(--vp-shadow-2);
+}
+
.avatar {
width: 88px;
height: 88px;
@@ -96,7 +101,7 @@ const friendStyle = computed(() => {
.content .title {
padding-bottom: 8px;
- font-size: 24px;
+ font-size: 20px;
font-weight: 700;
color: var(--vp-friends-name-color);
transition: color var(--vp-t-color), border-bottom var(--vp-t-color);
diff --git a/theme/src/client/styles/vars.css b/theme/src/client/styles/vars.css
index 7967a50a..8c95f68d 100644
--- a/theme/src/client/styles/vars.css
+++ b/theme/src/client/styles/vars.css
@@ -529,7 +529,7 @@
* Component: Friends
* -------------------------------------------------------------------------- */
:root {
- --vp-friends-text-color: var(--vp-c-text-1);
+ --vp-friends-text-color: var(--vp-c-text-2);
--vp-friends-bg-color: var(--vp-c-bg-alt);
--vp-friends-name-color: var(--vp-c-text-2);
}
diff --git a/theme/src/shared/frontmatter/friends.ts b/theme/src/shared/frontmatter/friends.ts
index 6c59b974..22d11273 100644
--- a/theme/src/shared/frontmatter/friends.ts
+++ b/theme/src/shared/frontmatter/friends.ts
@@ -94,4 +94,10 @@ export interface ThemeFriendsFrontmatter extends ThemeNormalFrontmatter {
* 友链分组
*/
groups?: FriendGroup[]
+
+ /**
+ * 最大列数
+ * @default 2
+ */
+ cols?: number
}